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]