ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 8447] New: - Tomcat Reload TaskDef
Date Wed, 24 Apr 2002 02:02:10 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8447>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8447

Tomcat Reload TaskDef

           Summary: Tomcat Reload TaskDef
           Product: Ant
           Version: 1.4.1
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: Optional Tasks
        AssignedTo: ant-dev@jakarta.apache.org
        ReportedBy: mpepar@hotmail.com


Here is some code I wrote to reload a Tomcat Context. I thought you might like 
to integrate it into ant.

/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 1999 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", "Ant", 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 apache@apache.org.
 *
 * 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/>.
 */ 



import org.apache.tools.ant.*;
import java.io.*;
import java.net.*;

/**
 * Reloads a Tomcat Context
 *
 * @author mpepar@hotmail.com
 */

public class TomcatReload extends Task {

    private URL url;
    private String context = "/";
    public String user = "tomcat";
    public String password = "tomcat";

public class MyAuth extends java.net.Authenticator{
	boolean sent;
	java.net.PasswordAuthentication pa;
	public MyAuth() { pa = new java.net.PasswordAuthentication(user, 
password.toCharArray());}
	protected java.net.PasswordAuthentication getPasswordAuthentication() { 
if (sent) { log("HTTP Authentication failure.", Project.MSG_ERR); return null; }
sent=true; return pa;}
}

    public void execute() throws BuildException {
	String res = "";
	try
	{
        if (url == null) 
            url = new URL("http://localhost:8080");

	Authenticator.setDefault(new MyAuth());

	url = new URL(url, "/manager/reload?path="+URLEncoder.encode(context));
	URLConnection urlC = url.openConnection();
	urlC.setDoInput(true);
	InputStream o = urlC.getInputStream();
	BufferedReader r = new BufferedReader( new InputStreamReader(o));

	String s;
	while ((s = r.readLine()) != null)
		res += s;
	o.close();
	}
	catch (Exception e)
	{
		throw new BuildException(e.getMessage());
	}
	if (res.startsWith("OK"))
		log(res, Project.MSG_INFO);
	else
		throw new BuildException(res);
		
    }

    public void setURL(URL url) {
	this.url = url;
    }
    public void setContext(String context) {
	this.context = context;
    }
    public void setUser(String user) {
	this.user = user;
    }
    public void setPassword(String password) {
	this.password = password;
    }

}

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message