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" +
           "  &nbsp;\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]

Reply via email to