pero 2005/03/12 05:20:13 Modified: webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager Constants.java HTMLHostManagerServlet.java HostManagerServlet.java LocalStrings.properties Log: Add some usefull parameter to add new host autoDeploy, deployOnStartup, deployXML, unpackWARs, xmlNamespaceAware, xmlValidation Revision Changes Path 1.2 +1 -0 jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Constants.java 11 Mar 2005 22:39:26 -0000 1.1 +++ Constants.java 12 Mar 2005 13:20:13 -0000 1.2 @@ -192,6 +192,7 @@ "</html>"; public static final String CHARSET="utf-8"; + // FIXME need we this? public static final String XML_DECLARATION = "<?xml version=\"1.0\" encoding=\""+CHARSET+"\"?>"; 1.2 +57 -28 jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java Index: HTMLHostManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- HTMLHostManagerServlet.java 11 Mar 2005 22:39:26 -0000 1.1 +++ HTMLHostManagerServlet.java 12 Mar 2005 13:20:13 -0000 1.2 @@ -44,13 +44,14 @@ * makes it easier to administrate. * <p> * However if you use a software that parses the output of -* <code>HostManagerServlet</code you won't be able to upgrade +* <code>HostManagerServlet</code> you won't be able to upgrade * to this Servlet since the output are not in the * same format as from <code>HostManagerServlet</code> * * @author Bip Thelin * @author Malcolm Edgar * @author Glenn L. Nielsen +* @author Peter Rossbach * @version $Revision$, $Date$ * @see ManagerServlet */ @@ -76,14 +77,7 @@ String command = request.getPathInfo(); String name = request.getParameter("name"); - String aliases = request.getParameter("aliases"); - String appBase = request.getParameter("appBase"); - boolean manager = true; - if ((request.getParameter("manager") != null) - && (request.getParameter("manager").equals("false"))) { - manager = false; - } - + // Prepare our output writer to generate the response message response.setContentType("text/html; charset=" + Constants.CHARSET); @@ -91,7 +85,7 @@ // Process the requested command if (command == null) { } else if (command.equals("/add")) { - message = add(name, aliases, appBase, manager); + message = add(request, name); } else if (command.equals("/remove")) { message = remove(name); } else if (command.equals("/list")) { @@ -112,17 +106,13 @@ * Add a host using the specified parameters. * * @param name host name - * @param aliases comma separated alias list - * @param appBase application base for the host - * @param manager should the manager webapp be deployed to the new host ? */ - protected String add(String name, String aliases, String appBase, - boolean manager) { + protected String add(HttpServletRequest request,String name) { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); - super.add(printWriter, name, aliases, appBase, manager); + super.add(request,printWriter,name,true); return stringWriter.toString(); } @@ -224,7 +214,7 @@ args[8] = sm.getString("statusServlet.title"); writer.print(MessageFormat.format(Constants.MANAGER_SECTION, args)); - // Hosts Header Section + // Hosts Header Section args = new Object[3]; args[0] = sm.getString("htmlHostManagerServlet.hostName"); args[1] = sm.getString("htmlHostManagerServlet.hostAliases"); @@ -295,18 +285,45 @@ } // Add Section - args = new Object[10]; + args = new Object[6]; args[0] = sm.getString("htmlHostManagerServlet.addTitle"); args[1] = sm.getString("htmlHostManagerServlet.addHost"); args[2] = response.encodeURL(request.getContextPath() + "/html/add"); args[3] = sm.getString("htmlHostManagerServlet.addName"); args[4] = sm.getString("htmlHostManagerServlet.addAliases"); args[5] = sm.getString("htmlHostManagerServlet.addAppBase"); - args[6] = sm.getString("htmlHostManagerServlet.addManager"); - args[7] = sm.getString("htmlHostManagerServlet.addManagerTrue"); - args[8] = sm.getString("htmlHostManagerServlet.addManagerFalse"); - args[9] = sm.getString("htmlHostManagerServlet.addButton"); - writer.print(MessageFormat.format(ADD_SECTION, args)); + writer.print(MessageFormat.format(ADD_SECTION_START, args)); + + args = new Object[3]; + args[0] = sm.getString("htmlHostManagerServlet.addAutoDeploy"); + args[1] = "autoDeploy"; + args[2] = "checked"; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + args[0] = sm.getString("htmlHostManagerServlet.addDeployOnStartup"); + args[1] = "deployOnStartup"; + args[2] = "checked"; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + args[0] = sm.getString("htmlHostManagerServlet.addDeployXML"); + args[1] = "deployXML"; + args[2] = "checked"; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + args[0] = sm.getString("htmlHostManagerServlet.addUnpackWARs"); + args[1] = "unpackWARs"; + args[2] = "checked"; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + args[0] = sm.getString("htmlHostManagerServlet.addXmlNamespaceAware"); + args[1] = "xmlNamespaceAware"; + args[2] = ""; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + args[0] = sm.getString("htmlHostManagerServlet.addXmlValidation"); + args[1] = "xmlValidation"; + args[2] = ""; + writer.print(MessageFormat.format(ADD_SECTION_BOOLEAN, args)); + + + args = new Object[1]; + args[0] = sm.getString("htmlHostManagerServlet.addButton"); + writer.print(MessageFormat.format(ADD_SECTION_END, args)); // Server Header Section args = new Object[7]; @@ -382,7 +399,7 @@ " </td>\n" + "</tr>\n"; - private static final String ADD_SECTION = + private static final String ADD_SECTION_START = "</table>\n" + "<br>\n" + "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n" + @@ -419,17 +436,29 @@ " <td class=\"row-left\">\n" + " <input type=\"text\" name=\"appBase\" size=\"64\">\n" + " </td>\n" + - "</tr>\n" + + "</tr>\n" ; + + private static final String ADD_SECTION_BOOLEAN = + "<tr>\n" + + " <td class=\"row-right\">\n" + + " <small>{0}</small>\n" + + " </td>\n" + + " <td class=\"row-left\">\n" + + " <input type=\"checkbox\" name=\"{1}\" {2}>\n" + + " </td>\n" + + "</tr>\n" ; + + private static final String ADD_SECTION_END = "<tr>\n" + " <td class=\"row-right\">\n" + " \n" + " </td>\n" + " <td class=\"row-left\">\n" + " <input type=\"hidden\" name=\"manager\" value=\"true\">\n" + - " <input type=\"submit\" value=\"{9}\">\n" + + " <input type=\"submit\" value=\"{0}\">\n" + " </td>\n" + "</tr>\n" + - "</table>\n" + + "</table>\n" + "</form>\n" + "</td>\n" + "</tr>\n" + 1.2 +72 -12 jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java Index: HostManagerServlet.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- HostManagerServlet.java 11 Mar 2005 22:39:26 -0000 1.1 +++ HostManagerServlet.java 12 Mar 2005 13:20:13 -0000 1.2 @@ -224,14 +224,7 @@ if (command == null) command = request.getServletPath(); String name = request.getParameter("name"); - String aliases = request.getParameter("aliases"); - String appBase = request.getParameter("appBase"); - boolean manager = true; - if ((request.getParameter("manager") != null) - && (request.getParameter("manager").equals("false"))) { - manager = false; - } - + // Prepare our output writer to generate the response message response.setContentType("text/plain; charset=" + Constants.CHARSET); PrintWriter writer = response.getWriter(); @@ -240,7 +233,7 @@ if (command == null) { writer.println(sm.getString("hostManagerServlet.noCommand")); } else if (command.equals("/add")) { - add(writer, name, aliases, appBase, manager); + add(request, writer, name, false); } else if (command.equals("/remove")) { remove(writer, name); } else if (command.equals("/list")) { @@ -262,6 +255,62 @@ /** + * Add host with all parameter + * @param request + * @param writer + * @param name + */ + protected void add(HttpServletRequest request, PrintWriter writer, String name, boolean htmlMode ) { + String aliases = request.getParameter("aliases"); + String appBase = request.getParameter("appBase"); + boolean manager = booleanParameter(request, "manager", true, htmlMode); + boolean autoDeploy = booleanParameter(request, "autoDeploy", true, htmlMode); + boolean deployOnStartup = booleanParameter(request, "deployOnStartup", true, htmlMode); + boolean deployXML = booleanParameter(request, "deployXML", true, htmlMode); + boolean unpackWARs = booleanParameter(request, "unpackWARs", true, htmlMode); + boolean xmlNamespaceAware = booleanParameter(request, "xmlNamespaceAware", false, htmlMode); + boolean xmlValidation = booleanParameter(request, "xmlValidation", false, htmlMode); + add(writer, name, aliases, appBase, manager, + autoDeploy, + deployOnStartup, + deployXML, + unpackWARs, + xmlNamespaceAware, + xmlValidation); + } + + + /** + * extract boolean value from checkbox with default + * @param request + * @param parameter + * @param theDefault + * @param htmlMode + * @return + */ + protected boolean booleanParameter(HttpServletRequest request, + String parameter, boolean theDefault, boolean htmlMode) { + String value = request.getParameter(parameter); + boolean booleanValue = theDefault; + if (value != null) { + if (htmlMode) { + if (value.equals("on")) { + booleanValue = true; + } + } else if (theDefault) { + if (value.equals("false")) { + booleanValue = false; + } + } else if (value.equals("true")) { + booleanValue = true; + } + } else if (htmlMode) + booleanValue = false; + return booleanValue; + } + + + /** * Initialize this servlet. */ public void init() throws ServletException { @@ -306,8 +355,13 @@ */ protected synchronized void add (PrintWriter writer, String name, String aliases, String appBase, - boolean manager) { - + boolean manager, + boolean autoDeploy, + boolean deployOnStartup, + boolean deployXML, + boolean unpackWARs, + boolean xmlNamespaceAware, + boolean xmlValidation) { if (debug >= 1) { log("add: Adding host '" + name + "'"); } @@ -393,6 +447,12 @@ host.addAlias(tok.nextToken()); } } + host.setAutoDeploy(autoDeploy); + host.setDeployOnStartup(deployOnStartup); + host.setDeployXML(deployXML); + host.setUnpackWARs(unpackWARs); + host.setXmlNamespaceAware(xmlNamespaceAware); + host.setXmlValidation(xmlValidation); // Add new host try { 1.2 +6 -2 jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/LocalStrings.properties Index: LocalStrings.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/LocalStrings.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LocalStrings.properties 11 Mar 2005 22:39:26 -0000 1.1 +++ LocalStrings.properties 12 Mar 2005 13:20:13 -0000 1.2 @@ -40,8 +40,12 @@ htmlHostManagerServlet.addAliases=Aliases: htmlHostManagerServlet.addAppBase=App base: htmlHostManagerServlet.addManager=Manager: -htmlHostManagerServlet.addManagerTrue=True -htmlHostManagerServlet.addManagerFalse=False +htmlHostManagerServlet.addAutoDeploy=AutoDeploy +htmlHostManagerServlet.addDeployOnStartup=DeployOnStartup +htmlHostManagerServlet.addDeployXML=DeployXML +htmlHostManagerServlet.addUnpackWARs=UnpackWARs +htmlHostManagerServlet.addXmlNamespaceAware=XmlNamespaceAware +htmlHostManagerServlet.addXmlValidation=XmlValidation htmlHostManagerServlet.addButton=Add htmlHostManagerServlet.serverTitle=Server Information htmlHostManagerServlet.serverVersion=Tomcat Version
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]