Author: markt
Date: Mon Nov 15 17:29:45 2010
New Revision: 1035360

URL: http://svn.apache.org/viewvc?rev=1035360&view=rev
Log:
Parallel deployment
Add a version column to the HTML Manager output.

Modified:
    tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
    tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties

Modified: tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1035360&r1=1035359&r2=1035360&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java Mon 
Nov 15 17:29:45 2010
@@ -35,7 +35,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Random;
 import java.util.Set;
-import java.util.TreeMap;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -444,70 +443,70 @@ public final class HTMLManagerServlet ex
         writer.print(MessageFormat.format(Constants.MANAGER_SECTION, args));
 
         // Apps Header Section
-        args = new Object[6];
+        args = new Object[7];
         args[0] = smClient.getString("htmlManagerServlet.appsTitle");
         args[1] = smClient.getString("htmlManagerServlet.appsPath");
-        args[2] = smClient.getString("htmlManagerServlet.appsName");
-        args[3] = smClient.getString("htmlManagerServlet.appsAvailable");
-        args[4] = smClient.getString("htmlManagerServlet.appsSessions");
-        args[5] = smClient.getString("htmlManagerServlet.appsTasks");
+        args[2] = smClient.getString("htmlManagerServlet.appsVersion");
+        args[3] = smClient.getString("htmlManagerServlet.appsName");
+        args[4] = smClient.getString("htmlManagerServlet.appsAvailable");
+        args[5] = smClient.getString("htmlManagerServlet.appsSessions");
+        args[6] = smClient.getString("htmlManagerServlet.appsTasks");
         writer.print(MessageFormat.format(APPS_HEADER_SECTION, args));
 
         // Apps Row Section
-        // Create sorted map of deployed applications context paths.
+        // Create sorted map of deployed applications by context name.
         Container children[] = host.findChildren();
-        String contextPaths[] = new String[children.length];
+        String contextNames[] = new String[children.length];
         for (int i = 0; i < children.length; i++)
-            contextPaths[i] = children[i].getName();
-
-        TreeMap<String,String> sortedContextPathsMap =
-            new TreeMap<String,String>();
+            contextNames[i] = children[i].getName();
 
-        for (int i = 0; i < contextPaths.length; i++) {
-            String displayPath = contextPaths[i];
-            sortedContextPathsMap.put(displayPath, contextPaths[i]);
-        }
- 
+        Arrays.sort(contextNames);
+        
         String appsStart = smClient.getString("htmlManagerServlet.appsStart");
         String appsStop = smClient.getString("htmlManagerServlet.appsStop");
         String appsReload = 
smClient.getString("htmlManagerServlet.appsReload");
-        String appsUndeploy = 
smClient.getString("htmlManagerServlet.appsUndeploy");
+        String appsUndeploy =
+            smClient.getString("htmlManagerServlet.appsUndeploy");
         String appsExpire = 
smClient.getString("htmlManagerServlet.appsExpire");
+        String noVersion = "<i>" +
+            smClient.getString("htmlManagerServlet.noVersion") + "</i>";
 
-        Iterator<Map.Entry<String,String>> iterator =
-            sortedContextPathsMap.entrySet().iterator();
         boolean isHighlighted = true;
         boolean isDeployed = true;
         String highlightColor = null;
 
