ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/ant/DeployTask.java

Path
ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/ant/DeployTask.java
Status
scanned
Type
file
Name
DeployTask.java
Extension
.java
Programming language
Java
Mime type
text/plain
File type
ASCII text, with CRLF line terminators
Tag

      
    
Rootfs path

      
    
Size
6079 (5.9 KB)
MD5
29b60047cd0a4bb92f9698c495d2b987
SHA1
9caca7cf8dfb288cc83fb69e89a9a32485433c94
SHA256
dbb81fc05c604a07b5e8efac5b58198e5e1478dd1561db68d1a34564c968bef7
SHA512

      
    
SHA1_git
31e0dbc91acc373b88bd425d181dfa2c9222951f
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
DeployTask.java | 5.9 KB |

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.catalina.ant; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; import java.net.URLConnection; import java.net.URLEncoder; import java.nio.channels.FileChannel; import java.util.regex.Pattern; import org.apache.tools.ant.BuildException; /** * Ant task that implements the <code>/deploy</code> command, supported by the Tomcat manager application. * * @since 4.1 */ public class DeployTask extends AbstractCatalinaCommandTask { private static final Pattern PROTOCOL_PATTERN = Pattern.compile("\\w{3,5}\\:"); /** * URL of the context configuration file for this application, if any. */ protected String config = null; public String getConfig() { return this.config; } public void setConfig(String config) { this.config = config; } /** * URL of the server local web application archive (WAR) file to be deployed. */ protected String localWar = null; public String getLocalWar() { return this.localWar; } public void setLocalWar(String localWar) { this.localWar = localWar; } /** * Tag to associate with this to be deployed webapp. */ protected String tag = null; public String getTag() { return this.tag; } public void setTag(String tag) { this.tag = tag; } /** * Update existing webapps. */ protected boolean update = false; public boolean getUpdate() { return this.update; } public void setUpdate(boolean update) { this.update = update; } /** * URL of the web application archive (WAR) file to be deployed. */ protected String war = null; public String getWar() { return this.war; } public void setWar(String war) { this.war = war; } /** * Execute the requested operation. * * @exception BuildException if an error occurs */ @Override public void execute() throws BuildException { super.execute(); if (path == null) { throw new BuildException("Must specify 'path' attribute"); } if ((war == null) && (localWar == null) && (config == null) && (tag == null)) { throw new BuildException("Must specify either 'war', 'localWar', 'config', or 'tag' attribute"); } // Building an input stream on the WAR to upload, if any BufferedInputStream stream = null; String contentType = null; long contentLength = -1; if (war != null) { if (PROTOCOL_PATTERN.matcher(war).lookingAt()) { try { URI uri = new URI(war); URLConnection conn = uri.toURL().openConnection(); contentLength = conn.getContentLengthLong(); stream = new BufferedInputStream(conn.getInputStream(), 1024); } catch (IOException | URISyntaxException e) { throw new BuildException(e); } } else { FileInputStream fsInput = null; try { fsInput = new FileInputStream(war); FileChannel fsChannel = fsInput.getChannel(); contentLength = fsChannel.size(); stream = new BufferedInputStream(fsInput, 1024); } catch (IOException ioe) { if (fsInput != null) { try { fsInput.close(); } catch (IOException ignore) { // Ignore } } throw new BuildException(ioe); } } contentType = "application/octet-stream"; } // Building URL StringBuilder sb = createQueryString("/deploy"); try { if ((war == null) && (config != null)) { sb.append("&config="); sb.append(URLEncoder.encode(config, getCharset())); } if ((war == null) && (localWar != null)) { sb.append("&war="); sb.append(URLEncoder.encode(localWar, getCharset())); } if (update) { sb.append("&update=true"); } if (tag != null) { sb.append("&tag="); sb.append(URLEncoder.encode(tag, getCharset())); } execute(sb.toString(), stream, contentType, contentLength); } catch (UnsupportedEncodingException e) { throw new BuildException("Invalid 'charset' attribute: " + getCharset()); } finally { if (stream != null) { try { stream.close(); } catch (IOException ioe) { // Ignore } } } } }
Detected license expression
apache-2.0
Detected license expression (SPDX)
Apache-2.0
Percentage of license text
20.88
Copyrights

      
    
Holders

      
    
Authors

      
    
License detections License expression License expression SPDX
apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de apache-2.0 Apache-2.0
URL Start line End line
http://www.apache.org/licenses/LICENSE-2.0 9 9