Title: Message
Made the modifications to the license.
 
Index: AbstractCatalinaTask.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java,v
retrieving revision 1.2
diff -u -r1.2 AbstractCatalinaTask.java
--- AbstractCatalinaTask.java   6 Oct 2003 09:04:43 -0000       1.2
+++ AbstractCatalinaTask.java   19 Feb 2004 18:24:13 -0000
@@ -1,307 +1,315 @@
-/*
- * $Header: 
/home/cvspublic/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java,v
 1.2 2003/10/06 09:04:43 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2003/10/06 09:04:43 $
- *
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2002 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- *    any, must include the following acknowlegement:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowlegement may appear in the software itself,
- *    if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- *    Foundation" must not be used to endorse or promote products derived
- *    from this software without prior written permission. For written
- *    permission, please contact [EMAIL PROTECTED]
- *
- * 5. Products derived from this software may not be called "Apache"
- *    nor may "Apache" appear in their names without prior written
- *    permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-
-package org.apache.catalina.ant;
-
-
-import java.io.BufferedOutputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import org.apache.catalina.util.Base64;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-
-
-/**
- * Abstract base class for Ant tasks that interact with the
- * <em>Manager</em> web application for dynamically deploying and
- * undeploying applications.  These tasks require Ant 1.4 or later.
- *
- * @author Craig R. McClanahan
- * @version $Revision: 1.2 $ $Date: 2003/10/06 09:04:43 $
- * @since 4.1
- */
-
-public abstract class AbstractCatalinaTask extends Task {
-
-
-    // ----------------------------------------------------- Instance Variables
-
-
-    /**
-     * manager webapp's encoding.
-     */ 
-    private static String CHARSET = "utf-8";
-
-
-    // ------------------------------------------------------------- Properties
-
-
-    /**
-     * The login password for the <code>Manager</code> application.
-     */
-    protected String password = null;
-
-    public String getPassword() {
-        return (this.password);
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-
-    /**
-     * The URL of the <code>Manager</code> application to be used.
-     */
-    protected String url = "http://localhost:8080/manager";;
-
-    public String getUrl() {
-        return (this.url);
-    }
-
-    public void setUrl(String url) {
-        this.url = url;
-    }
-
-
-    /**
-     * The login username for the <code>Manager</code> application.
-     */
-    protected String username = null;
-
-    public String getUsername() {
-        return (this.username);
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-
-    // --------------------------------------------------------- Public Methods
-
-
-    /**
-     * Execute the specified command.  This logic only performs the common
-     * attribute validation required by all subclasses; it does not perform
-     * any functional logic directly.
-     *
-     * @exception BuildException if a validation error occurs
-     */
-    public void execute() throws BuildException {
-
-        if ((username == null) || (password == null) || (url == null)) {
-            throw new BuildException
-                ("Must specify all of 'username', 'password', and 'url'");
-        }
-
-    }
-
-
-    // ------------------------------------------------------ Protected Methods
-
-
-    /**
-     * Execute the specified command, based on the configured properties.
-     *
-     * @param command Command to be executed
-     *
-     * @exception BuildException if an error occurs
-     */
-    public void execute(String command) throws BuildException {
-
-        execute(command, null, null, -1);
-
-    }
-
-
-    /**
-     * Execute the specified command, based on the configured properties.
-     * The input stream will be closed upon completion of this task, whether
-     * it was executed successfully or not.
-     *
-     * @param command Command to be executed
-     * @param istream InputStream to include in an HTTP PUT, if any
-     * @param contentType Content type to specify for the input, if any
-     * @param contentLength Content length to specify for the input, if any
-     *
-     * @exception BuildException if an error occurs
-     */
-    public void execute(String command, InputStream istream,
-                        String contentType, int contentLength)
-        throws BuildException {
-
-        URLConnection conn = null;
-        InputStreamReader reader = null;
-        try {
-
-            // Create a connection for this command
-            conn = (new URL(url + command)).openConnection();
-            HttpURLConnection hconn = (HttpURLConnection) conn;
-
-            // Set up standard connection characteristics
-            hconn.setAllowUserInteraction(false);
-            hconn.setDoInput(true);
-            hconn.setUseCaches(false);
-            if (istream != null) {
-                hconn.setDoOutput(true);
-                hconn.setRequestMethod("PUT");
-                if (contentType != null) {
-                    hconn.setRequestProperty("Content-Type", contentType);
-                }
-                if (contentLength >= 0) {
-                    hconn.setRequestProperty("Content-Length",
-                                             "" + contentLength);
-                }
-            } else {
-                hconn.setDoOutput(false);
-                hconn.setRequestMethod("GET");
-            }
-            hconn.setRequestProperty("User-Agent",
-                                     "Catalina-Ant-Task/1.0");
-
-            // Set up an authorization header with our credentials
-            String input = username + ":" + password;
-            String output = new String(Base64.encode(input.getBytes()));
-            hconn.setRequestProperty("Authorization",
-                                     "Basic " + output);
-
-            // Establish the connection with the server
-            hconn.connect();
-
-            // Send the request data (if any)
-            if (istream != null) {
-                BufferedOutputStream ostream =
-                    new BufferedOutputStream(hconn.getOutputStream(), 1024);
-                byte buffer[] = new byte[1024];
-                while (true) {
-                    int n = istream.read(buffer);
-                    if (n < 0) {
-                        break;
-                    }
-                    ostream.write(buffer, 0, n);
-                }
-                ostream.flush();
-                ostream.close();
-                istream.close();
-            }
-
-            // Process the response message
-            reader = new InputStreamReader(hconn.getInputStream(), CHARSET);
-            StringBuffer buff = new StringBuffer();
-            String error = null;
-            boolean first = true;
-            while (true) {
-                int ch = reader.read();
-                if (ch < 0) {
-                    break;
-                } else if ((ch == '\r') || (ch == '\n')) {
-                    String line = buff.toString();
-                    buff.setLength(0);
-                    log(line, Project.MSG_INFO);
-                    if (first) {
-                        if (!line.startsWith("OK -")) {
-                            error = line;
-                        }
-                        first = false;
-                    }
-                } else {
-                    buff.append((char) ch);
-                }
-            }
-            if (buff.length() > 0) {
-                log(buff.toString(), Project.MSG_INFO);
-            }
-            if (error != null) {
-                throw new BuildException(error);
-            }
-
-        } catch (Throwable t) {
-            throw new BuildException(t);
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (Throwable u) {
-                    ;
-                }
-                reader = null;
-            }
-            if (istream != null) {
-                try {
-                    istream.close();
-                } catch (Throwable u) {
-                    ;
-                }
-                istream = null;
-            }
-        }
-
-    }
-
-
-}
+/*
+ * $Header: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java,v
 1.2 2003/10/06 09:04:43 remm Exp $
+ * $Revision: 1.2 $
+ * $Date: 2003/10/06 09:04:43 $
+ *
+ * ====================================================================
+ *
+ * Copyright 2004 Aaron J. Dykstra
+ *
+ * Licensed 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.BufferedOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import org.apache.catalina.util.Base64;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+
+/**
+ * Abstract base class for Ant tasks that interact with the
+ * <em>Manager</em> web application for dynamically deploying and
+ * undeploying applications.  These tasks require Ant 1.4 or later.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 1.2 $ $Date: 2003/10/06 09:04:43 $
+ * @since 4.1
+ */
+
+public abstract class AbstractCatalinaTask extends Task {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * manager webapp's encoding.
+     */ 
+    private static String CHARSET = "utf-8";
+
+
+    // ------------------------------------------------------------- Properties
+
+
+    /**
+     * The login password for the <code>Manager</code> application.
+     */
+    protected String password = null;
+
+    public String getPassword() {
+        return (this.password);
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+
+    /**
+     * The URL of the <code>Manager</code> application to be used.
+     */
+    protected String url = "http://localhost:8080/manager";;
+
+    public String getUrl() {
+        return (this.url);
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+
+    /**
+     * The login username for the <code>Manager</code> application.
+     */
+    protected String username = null;
+
+    public String getUsername() {
+        return (this.username);
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+       /**
+        * The http proxy  for the <code>Manager</code> application.
+        */
+       protected String isProxy = "false";
+
+       public String getIsProxy() {
+               return (this.isProxy);
+       }
+
+       public void setIsProxy(String isProxy) {
+               this.isProxy = isProxy;
+       }
+
+       /**
+        * The http proxy address for the <code>Manager</code> application.
+        */
+       protected String proxyHost = null;
+
+       public String getProxyHost() {
+               return (this.proxyHost);
+       }
+
+       public void setProxyHost(String proxyHost) {
+               this.proxyHost = proxyHost;
+       }
+
+       /**
+        * The http proxy port for the <code>Manager</code> application.
+        */
+       protected String proxyPort = null;
+
+       public String getProxyPort() {
+               return (this.proxyPort);
+       }
+
+       public void setProxyPort(String proxyPort) {
+               this.proxyPort = proxyPort;
+       }
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Execute the specified command.  This logic only performs the common
+     * attribute validation required by all subclasses; it does not perform
+     * any functional logic directly.
+     *
+     * @exception BuildException if a validation error occurs
+     */
+    public void execute() throws BuildException {
+               if (isProxy.equals("true"))
+               {
+                       System.setProperty("http.proxyHost", proxyHost);
+                       System.setProperty("http.proxyPort", proxyPort);
+               }
+        if ((username == null) || (password == null) || (url == null)) {
+            throw new BuildException
+                ("Must specify all of 'username', 'password', and 'url'");
+        }
+
+    }
+
+
+    // ------------------------------------------------------ Protected Methods
+
+
+    /**
+     * Execute the specified command, based on the configured properties.
+     *
+     * @param command Command to be executed
+     *
+     * @exception BuildException if an error occurs
+     */
+    public void execute(String command) throws BuildException {
+
+        execute(command, null, null, -1);
+
+    }
+
+
+    /**
+     * Execute the specified command, based on the configured properties.
+     * The input stream will be closed upon completion of this task, whether
+     * it was executed successfully or not.
+     *
+     * @param command Command to be executed
+     * @param istream InputStream to include in an HTTP PUT, if any
+     * @param contentType Content type to specify for the input, if any
+     * @param contentLength Content length to specify for the input, if any
+     *
+     * @exception BuildException if an error occurs
+     */
+    public void execute(String command, InputStream istream,
+                        String contentType, int contentLength)
+        throws BuildException {
+
+               if (isProxy.equals("true"))
+               {
+                       System.setProperty("http.proxyHost", proxyHost);
+                       System.setProperty("http.proxyPort", proxyPort);
+               }
+        URLConnection conn = null;
+        InputStreamReader reader = null;
+        try {
+
+            // Create a connection for this command
+            conn = (new URL(url + command)).openConnection();
+            HttpURLConnection hconn = (HttpURLConnection) conn;
+
+            // Set up standard connection characteristics
+            hconn.setAllowUserInteraction(false);
+            hconn.setDoInput(true);
+            hconn.setUseCaches(false);
+            if (istream != null) {
+                hconn.setDoOutput(true);
+                hconn.setRequestMethod("PUT");
+                if (contentType != null) {
+                    hconn.setRequestProperty("Content-Type", contentType);
+                }
+                if (contentLength >= 0) {
+                    hconn.setRequestProperty("Content-Length",
+                                             "" + contentLength);
+                }
+            } else {
+                hconn.setDoOutput(false);
+                hconn.setRequestMethod("GET");
+            }
+            hconn.setRequestProperty("User-Agent",
+                                     "Catalina-Ant-Task/1.0");
+
+            // Set up an authorization header with our credentials
+            String input = username + ":" + password;
+            String output = new String(Base64.encode(input.getBytes()));
+            hconn.setRequestProperty("Authorization",
+                                     "Basic " + output);
+
+            // Establish the connection with the server
+            hconn.connect();
+
+            // Send the request data (if any)
+            if (istream != null) {
+                BufferedOutputStream ostream =
+                    new BufferedOutputStream(hconn.getOutputStream(), 1024);
+                byte buffer[] = new byte[1024];
+                while (true) {
+                    int n = istream.read(buffer);
+                    if (n < 0) {
+                        break;
+                    }
+                    ostream.write(buffer, 0, n);
+                }
+                ostream.flush();
+                ostream.close();
+                istream.close();
+            }
+
+            // Process the response message
+            reader = new InputStreamReader(hconn.getInputStream(), CHARSET);
+            StringBuffer buff = new StringBuffer();
+            String error = null;
+            boolean first = true;
+            while (true) {
+                int ch = reader.read();
+                if (ch < 0) {
+                    break;
+                } else if ((ch == '\r') || (ch == '\n')) {
+                    String line = buff.toString();
+                    buff.setLength(0);
+                    log(line, Project.MSG_INFO);
+                    if (first) {
+                        if (!line.startsWith("OK -")) {
+                            error = line;
+                        }
+                        first = false;
+                    }
+                } else {
+                    buff.append((char) ch);
+                }
+            }
+            if (buff.length() > 0) {
+                log(buff.toString(), Project.MSG_INFO);
+            }
+            if (error != null) {
+                throw new BuildException(error);
+            }
+
+        } catch (Throwable t) {
+            throw new BuildException(t);
+        } finally {
+            if (reader != null) {
+                try {
+                    reader.close();
+                } catch (Throwable u) {
+                    ;
+                }
+                reader = null;
+            }
+            if (istream != null) {
+                try {
+                    istream.close();
+                } catch (Throwable u) {
+                    ;
+                }
+                istream = null;
+            }
+        }
+
+    }
+
+
+}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to