-        while (iterator.hasNext()) {
-            // Bugzilla 34818, alternating row colors
-            isHighlighted = !isHighlighted;
-            if(isHighlighted) {
-                highlightColor = "#C3F3C3";
-            } else {
-                highlightColor = "#FFFFFF";
-            }
+        for (String contextName : contextNames) {
+            Context ctxt = (Context) host.findChild(contextName);
+            
+            if (ctxt != null) {
+                // Bugzilla 34818, alternating row colors
+                isHighlighted = !isHighlighted;
+                if(isHighlighted) {
+                    highlightColor = "#C3F3C3";
+                } else {
+                    highlightColor = "#FFFFFF";
+                }
 
-            Map.Entry<String,String> entry = iterator.next();
-            String displayPath = entry.getKey();
-            String contextPath = entry.getValue();
-            Context ctxt = (Context) host.findChild(contextPath);
-            if (displayPath.equals("")) {
-                displayPath = "/";
-            }
+                String contextPath = ctxt.getPath();
+                String displayPath = contextPath;
+                if (displayPath.equals("")) {
+                    displayPath = "/";
+                }
 
-            if (ctxt != null ) {
                 try {
-                    isDeployed = isDeployed(contextPath);
+                    isDeployed = isDeployed(contextName);
                 } catch (Exception e) {
                     // Assume false on failure for safety
                     isDeployed = false;
                 }
                 
                 args = new Object[7];
-                args[0] = URL_ENCODER.encode(displayPath);
-                args[1] = displayPath;
+                args[0] = "<a href=\"" + displayPath + "\">" +
+                        URL_ENCODER.encode(displayPath) + "</a>";
+                args[1] = ctxt.getWebappVersion();
+                if ("".equals(args[1])) {
+                    args[1]= noVersion;
+                }
                 args[2] = ctxt.getDisplayName();
                 if (args[2] == null) {
                     args[2] = "&nbsp;";
@@ -1151,7 +1150,7 @@ public final class HTMLManagerServlet ex
     private static final String APPS_HEADER_SECTION =
         "<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n" +
         "<tr>\n" +
-        " <td colspan=\"5\" class=\"title\">{0}</td>\n" +
+        " <td colspan=\"6\" class=\"title\">{0}</td>\n" +
         "</tr>\n" +
         "<tr>\n" +
         " <td class=\"header-left\"><small>{1}</small></td>\n" +
@@ -1159,12 +1158,13 @@ public final class HTMLManagerServlet ex
         " <td class=\"header-center\"><small>{3}</small></td>\n" +
         " <td class=\"header-center\"><small>{4}</small></td>\n" +
         " <td class=\"header-left\"><small>{5}</small></td>\n" +
+        " <td class=\"header-left\"><small>{6}</small></td>\n" +
         "</tr>\n";
 
     private static final String APPS_ROW_DETAILS_SECTION =
         "<tr>\n" +
-        " <td class=\"row-left\" bgcolor=\"{6}\" rowspan=\"2\"><small><a 
href=\"{0}\">{1}</a>" +
-        "</small></td>\n" +
+        " <td class=\"row-left\" bgcolor=\"{6}\" 
rowspan=\"2\"><small>{0}</small></td>\n" +
+        " <td class=\"row-left\" bgcolor=\"{6}\" 
rowspan=\"2\"><small>{1}</small></td>\n" +
         " <td class=\"row-left\" bgcolor=\"{6}\" 
rowspan=\"2\"><small>{2}</small></td>\n" +
         " <td class=\"row-center\" bgcolor=\"{6}\" 
rowspan=\"2\"><small>{3}</small></td>\n" +
         " <td class=\"row-center\" bgcolor=\"{6}\" rowspan=\"2\">" +

Modified: tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties?rev=1035360&r1=1035359&r2=1035360&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/LocalStrings.properties Mon 
Nov 15 17:29:45 2010
@@ -18,12 +18,14 @@ htmlManagerServlet.appsName=Display Name
 htmlManagerServlet.appsPath=Path
 htmlManagerServlet.appsReload=Reload
 htmlManagerServlet.appsUndeploy=Undeploy
+htmlManagerServlet.appsVersion=Version
 htmlManagerServlet.appsExpire=Expire sessions
 htmlManagerServlet.appsSessions=Sessions
 htmlManagerServlet.appsStart=Start
 htmlManagerServlet.appsStop=Stop
 htmlManagerServlet.appsTasks=Commands
 htmlManagerServlet.appsTitle=Applications
+htmlManagerServlet.noVersion=None specified
 htmlManagerServlet.expire.explain=with idle &ge;
 htmlManagerServlet.expire.unit=minutes
 htmlManagerServlet.helpHtmlManager=HTML Manager Help



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to