You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2003/09/18 06:45:26 UTC

cvs commit: incubator-geronimo/modules/console-web/src/webapp/images geronimo_logo_console.gif

dain        2003/09/17 21:45:26

  Added:       modules/console-web maven.xml project.xml
               modules/console-web/src/java/org/apache/geronimo/console/web/taglib
                        ClearFilterTag.java MBeanAttributesTag.java
                        MBeanServerContentsTag.java
                        MBeanServerContextSupport.java
                        MBeanServerContextTag.java
                        MBeanServerContextValueTag.java
               modules/console-web/src/java/org/apache/geronimo/console/web/util
                        MBeanAttributesComparator.java MBeanComparator.java
               modules/console-web/src/webapp faq.jsp index.jsp
                        leftNavigation.jsp mbeanInfo.jsp style.css
                        template.html template2.html
               modules/console-web/src/webapp/WEB-INF
                        geronimo_jmx-console_v0-1.tld web.xml
               modules/console-web/src/webapp/images
                        geronimo_logo_console.gif
  Log:
  Initial revision of web console from N. Alex Rupp
  
  Revision  Changes    Path
  1.1                  incubator-geronimo/modules/console-web/maven.xml
  
  Index: maven.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- $Revision: 1.1 $ $Date: 2003/09/18 04:45:26 $ -->
  
  <project default="default"
      xmlns:j="jelly:core"
      xmlns:u="jelly:util"
      xmlns:ant="jelly:ant">
  
      <goal name="default">
          <attainGoal name="war"/>
      </goal>
  </project>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- $Revision: 1.1 $ $Date: 2003/09/18 04:45:26 $ -->
  
  <project>
      <pomVersion>3</pomVersion>
      <extend>${basedir}/../../etc/project.xml</extend>
  
      <!-- ===================== -->
      <!-- Module Identification -->
      <!-- ===================== -->
  
      <name>Geronimo :: Web Console</name>
      <id>geronimo-web-console</id>
      <shortDescription></shortDescription>
      <description></description>
      <siteDirectory></siteDirectory>
      <distributionDirectory></distributionDirectory>
  
      <package>org.apache.geronimo.console.web</package>
      <currentVersion>DEV</currentVersion>
  
  
      <!-- ============ -->
      <!-- Dependencies -->
      <!-- ============ -->
  
      <dependencies>
  
          <!-- Plugin Dependencies -->
  
          <!-- Module Dependencies -->
  
          <dependency>
              <groupId>geronimo-spec</groupId>
              <artifactId>geronimo-spec-servlet</artifactId>
              <version>DEV</version>
              <properties>
                  <runtime>false</runtime>
              </properties>
          </dependency>
  
          <dependency>
              <groupId>geronimo-spec</groupId>
              <artifactId>geronimo-spec-jsp</artifactId>
              <version>DEV</version>
              <properties>
                  <runtime>false</runtime>
              </properties>
          </dependency>
  
          <!-- Thirdparty Dependencies -->
          <dependency>
              <groupId>mx4j</groupId>
              <artifactId>mx4j-jmx</artifactId>
              <version>SNAPSHOT</version>
              <url>http://mx4j.sourceforge.net</url>
              <properties>
                  <runtime>false</runtime>
              </properties>
          </dependency>
  
  
          <dependency>
              <id>commons-logging</id>
              <version>1.0.3</version>
              <url>http://jakarta.apache.org/commons/logging</url>
              <properties>
                  <runtime>false</runtime>
              </properties>
          </dependency>
  
      </dependencies>
  </project>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/ClearFilterTag.java
  
  Index: ClearFilterTag.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import java.io.IOException;
  import javax.management.MBeanServer;
  import javax.servlet.jsp.JspWriter;
  
  /**
   * If the application detects that a filter other than "*:*" has been used in
   * the console for limiting the components displayed, this button will appear,
   * allowing the user to revert to the default filter.  If the default filter is
   * being used, no button shall appear.
   */
  public final class ClearFilterTag extends MBeanServerContextSupport {
      private MBeanServerContextTag ctx;
      private MBeanServer server;
  
      public int doStartTag() {
          ctx = getMBeanServerContext();
          server = ctx.getMBeanServer();
          JspWriter out = pageContext.getOut();
  
          try {
              if (server != null) {
                  if (filtered()) {
                      out.println("<input class=\"submit\" type=\"button\" " +
                              "tabindex=\"2\" value=\"Clear Filter\" " +
                              "onclick=\"window.location='index.jsp'\"/>");
                  }
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
          return EVAL_BODY_INCLUDE;
      }
  
      public int doEndTag() {
          return EVAL_PAGE;
      }
  
      private boolean filtered() {
          return (!ctx.getObjectNameFilter().equals("*:*"));
      }
  
  }
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/MBeanAttributesTag.java
  
  Index: MBeanAttributesTag.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import java.io.IOException;
  import java.net.URLDecoder;
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.Hashtable;
  import java.util.List;
  import java.util.Set;
  import javax.management.MBeanAttributeInfo;
  import javax.management.MBeanInfo;
  import javax.management.MBeanServer;
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectInstance;
  import javax.management.ObjectName;
  import javax.management.QueryExp;
  import javax.servlet.jsp.JspWriter;
  
  import org.apache.geronimo.console.web.util.MBeanAttributesComparator;
  
  /**
   * This tag will display the contents of an MBean in a simple table of
   * name/value pairs.  The style of the table can be controlled with CSS.
   */
  public final class MBeanAttributesTag
          extends MBeanServerContextSupport {
      private Hashtable properties;
      private MBeanServerContextTag ctx;
      private ObjectInstance instance;
      private Object[] keys;
      private Set keySet;
      private ObjectName name;
      private MBeanServer server;
  
      public int doEndTag() {
          return EVAL_PAGE;
      }
  
      public int doStartTag() {
          ctx = getMBeanServerContext();
          server = ctx.getMBeanServer();
          JspWriter out = pageContext.getOut();
  
          printMBeanProperties(out);
          printMBeanAttributes(out);
  
  
          return EVAL_BODY_INCLUDE;
      }
  
      /*
       *  This seems like a very backwards way to do this.  I don't know
       *  that creating an ObjectName, using it to get an ObjectInstance
       *  then creating another ObjectName is necessarily the way to go.
       *
       */
      private String getDomain() {
          try {
              ObjectName mbeanName = new ObjectName(getMBeanName());
              QueryExp query = null;
              Set results = server.queryMBeans(mbeanName, query);
  
              instance = (ObjectInstance) results.iterator().next();
              name = instance.getObjectName();
              return name.getDomain();
  
          } catch (MalformedObjectNameException e) {
              return "No object to introspect.  Choose one from the MBean Stack View.";
          }
      }
  
      /*
       * This gets the value of the MBeanName request parameter.  If it
       * Doesn't find anything, it returns null.
       */
      private String getMBeanName() {
          String s =
                  pageContext.getRequest().getParameter("MBeanName");
          if (s == null || s == "") {
              return null;
          }
          return s;
      }
  
      private void printMBeanProperties(JspWriter out) {
          try {
  
              //String mbeanName;
              //out.println("<strong>MBean Name </strong>" + getMBeanName());
              out.println("<table cellpadding=\"0\" cellspacing=\"0\">");
  
              out.println("\t<tr class=\"head\">");
              out.println("\t\t<td class=\"head\" colspan=\"3\">" +
                      "MBean Properties</td>");
              out.println("\t</tr>");
  
              out.println("\t<tr class=\"one\">");
              out.println("\t\t<td class=\"name\">MBean Domain</td>");
              out.println("\t\t<td class=\"center\">=</td>");
              out.println("\t\t<td class=\"value\">" + getDomain() + "</td>");
              out.println("\t</tr>");
  
              printMBeanPropertiesStack(out);
  
              out.println("</table>");
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  
      private void printMBeanPropertiesStack(JspWriter out) {
          properties = name.getKeyPropertyList();
          keySet = properties.keySet();
          keys = toList(keySet).toArray();
  
          try {
              //out.println("Hello");
  
              String key;
              String property;
              String trClass = "one";
              for (int i = 0; i < keys.length; i++) {
                  key = (String) keys[i];
                  property = (String) name.getKeyProperty(key);
                  if (i % 2 == 0) {
                      trClass = "two";
                  } else if (i % 2 == 1) {
                      trClass = "one";
                  }
  
                  out.println("\t<tr class=\"" + trClass + "\">");
                  out.println("\t\t<td class=\"name\">" + key + "</td>");
                  out.println("\t\t<td class=\"center\">=</td>");
                  out.println("\t\t<td class=\"value\">" +
                          URLDecoder.decode(property, "UTF-8") + "</td>");
                  out.println("\t</tr>");
  
              }
  
              /*
              out.println("\t<tr class=\"one\">");
              out.println("\t\t<td class=\"name\">About</td>");
              out.println("\t\t<td class=\"center\">=</td>");
              out.println("\t\t<td class=\"value\">Now</td>");
              out.println("\t</tr>");
              */
  
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  
      private void printMBeanAttributes(JspWriter out) {
          try {
              //String mbeanName;
              //out.println("<strong>MBean Name </strong>" + getMBeanName());
              out.println("<table cellpadding=\"0\" cellspacing=\"0\">");
  
              out.println("\t<tr class=\"head\">");
              out.println("\t\t<td class=\"head\" colspan=\"3\">" +
                      "MBean Attributes & Info</td>");
              out.println("\t</tr>");
  
              printMBeanAttributesStack(out);
  
  
              out.println("</table>");
          } catch (IOException e) {
              e.printStackTrace();
          }
      }
  
      private void printMBeanAttributesStack(JspWriter out) {
          try {
              MBeanInfo info = server.getMBeanInfo(name);
              MBeanAttributeInfo[] attributes = info.getAttributes();
              String className = info.getClassName();
              String description = info.getDescription();
  
              out.println("\t<tr class=\"one\">");
              out.println("\t\t<td class=\"name\">Class Name</td>");
              out.println("\t\t<td class=\"center\">=</td>");
              out.println("\t\t<td class=\"value\">" + className + "</td>");
              out.println("\t</tr>");
  
              out.println("\t<tr class=\"two\">");
              out.println("\t\t<td class=\"name\">Description</td>");
              out.println("\t\t<td class=\"center\">=</td>");
              out.println("\t\t<td class=\"value\">" + description + "</td>");
              out.println("\t</tr>");
  
              String attributeName = "name";
              String value = "value";
              String trClass = "one";
              for (int i = 0; i < attributes.length; i++) {
  
                  attributeName = attributes[i].getName();
                  //value = attributes[i].toString();
                  value = server.getAttribute(name, attributeName).toString();
                  ;
                  if (i % 2 == 0) {
                      trClass = "one";
                  } else if (i % 2 == 1) {
                      trClass = "two";
                  }
  
                  out.println("\t<tr class=\"" + trClass + "\">");
                  out.println("\t\t<td class=\"name\">" + attributeName + "</td>");
                  out.println("\t\t<td class=\"center\">=</td>");
                  out.println("\t\t<td class=\"value\">" +
                          URLDecoder.decode(value, "UTF-8") + "</td>");
                  out.println("\t</tr>");
  
              }
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
  
      private List toList(Set set) {
          List list = new ArrayList();
          MBeanAttributesComparator comp = new MBeanAttributesComparator();
          list.addAll(set);
          Collections.sort(list, comp);
          return list;
      }
  }
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/MBeanServerContentsTag.java
  
  Index: MBeanServerContentsTag.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import java.io.IOException;
  import java.net.URLDecoder;
  import java.net.URLEncoder;
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.Iterator;
  import java.util.List;
  import java.util.Set;
  import javax.management.MBeanServer;
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectInstance;
  import javax.management.ObjectName;
  import javax.management.QueryExp;
  import javax.servlet.jsp.JspWriter;
  
  import org.apache.geronimo.console.web.util.MBeanComparator;
  
  /**
   * This class displays the contents of the MBeanServer, arranged in groups, in
   * alphabetical order by MBean domain and then by the MBean's canonical name.
   *
   */
  public final class MBeanServerContentsTag extends MBeanServerContextSupport {
      private MBeanServerContextTag ctx;
      private MBeanServer server;
  
      public int doStartTag() {
          ctx = getMBeanServerContext();
          server = ctx.getMBeanServer();
          JspWriter out = pageContext.getOut();
  
          try {
              if (server != null) {
  
                  ObjectName objectName = new ObjectName(ctx.getObjectNameFilter());
                  QueryExp query = null;
                  Set results = server.queryMBeans(objectName, query);
                  List mbeans = toList(results);
                  printMBeanStack(out, mbeans);
              }
          } catch (MalformedObjectNameException e) {
              try {
                  String s = "Your query string was improperly formatted. " +
                          "Please try another query.";
                  out.println("<div class='paragraphHead'> " +
                          "Invalid Query String </div>");
                  out.println("<p>" + s + "</p>");
              } catch (IOException ex) {
                  e.printStackTrace();
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
  
          return EVAL_BODY_INCLUDE;
      }
  
      public int doEndTag() {
          return EVAL_PAGE;
      }
  
      private void printMBeanStack(JspWriter out, List mbeans)
              throws IOException {
          Iterator iter = mbeans.iterator();
          String currentDomain = "";
          int i = 0;
          while (iter.hasNext()) {
              ObjectInstance instance = (ObjectInstance) iter.next();
              ObjectName name = instance.getObjectName();
  
              if (!(name.getDomain().equals(currentDomain))) {
                  if (i != 0) {
                      out.println("</ul>\n");
                  }
                  currentDomain = name.getDomain();
                  out.println(
                          "\n<div class='paragraphHead'>" + currentDomain + "</div>");
                  out.println("<ul class='mbeanList'>");
  
              }
  
              String cName = name.getCanonicalName();
              String encodedName = URLEncoder.encode(cName, "UTF-8");
              String output = cName.substring(cName.indexOf(":") + 1);
  
              out.println("<li><a href=\"mbeanInfo.jsp?MBeanName=" +
                      encodedName + "\">" + URLDecoder.decode(output, "UTF-8") + "</a></li>");
  
              i++;
          }
  
          out.println("</ul>\n");
          out.println("<br/> Number of MBeans == " + i);
      }
  
      /*
       * The idea behind this method is to build a tree structure in the list
       * of MBeans and sort out the objects by subgroups.  This would make them
       * a lot easier to read on the screen.
       *
       * Unfortunately, this method isn't ready yet.
       */
      private void printCascadingDefinition(JspWriter out, String output) {
          //TODO: Format the JSR77 stuff so it's more readable.
      }
  
      private List toList(Set set) {
          List list = new ArrayList();
          list.addAll(set);
          MBeanComparator comparator = new MBeanComparator();
          Collections.sort(list, comparator);
          return list;
      }
  
  }
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/MBeanServerContextSupport.java
  
  Index: MBeanServerContextSupport.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import javax.management.MBeanServer;
  import javax.servlet.jsp.tagext.BodyTagSupport;
  
  /*
   * This class provides a set of common methods for accessing the
   * MBeanServerContextTag and its contents, as well as for accessing
   * the BodyTagSupport class required for JSP tag libraries.
   */
  
  public class MBeanServerContextSupport extends BodyTagSupport {
  
      protected MBeanServerContextTag getMBeanServerContext() {
          return (MBeanServerContextTag)
                  findAncestorWithClass(this, MBeanServerContextTag.class);
      }
  
      protected MBeanServer getMBeanServer() {
          return getMBeanServerContext().getMBeanServer();
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/MBeanServerContextTag.java
  
  Index: MBeanServerContextTag.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import java.util.Iterator;
  import java.util.Set;
  import javax.management.MBeanServer;
  import javax.management.MBeanServerFactory;
  import javax.management.ObjectName;
  import javax.management.QueryExp;
  import javax.servlet.jsp.tagext.BodyTagSupport;
  
  public class MBeanServerContextTag extends BodyTagSupport {
      private MBeanServer server;
  
      public int doStartTag() {
          server = getMBeanServer();
          return EVAL_BODY_INCLUDE;
      }
  
      public int doEndTag() {
          return EVAL_PAGE;
      }
  
      public MBeanServer getMBeanServer() {
          Iterator servers = MBeanServerFactory.findMBeanServer(null).iterator();
          MBeanServer server = null;
          while (servers.hasNext()) {
              server = (MBeanServer) servers.next();
          }
          return server;
      }
  
      public String getObjectNameFilter() {
          String filter =
                  pageContext.getRequest().getParameter("ObjectNameFilter");
          if (filter == null || filter == "") {
              return "*:*";
          }
          return filter;
      }
  
      public Set getMBeans() {
          try {
              if (server != null) {
                  ObjectName objectName = new ObjectName(getObjectNameFilter());
                  QueryExp query = null;
                  return server.queryMBeans(objectName, query);
              } else {
                  throw new Exception("MBean server has not been initialized");
              }
          } catch (Exception e) {
              e.printStackTrace();
          }
          return null;
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/taglib/MBeanServerContextValueTag.java
  
  Index: MBeanServerContextValueTag.java
  ===================================================================
  package org.apache.geronimo.console.web.taglib;
  
  import java.io.IOException;
  import javax.management.MBeanServer;
  import javax.servlet.jsp.JspWriter;
  
  /**
   * This tag presents the contents of an attribute from the MBeanServerContext
   * tag to the screen.  The attribute type is defined with the "type" parameter
   * in the attribute tag.
   *
   */
  public final class MBeanServerContextValueTag extends MBeanServerContextSupport {
      private String type = "";
      private MBeanServerContextTag ctx;
      private MBeanServer server;
  
      public int doStartTag() {
          ctx = getMBeanServerContext();
          server = ctx.getMBeanServer();
          JspWriter out = pageContext.getOut();
  
          try {
              if (server != null) {
                  String output = getContextValue(getType());
                  out.print(output);
              }
          } catch (IOException e) {
              e.printStackTrace();
          }
          return EVAL_BODY_INCLUDE;
      }
  
      public int doEndTag() {
          return EVAL_PAGE;
      }
  
      public String getType() {
          return type;
      }
  
      public void setType(String type) {
          this.type = type;
      }
  
      private String getContextValue(String type) {
          if (type.equals("ObjectNameFilter")) {
              return ctx.getObjectNameFilter();
          }
          return "error, attribute [" + type + "] not recognized";
      }
  }
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/util/MBeanAttributesComparator.java
  
  Index: MBeanAttributesComparator.java
  ===================================================================
  package org.apache.geronimo.console.web.util;
  
  import java.util.Comparator;
  
  /*
   * Sort Attribute Strings while ignoring case.  Later may be changed to
   * better handle the JSR-77 attributes.
   *
   */
  
  public class MBeanAttributesComparator implements Comparator {
      private static final int LEFT_GREATER = 1;
      private static final int RIGHT_GREATER = -1;
      private static final int EQUAL = 0;
  
      public int compare(Object o1, Object o2) {
          String s1 = (String) o1;
          String s2 = (String) o2;
          return s1.compareToIgnoreCase(s2);
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/java/org/apache/geronimo/console/web/util/MBeanComparator.java
  
  Index: MBeanComparator.java
  ===================================================================
  package org.apache.geronimo.console.web.util;
  
  import java.util.Comparator;
  import java.util.StringTokenizer;
  import javax.management.ObjectInstance;
  import javax.management.ObjectName;
  
  /*
   * This class is supposed to sort by Canonical Name.  Unfortunately, it
   * will not place single token domains before multiple token domains of
   * the same type (foo.bar > foo at the moment).
   */
  
  public class MBeanComparator implements Comparator {
      private static final int LEFT_GREATER = 1;
      private static final int RIGHT_GREATER = -1;
      private static final int EQUAL = 0;
  
      public int compare(Object o1, Object o2) {
  
          ObjectName left = ((ObjectInstance) o1).getObjectName();
          ObjectName right = ((ObjectInstance) o2).getObjectName();
          String leftName = left.getCanonicalName();
          String rightName = right.getCanonicalName();
  
          StringTokenizer leftDomainTokenizer =
                  new StringTokenizer(leftName, ".");
  
          StringTokenizer rightDomainTokenizer =
                  new StringTokenizer(rightName, ".");
  
          while (leftDomainTokenizer.hasMoreTokens()) {
              if (!rightDomainTokenizer.hasMoreTokens()) {
                  return RIGHT_GREATER;
              }
              String leftToken = leftDomainTokenizer.nextToken();
              String rightToken = rightDomainTokenizer.nextToken();
              int comparison = leftToken.compareToIgnoreCase(rightToken);
              if (comparison != 0) {
                  return comparison;
              }
          }
  
          // left has no more tokens
          if (rightDomainTokenizer.hasMoreTokens()) {
              return LEFT_GREATER;
          }
          // both ran out of tokens so they are equal
          return EQUAL;
      }
  }
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/faq.jsp
  
  Index: faq.jsp
  ===================================================================
  <%@ page language="java" contentType="text/html" session="false" %>
  <%@ taglib uri="/WEB-INF/geronimo_jmx-console_v0-1.tld" prefix="jmx" %>
  
  <html>
  <head>
      <title>Geronimo Management Console -- Frequently Asked Questions</title>
      <link rel="stylesheet" href="/jmx-console/style.css"/>
  </head>
  
  <body>
  <img src="images/geronimo_logo_console.gif" border="0" alt="geronimo jmx console"/>
  <div id="topNavBar"><div class="topNav">JMX Agent View</div></div>
  
  <jsp:include page="leftNavigation.jsp"/>
  
  <div id="panelTitle">Frequently Asked Questions</div>
  <div id="panel"><a name="objectName"></a>
  
  <p><strong>How do I construct an ObjectName filter?</strong></p>
  <p>To construct an ObjectName filter you must first list the domain of the MBean.  The domain is the part of the MBean's CanonicalName which comes before the colon (:).  The part which comes after the colon is a list of the MBean's properties. In order to create a query, you must type in a domain substring, a colon, and a "&lt;name&gt;=&lt;value&gt;" pair followed by a comma. Wildcards (*) are also accepted as substrings in a limited fashion.</p>
  
  <div class="listHead">These queries will work:</div>
  <ul>
      <li>*:*</li>
      <li>jmi*:*</li>
      <li>*:name=RMI,*</li>
  </ul>
  
  <div class="listHead">These queries will not:</div>
  <ul>
      <li>*</li>
      <li>jmi*</li>
      <li>*:*name*</li>
  </ul>
  
  <p>The console's capacity to filter the display results through this method is limited by the functionality of the underlying JMX implementation and the details of the JMX specification.</p>
  
  </div>
  
  </body>
  </html>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/index.jsp
  
  Index: index.jsp
  ===================================================================
  <%@ page language="java" contentType="text/html" session="false" %>
  <%@ taglib uri="/WEB-INF/geronimo_jmx-console_v0-1.tld" prefix="jmx" %>
  
  <html>
  <head>
      <title>Geronimo Management Console</title>
      <link rel="stylesheet" href="/jmx-console/style.css"/>
  </head>
  
  <body>
  <jmx:MBeanServerContext>
  <img src="images/geronimo_logo_console.gif" border="0" alt="geronimo jmx console"/>
  <div id="topNavBar"><div class="topNav">JMX Agent View</div></div>
  
  <jsp:include page="leftNavigation.jsp"/>
  
  <div id="panelTitle">MBean Stack</div>
  <div id="panel">
  
  <form method="GET" action="index.jsp">
  <input class="textInput" type="text" size="30" name="ObjectNameFilter" value="<jmx:MBeanServerContextValue type='ObjectNameFilter'/>"/>
  <input class="submit" type="submit" tabindex="1" value="Filter Output"/>
  <jmx:ClearFilter/>
  (<a href="/jmx-console/faq.jsp#objectName"/>help</a>)
  </form>
  
  <jmx:MBeanServerContents/>
  
  </div>
  
  </jmx:MBeanServerContext>
  </body>
  </html>
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/leftNavigation.jsp
  
  Index: leftNavigation.jsp
  ===================================================================
  <div id="left">
  
  <div id="leftNavBar">
      <div class="leftNav">
          <h2>Managed Resources</h2>
          <div class="links">
              <a href="/jmx-console/index.jsp">MBean Stack</a>
              <br/>Relationships
              <br/>Dependencies
              <br/>Deployments
              <br/>Cluster
              <br/>Remote Resources
          </div>
  
          <h2> Configuration </h2>
          <div class="links">
              Local Services
              <br/>Add / Remove Modules
          </div>
  
          <h2> Help </h2>
          <div class="links">
              Managing Geronimo
              <br/><a href="/jmx-console/faq.jsp">JMX-Console FAQ</a>
              <br/>Contact us
          </div>
      </div>
  </div>
  
  </div>
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/mbeanInfo.jsp
  
  Index: mbeanInfo.jsp
  ===================================================================
  <%@ page language="java" contentType="text/html" session="false" %>
  <%@ taglib uri="/WEB-INF/geronimo_jmx-console_v0-1.tld" prefix="jmx" %>
  
  <html>
  <head>
      <title>Geronimo Management Console</title>
      <link rel="stylesheet" href="/jmx-console/style.css"/>
  </head>
  
  <body>
  <jmx:MBeanServerContext>
  <img src="images/geronimo_logo_console.gif" border="0" alt="geronimo jmx console"/>
  <div id="topNavBar"><div class="topNav">JMX Web Console</div></div>
  
  <jsp:include page="leftNavigation.jsp"/>
  
  <div id="panelTitle">MBean Attributes View</div>
  
  <div id="panel" class="two">
  <jmx:MBeanAttributes/>
  </div>
  
  </jmx:MBeanServerContext>
  </body>
  </html>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/style.css
  
  Index: style.css
  ===================================================================
  a           { color: #2a3542;
                text-decoration: none;}
  a:link      { }
  a:hover     { text-decoration: underline; }
  a:active    { text-decoration: underline; }
  a:visited   { }
  
  body        { margin: 0px 0px 8px 0px;
                font-family: verdana, arial;
                font-size: 11px;}
  
  form        { margin: 0px;
                padding: 0px;}
  
  h1          { font-size: 18px; }
  
  h2          { font-size: 11px;
                margin: 0px;
                line-height: 16px;
                border-bottom: 1px solid #829DBD;
                width: 160px; }
  
  #graph      { border: 1px solid black;
                padding: 0px;
                margin: 0px;
                font-size: 11px;}
  
  p           { margin-top: 0px;
                margin-bottom: 8px; }
  
  ul          { margin: 0px 0px 16px 0px;
                padding: 0px 0px 0px 16px; }
  
  #topNavBar  { background-color: #556F8F;
                padding-top: 4px;
                padding-bottom: 3px;
                border-top: 1px solid #242D39;
                border-bottom: 1px solid #242D39; }
  
  .topNav     { color: #fff;
                padding-left: 16px;
                font-weight: bold; }
  
  #leftNavBar { background-color: #F4F9FE;
                width: 176px;
                border-right: 1px solid #242D39;
                border-bottom: 1px solid #242D39;
                margin-bottom: 8px;}
  
  #left       { width: 176px;
                margin: 0px;
                float: left;
                line-height: 16px; }
  
  .leftNav    { margin: 0px 8px 8px 8px;
                padding-top: 8px; }
  
  .links      { padding-left: 16px;
                margin-bottom: 8px;
                color: #aaa;}
  
  #panelTitle { padding: 4px 8px 3px 8px;
                background-color: #85A1BD;
                border: 1px solid #242D39;
                color: #fff;
                margin: 8px 8px 0px 184px;
                font-weight: bold; }
  
  #panel      { padding: 8px 8px 8px 6px;
                background-color: #fff;
                margin: 0px 8px 8px 186px; }
  
  #panel.two          { padding: 0px;
                        background-color: #fff;
                        margin: 0px 8px 8px 184px; }
  
  #panel.two table    { font-size: 11px;
                        margin-top: 8px;
                        border-left: 1px solid #242D39;
                        border-bottom: 1px solid #242D39;
                        border-right: 1px solid #242D39;}
  
  .question   { font-weight: bold;
                margin: 0px;
                padding: 8px 0px 0px 0px;
                color: #444;}
  
  .sponsor    { margin: 16px 0px 0px 0px;
                text-align: center;}
  
  .textInput  { font-size: 11px;
                font-family: verdana, arial;
                border-top: 2px solid #242D39;
                border-right: 1px solid #242D39;
                border-bottom: 1px solid #242D39;
                border-left: 2px solid #242D39;
                margin: 2px 8px 1px 0px;
                padding: 0px 8px 0px 8px;;}
  
  .submit     { font-size: 11px;
                font-family: verdana, arial;
                background-color: #DBE4EE;
                padding: 0px 8px 0px 8px;
                margin: 0px 8px 1px 0px;
                border: 1px solid #242D39; }
  
  
  .paragraphHead      { margin: 16px 0px 0px 0px;
                        color: #242D39;
                        font-size: 14px;
                        font-weight: bold; }
  
  .listHead    { margin: 16px 0px 0px 0px;
                 color: #242D39;
                 font-weight: bold; }
  
  .mbeanList  { margin: 0px 0px 0px 0px;
                padding: 0px 0px 0px 16px;
                color: #242D39; }
  
  .mbeanInfo  { background-color: #F6FBFD;
                border: 1px solid #242D39;}
  
  
  td.name             { padding: 4px 4px 4px 16px;
                        text-align: right;
                        border-top: 1px solid #242D39; }
  
  td.value            { padding: 4px 16px 4px 4px;
                        border-top: 1px solid #242D39; }
  
  td.center           { padding: 4px 4px 4px 4px;
                        border-top: 1px solid #242D39; }
  
  td.head             { padding: 4px 16px 4px 16px;
                        text-align: left;
                        border-top: 1px solid #242D39;}
  
  tr.head             { background-color: #DBE4F2;
                        color: #000;
                        font-weight: bold; }
  
  tr.head td.name     { padding-left: 16px; }
  
  tr.head td.value    { padding-right: 16px; }
  
  tr.one              { background-color: #fff; }
  
  tr.two              { background-color: #F2F7FC; }
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/template.html
  
  Index: template.html
  ===================================================================
  
  
  
  <html>
  <head>
      <title>Geronimo JMX Console</title>
  
  
  <style>
  
  
  a           { color: #2a3542; }
  a:link      { text-decoration: none; }
  a:hover     { text-decoration: underline;  }
  a:active    { color: #242D39; }
  
  body        { margin: 0px 0px 8px 0px;
                font-family: verdana, arial;
                font-size: 11px;}
  
  form        { margin: 0px;
                padding: 0px;}
  
  h1          { font-size: 18px; }
  
  h2          { font-size: 11px;
                margin: 0px;
                line-height: 16px;
                border-bottom: 1px solid #829DBD;
                width: 160px; }
  
  p           { margin-top: 0px;
                margin-bottom: 8px; }
  
  #topNavBar  { background-color: #627789;
                padding-top: 4px;
                padding-bottom: 3px;
                border-top: 1px solid #242D39;
                border-bottom: 1px solid #242D39; }
  
  .topNav     { color: #fff;
                padding-left: 16px;
                font-weight: bold; }
  
  #leftNavBar { background-color: #F6FBFD;
                width: 176px;
                border-right: 1px solid #242D39;
                border-bottom: 1px solid #242D39;
                margin-bottom: 8px;}
  
  #left       { width: 176px;
                margin: 0px;
                float: left;
                line-height: 16px; }
  
  .leftNav    { margin: 0px 8px 8px 8px;
                padding-top: 8px; }
  
  .links      { padding-left: 16px;
                margin-bottom: 8px; }
  
  #panelTitle { padding: 4px 8px 3px 8px;
                background-color: #8299AC;
                border: 1px solid #242D39;
                color: #fff;
                margin: 8px 8px 0px 184px;
                font-weight: bold; }
  
  #panel      { padding: 8px 8px 8px 8px;
                background-color: #fff;
                margin: 0px 8px 8px 184px; }
  
  .question   { font-weight: bold;
                margin: 0px;
                padding: 8px 0px 0px 0px;
                color: #444;}
  
  .sponsor    { margin: 16px 0px 0px 0px;
                text-align: center;}
  
  .textInput  { font-size: 11px;
                font-family: verdana, arial;
                border-top: 2px solid #242D39;
                border-right: 1px solid #242D39;
                border-bottom: 1px solid #242D39;
                border-left: 2px solid #242D39;
                margin: 2px 8px 1px 0px;
                padding: 0px 8px 0px 8px;;}
  
  .submit     { font-size: 11px;
                font-family: verdana, arial;
                background-color: #DBE4EE;
                padding: 0px 8px 0px 8px;
                margin: 0px 0px 1px 0px;
                border: 1px solid #242D39; }
  
  
  .mbeanDomain        { margin: 16px 0px 0px 0px;
                        color: #242D39;
                        font-size: 14px;
                        font-weight: bold;}
  
  .mbeanList  { margin: 0px 0px 0px 24px;
                color: #242D39;
                list-style-type: disc;}
  
  
  </style>
  
  
  
  </head>
  
  <body>
  <img src="images/geronimo_logo_console.gif" border="0" alt="geronimo jmx console"/>
  <div id="topNavBar"><div class="topNav">JMX Agent View</div></div>
  <div id="left">
  
  <div id="leftNavBar">
      <div class="leftNav">
          <h2>Managed Resources</h2>
          <div class="links">
              <a href="/index.jsp">MBean Stack</a>
              <br/>Relationships
              <br/>Dependencies
              <br/>Deployments
              <br/>Cluster
              <br/>Remote Resources
          </div>
  
          <h2> Configuration </h2>
          <div class="links">
              Local Services
              <br/>Add / Remove Modules
          </div>
  
          <h2> Help </h2>
          <div class="links">
              Managing Geronimo
              <br/>JMX-Console FAQ
              <br/>Contact us
          </div>
      </div>
  </div>
  
  </div>
  
  <div id="panelTitle">MBean Stack</div>
  <div id="panel">
  
  <form method="GET" action="index.jsp">
  <input class="textInput" type="text" size="30"/>
  <input class="submit" type="submit" tabindex="1" value="Filter Output"/>
  </form>
  
  <div class='mbeanDomain'>elba.admin</div>
  <ul class='mbeanList'>
  <li>service=PluginManager</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.cache</div>
  <ul class='mbeanList'>
  <li>service=InvalidationManager</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.deployment</div>
  <ul class='mbeanList'>
  <li>flavor=URL,type=DeploymentScanner</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.ejb</div>
  <ul class='mbeanList'>
  <li>service=EJBDeployer
      <ul class='mbeanList'>
          <li>something=repetetive</li>
          <ul class='mbeanList'>
              <li>somethin=else</li>
              <ul class='mbeanList'>
                  <li>something=again</li>
                  <li>funk=soul</li>
                  <li>brother=check</li>
                  <li>it=outnow</li>
              </ul>
          </ul>
          <li>somethin=else</li>
          <ul class='mbeanList'>
              <li>something=again</li>
              <li>funk=soul</li>
              <li>brother=check</li>
              <li>it=outnow</li>
          </ul>
      </ul>
  </ul>
  
  
  <div class='mbeanDomain'>elba.j2ee</div>
  <ul class='mbeanList'>
  <li>jndiName=ejb/mgmt/MEJB,plugin=pool,service=EJB</li>
  <li>jndiName=ejb/mgmt/MEJB,service=EJB</li>
  <li>module=ejb-management.jar,service=EjbModule</li>
  <li>service=EARDeployer</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.jca</div>
  <ul class='mbeanList'>
  <li>name=DefaultDS,service=LocalTxCM</li>
  <li>name=DefaultDS,service=ManagedConnectionFactory</li>
  <li>name=DefaultDS,service=ManagedConnectionPool</li>
  <li>name=Elba JDBC XATransaction ResourceAdapter,service=RARDeployment</li>
  <li>name=Elba LocalTransaction JDBC Wrapper,service=RARDeployment</li>
  <li>name=JMS Adapter,service=RARDeployment</li>
  <li>name=JmsXA,service=ManagedConnectionFactory</li>
  <li>name=JmsXA,service=ManagedConnectionPool</li>
  <li>name=JmsXA,service=TxCM</li>
  <li>service=CachedConnectionManager</li>
  <li>service=ConnectionFactoryDeployer</li>
  <li>service=RARDeployer</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.jdbc</div>
  <ul class='mbeanList'>
  <li>service=SQLExceptionProcessor</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.jmx</div>
  <ul class='mbeanList'>
  <li>name=Invoker,protocol=jrmp,service=proxyFactory,type=adaptor</li>
  <li>name=Invoker,type=adaptor</li>
  <li>name=RMI,type=Connector</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.management.local</div>
  <ul class='mbeanList'>
  <li>EJBModule=ejb-management.jar,J2EEApplication=null,J2EEServer=Local,j2eeType=StatelessSessionBean,name=ejb/mgmt/MEJB</li>
  <li>J2EEApplication=elbamq-httpil.sar,J2EEServer=Local,j2eeType=WebModule,name=elbamq-httpil.war</li>
  <li>J2EEApplication=elbamq-httpil.sar,J2EEServer=Local,WebModule=elbamq-httpil.war,j2eeType=Servlet,name=default</li>
  <li>J2EEApplication=elbamq-httpil.sar,J2EEServer=Local,WebModule=elbamq-httpil.war,j2eeType=Servlet,name=HTTPServerILServlet</li>
  <li>J2EEApplication=elbamq-httpil.sar,J2EEServer=Local,WebModule=elbamq-httpil.war,j2eeType=Servlet,name=invoker</li>
  <li>J2EEApplication=elbamq-httpil.sar,J2EEServer=Local,WebModule=elbamq-httpil.war,j2eeType=Servlet,name=jsp</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,j2eeType=WebModule,name=invoker.war</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=default</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=EJBInvokerHAServlet</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=EJBInvokerServlet</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=invoker</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=JMXInvokerServlet</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=JNDIFactory</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=jsp</li>
  <li>J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war,j2eeType=Servlet,name=ReadOnlyJNDIFactory</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=EJBModule,name=ejb-management.jar</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=ResourceAdapterModule,name=elba-local-jdbc.rar</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=ResourceAdapterModule,name=elba-xa-jdbc.rar</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=ResourceAdapterModule,name=jms-ra.rar</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=WebModule,name=jmx-console.war</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=WebModule,name=was-jmx-console.war</li>
  <li>J2EEApplication=null,J2EEServer=Local,j2eeType=WebModule,name=web-console.war</li>
  <li>J2EEApplication=null,J2EEServer=Local,ResourceAdapterModule=elba-local-jdbc.rar,j2eeType=ResourceAdapter,name=Elba LocalTransaction JDBC Wrapper</li>
  <li>J2EEApplication=null,J2EEServer=Local,ResourceAdapterModule=elba-xa-jdbc.rar,j2eeType=ResourceAdapter,name=Elba JDBC XATransaction ResourceAdapter</li>
  <li>J2EEApplication=null,J2EEServer=Local,ResourceAdapterModule=jms-ra.rar,j2eeType=ResourceAdapter,name=JMS Adapter</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=cache-invalidation-service.xml,j2eeType=MBean,name=elba.cache%3aservice%3dInvalidationManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=console-mgr.sar,j2eeType=MBean,name=elba.admin%3aservice%3dPluginManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-jca.sar,j2eeType=MBean,name=elba.jca%3aservice%3dConnectionFactoryDeployer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-jca.sar,j2eeType=MBean,name=elba.jca%3aservice%3dRARDeployer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.deployment%3atype%3dDeploymentScanner%2cflavor%3dURL</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.ejb%3aservice%3dEJBDeployer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.j2ee%3aservice%3dEARDeployer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.management.local%3aj2eeType%3dJ2EEDomain%2cname%3dManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.rmi%3atype%3dRMIClassLoader</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.scripts%3aservice%3dBSHDeployer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.security%3aservice%3dJaasSecurityManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.security%3aservice%3dSecurityConfig</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.security%3aservice%3dXMLLoginConfig</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba.system%3atype%3dLog4jService%2cservice%3dLogging</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3djrmp</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dlocal</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dpooled</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dJNDIView</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dNaming</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elba-service.xml,j2eeType=MBean,name=elba%3aservice%3dWebService</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dA</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dB</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dC</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dD</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dex</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dtestQueue</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dTopic%2cname%3dsecuredTopic</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dTopic%2cname%3dtestDurableTopic</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-destinations-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dTopic%2cname%3dtestTopic</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-httpil.sar,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dHTTP</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq.destination%3aservice%3dQueue%2cname%3dDLQ</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dCacheStore</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dDestinationManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dJVM</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dOIL</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dOIL2</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dRMI</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dUIL</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvocationLayer%2ctype%3dUIL2</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dInvoker</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dMessageCache</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dPersistenceManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dSecurityManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dStateManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbamq-service.xml,j2eeType=MBean,name=elba.mq%3aservice%3dTracingInterceptor</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=elbaweb-tomcat41.sar,j2eeType=MBean,name=elba.web%3aservice%3dWebServer</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=http-invoker.sar,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dhttp</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=http-invoker.sar,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dhttp%2ctarget%3dNaming</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=http-invoker.sar,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dhttp%2ctarget%3dNaming%2creadonly%3dtrue</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=http-invoker.sar,j2eeType=MBean,name=elba%3aservice%3dinvoker%2ctype%3dhttpHA</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=jmx-invoker-adaptor-server.sar,j2eeType=MBean,name=elba.jmx%3atype%3dadaptor%2cname%3dInvoker</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=jmx-invoker-adaptor-server.sar,j2eeType=MBean,name=elba.jmx%3atype%3dadaptor%2cname%3dInvoker%2cprotocol%3djrmp%2cservice%3dproxyFactory</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=jmx-rmi-adaptor.sar,j2eeType=MBean,name=elba.jmx%3atype%3dConnector%2cname%3dRMI</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=mail-service.xml,j2eeType=MBean,name=elba%3aservice%3dMail</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=properties-service.xml,j2eeType=MBean,name=elba%3atype%3dService%2cname%3dPropertyEditorManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=properties-service.xml,j2eeType=MBean,name=elba%3atype%3dService%2cname%3dSystemProperties</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=sqlexception-service.xml,j2eeType=MBean,name=elba.jdbc%3aservice%3dSQLExceptionProcessor</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=transaction-service.xml,j2eeType=MBean,name=elba.jca%3aservice%3dCachedConnectionManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=transaction-service.xml,j2eeType=MBean,name=elba%3aservice%3dClientUserTransaction</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=transaction-service.xml,j2eeType=MBean,name=elba%3aservice%3dTransactionManager</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=transaction-service.xml,j2eeType=MBean,name=elba%3aservice%3dXidFactory</li>
  <li>J2EEApplication=null,J2EEServer=Local,ServiceModule=uuid-key-generator.sar,j2eeType=MBean,name=elba%3aservice%3dUUIDKeyGeneratorFactory</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=jmx-console.war,j2eeType=Servlet,name=default</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=jmx-console.war,j2eeType=Servlet,name=invoker</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=jmx-console.war,j2eeType=Servlet,name=jsp</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=default</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=DisplayMBeans</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=DisplayOpResult</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=HtmlAdaptor</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=InspectMBean</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=invoker</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=was-jmx-console.war,j2eeType=Servlet,name=jsp</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=default</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=HTTP Invocation</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=invoker</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=J2EEFolder</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=jsp</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=JSR77 Domains and Servers</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=JSR77 EJBModules and EJBs</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=MBeans</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=SystemFolder</li>
  <li>J2EEApplication=null,J2EEServer=Local,WebModule=web-console.war,j2eeType=Servlet,name=UCLs</li>
  <li>J2EEServer=Local,j2eeType=J2EEApplication,name=elbamq-httpil.sar</li>
  <li>J2EEServer=Local,j2eeType=J2EEApplication,name=http-invoker.sar</li>
  <li>J2EEServer=Local,j2eeType=JavaMailResource,name=DefaultMail</li>
  <li>J2EEServer=Local,j2eeType=JCAManagedConnectionFactory,name=DefaultDS</li>
  <li>J2EEServer=Local,j2eeType=JCAManagedConnectionFactory,name=JmsXA</li>
  <li>J2EEServer=Local,j2eeType=JMSResource,name=LocalJMS</li>
  <li>J2EEServer=Local,j2eeType=JNDIResource,name=LocalJNDI</li>
  <li>J2EEServer=Local,j2eeType=JTAResource,name=ClientUserTransaction</li>
  <li>J2EEServer=Local,j2eeType=JTAResource,name=TransactionManager</li>
  <li>J2EEServer=Local,j2eeType=JVM,name=localhost</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=cache-invalidation-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=console-mgr.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elba-jca.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elba-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elbamq-destinations-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elbamq-httpil.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elbamq-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=elbaweb-tomcat41.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=http-invoker.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=jmx-ejb-connector-server.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=jmx-invoker-adaptor-server.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=jmx-rmi-adaptor.sar</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=mail-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=properties-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=schedule-manager-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=scheduler-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=sqlexception-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=transaction-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=user-service.xml</li>
  <li>J2EEServer=Local,j2eeType=ServiceModule,name=uuid-key-generator.sar</li>
  <li>J2EEServer=Local,JCAResource=DefaultDS,j2eeType=JCAConnectionFactory,name=DefaultDS</li>
  <li>J2EEServer=Local,JCAResource=JmsXA,j2eeType=JCAConnectionFactory,name=JmsXA</li>
  <li>J2EEServer=Local,ResourceAdapter=Elba LocalTransaction JDBC Wrapper,j2eeType=JCAResource,name=DefaultDS</li>
  <li>J2EEServer=Local,ResourceAdapter=JMS Adapter,j2eeType=JCAResource,name=JmsXA</li>
  <li>j2eeType=J2EEDomain,name=Manager</li>
  <li>j2eeType=J2EEServer,name=Local</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.mq.destination</div>
  <ul class='mbeanList'>
  <li>name=A,service=Queue</li>
  <li>name=B,service=Queue</li>
  <li>name=C,service=Queue</li>
  <li>name=D,service=Queue</li>
  <li>name=DLQ,service=Queue</li>
  <li>name=ex,service=Queue</li>
  <li>name=securedTopic,service=Topic</li>
  <li>name=testDurableTopic,service=Topic</li>
  <li>name=testQueue,service=Queue</li>
  <li>name=testTopic,service=Topic</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.mq</div>
  <ul class='mbeanList'>
  <li>name=elbamqProvider,service=JMSProviderLoader</li>
  <li>name=StdJMSPool,service=ServerSessionPoolMBean</li>
  <li>service=CacheStore</li>
  <li>service=DestinationManager</li>
  <li>service=InvocationLayer,type=HTTP</li>
  <li>service=InvocationLayer,type=JVM</li>
  <li>service=InvocationLayer,type=OIL</li>
  <li>service=InvocationLayer,type=OIL2</li>
  <li>service=InvocationLayer,type=RMI</li>
  <li>service=InvocationLayer,type=UIL</li>
  <li>service=InvocationLayer,type=UIL2</li>
  <li>service=Invoker</li>
  <li>service=MessageCache</li>
  <li>service=PersistenceManager</li>
  <li>service=SecurityManager</li>
  <li>service=StateManager</li>
  <li>service=TracingInterceptor</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.rmi</div>
  <ul class='mbeanList'>
  <li>type=RMIClassLoader</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.scripts</div>
  <ul class='mbeanList'>
  <li>service=BSHDeployer</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.security</div>
  <ul class='mbeanList'>
  <li>service=JaasSecurityManager</li>
  <li>service=SecurityConfig</li>
  <li>service=XMLLoginConfig</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.system</div>
  <ul class='mbeanList'>
  <li>service=JARDeployer</li>
  <li>service=Logging,type=Log4jService</li>
  <li>service=MainDeployer</li>
  <li>service=ServiceController</li>
  <li>service=ServiceDeployer</li>
  <li>type=Server</li>
  <li>type=ServerConfig</li>
  <li>type=ServerInfo</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba.web</div>
  <ul class='mbeanList'>
  <li>context=/elbamq-httpil,name=default,vhost=localhost</li>
  <li>context=/elbamq-httpil,name=HTTPServerILServlet,vhost=localhost</li>
  <li>context=/elbamq-httpil,name=invoker,vhost=localhost</li>
  <li>context=/elbamq-httpil,name=jsp,vhost=localhost</li>
  <li>context=/invoker,name=default,vhost=localhost</li>
  <li>context=/invoker,name=EJBInvokerHAServlet,vhost=localhost</li>
  <li>context=/invoker,name=EJBInvokerServlet,vhost=localhost</li>
  <li>context=/invoker,name=invoker,vhost=localhost</li>
  <li>context=/invoker,name=JMXInvokerServlet,vhost=localhost</li>
  <li>context=/invoker,name=JNDIFactory,vhost=localhost</li>
  <li>context=/invoker,name=jsp,vhost=localhost</li>
  <li>context=/invoker,name=ReadOnlyJNDIFactory,vhost=localhost</li>
  <li>context=/jmx-console,name=default,vhost=localhost</li>
  <li>context=/jmx-console,name=invoker,vhost=localhost</li>
  <li>context=/jmx-console,name=jsp,vhost=localhost</li>
  <li>context=/was-jmx-console,name=default,vhost=localhost</li>
  <li>context=/was-jmx-console,name=DisplayMBeans,vhost=localhost</li>
  <li>context=/was-jmx-console,name=DisplayOpResult,vhost=localhost</li>
  <li>context=/was-jmx-console,name=HtmlAdaptor,vhost=localhost</li>
  <li>context=/was-jmx-console,name=InspectMBean,vhost=localhost</li>
  <li>context=/was-jmx-console,name=invoker,vhost=localhost</li>
  <li>context=/was-jmx-console,name=jsp,vhost=localhost</li>
  <li>context=/web-console,name=default,vhost=localhost</li>
  <li>context=/web-console,name=HTTP Invocation,vhost=localhost</li>
  <li>context=/web-console,name=invoker,vhost=localhost</li>
  <li>context=/web-console,name=J2EEFolder,vhost=localhost</li>
  <li>context=/web-console,name=jsp,vhost=localhost</li>
  <li>context=/web-console,name=JSR77 Domains and Servers,vhost=localhost</li>
  <li>context=/web-console,name=JSR77 EJBModules and EJBs,vhost=localhost</li>
  <li>context=/web-console,name=MBeans,vhost=localhost</li>
  <li>context=/web-console,name=SystemFolder,vhost=localhost</li>
  <li>context=/web-console,name=UCLs,vhost=localhost</li>
  <li>service=WebServer</li>
  </ul>
  
  
  <div class='mbeanDomain'>elba</div>
  <ul class='mbeanList'>
  <li>name=PropertyEditorManager,type=Service</li>
  <li>name=SystemProperties,type=Service</li>
  <li>readonly=true,service=invoker,target=Naming,type=http</li>
  <li>service=ClientUserTransaction</li>
  <li>service=Hypersonic</li>
  <li>service=invoker,target=Naming,type=http</li>
  <li>service=invoker,type=http</li>
  <li>service=invoker,type=httpHA</li>
  <li>service=invoker,type=jrmp</li>
  <li>service=invoker,type=local</li>
  <li>service=invoker,type=pooled</li>
  <li>service=JNDIView</li>
  <li>service=Mail</li>
  <li>service=Naming</li>
  <li>service=TransactionManager</li>
  <li>service=UUIDKeyGeneratorFactory</li>
  <li>service=WebService</li>
  <li>service=XidFactory</li>
  </ul>
  
  
  <div class='mbeanDomain'>JMImplementation</div>
  <ul class='mbeanList'>
  <li>name=Default,service=LoaderRepository</li>
  <li>type=MBeanRegistry</li>
  <li>type=MBeanServerDelegate</li>
  </ul>
  
  
  <div class='mbeanDomain'>jmx.loading</div>
  <ul class='mbeanList'>
  <li>UCL=102a0a5</li>
  <li>UCL=1148603</li>
  <li>UCL=118223d</li>
  <li>UCL=14b6bed</li>
  <li>UCL=15b1773</li>
  <li>UCL=16dc861</li>
  <li>UCL=176e552</li>
  <li>UCL=18a6e6e</li>
  <li>UCL=18b8914</li>
  <li>UCL=1922f46</li>
  <li>UCL=1955970</li>
  <li>UCL=1972e3a</li>
  <li>UCL=1c486f2</li>
  <li>UCL=1f01a29</li>
  <li>UCL=1f03691</li>
  <li>UCL=39be68</li>
  <li>UCL=8ceeea</li>
  <li>UCL=9a8a68</li>
  <li>UCL=c4d04d</li>
  <li>UCL=cffc79</li>
  <li>UCL=d1e233</li>
  <li>UCL=f1916f</li>
  </ul>
  
  <br/> Number of MBeans == 283
  
  
  </div>
  
  </body>
  </html>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/template2.html
  
  Index: template2.html
  ===================================================================
  
  
  
  <html>
  <head>
      <title>Geronimo Management Console</title>
      <link rel="stylesheet" href="/jmx-console/style.css"/>
  </head>
  
  <body>
  
  <img src="images/geronimo_logo_console.gif" border="0" alt="geronimo jmx console"/>
  <div id="topNavBar"><div class="topNav">JMX Web Console</div></div>
  
  <div id="left">
  
  <div id="leftNavBar">
      <div class="leftNav">
          <h2>Managed Resources</h2>
          <div class="links">
              <a href="/jmx-console/index.jsp">MBean Stack</a>
              <br/>Relationships
              <br/>Dependencies
              <br/>Deployments
              <br/>Cluster
              <br/>Remote Resources
          </div>
  
          <h2> Configuration </h2>
          <div class="links">
              Local Services
              <br/>Add / Remove Modules
          </div>
  
          <h2> Help </h2>
          <div class="links">
              Managing Geronimo
              <br/><a href="/jmx-console/faq.jsp">JMX-Console FAQ</a>
              <br/>Contact us
          </div>
      </div>
  </div>
  
  </div>
  
  <div id="panelTitle">MBean Attributes View</div>
  
  <div id="panel" class="two">
  <table cellpadding="0" cellspacing="0">
      <tr class="head">
          <td class="name">Name /</td>
          <td class="value">Value</td>
      </tr>
      <tr class="one">
          <td class="name">Funk =</td>
          <td class="value">Soul</td>
      </tr>
      <tr class="two">
          <td class="name">Brother =</td>
          <td class="value">Right</td>
      </tr>
      <tr class="one">
          <td class="name">About =</td>
          <td class="value">Now</td>
      </tr>
  </table>
  </div>
  
  
  </body>
  </html>
  
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/WEB-INF/geronimo_jmx-console_v0-1.tld
  
  Index: geronimo_jmx-console_v0-1.tld
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
  
  <taglib>
      <tlibversion>0.1</tlibversion>
      <jspversion>1.2</jspversion>
      <shortname>geronimo_jmx-console</shortname>
      <uri>http://geronimo.apache.org/tlds/geronimo_jmx-console_v0-1.tld</uri>
  
      <tag>
          <name>MBeanServerContents</name>
          <tagclass>org.apache.geronimo.console.web.taglib.MBeanServerContentsTag</tagclass>
      </tag>
  
      <tag>
          <name>MBeanServerContext</name>
          <tagclass>org.apache.geronimo.console.web.taglib.MBeanServerContextTag</tagclass>
      </tag>
  
      <tag>
          <name>ClearFilter</name>
          <tagclass>org.apache.geronimo.console.web.taglib.ClearFilterTag</tagclass>
      </tag>
  
      <tag>
          <name>MBeanServerContextValue</name>
          <tagclass>org.apache.geronimo.console.web.taglib.MBeanServerContextValueTag</tagclass>
  
          <attribute>
              <name>type</name>
              <required>true</required>
              <rtexprvalue>false</rtexprvalue>
          </attribute>
      </tag>
  
      <tag>
          <name>MBeanAttributes</name>
          <tagclass>org.apache.geronimo.console.web.taglib.MBeanAttributesTag</tagclass>
      </tag>
  
  </taglib>
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
  
  <web-app>
  
      <!-- Welcome File List -->
      <welcome-file-list>
          <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
  
      <taglib>
          <taglib-uri>jmx-console</taglib-uri>
          <taglib-location>/WEB-INF/lib/jmx-console-servlet.jar</taglib-location>
      </taglib>
  
  </web-app>
  
  
  1.1                  incubator-geronimo/modules/console-web/src/webapp/images/geronimo_logo_console.gif
  
  	<<Binary file>>
  
  

Re: cvs commit: incubator-geronimo/modules/console-web/src/webapp/images geronimo_logo_console.gif

Posted by Dain Sundstrom <da...@coredevelopers.net>.
On Thursday, September 18, 2003, at 12:35 AM, Greg Stein wrote:

> On Thu, Sep 18, 2003 at 04:45:26AM -0000, dain@apache.org wrote:
> I see two issues here:
>
> 1) not a single file has an ASF copyright or license

Oops, my bad.  I forgot.  I'll add it now.

> 2) these "power plant" commits of large bodies of code are *very* hard 
> to
>    review. it is much nicer from a review standpoint to have this code
>    developed from scratch within the CVS repository. that provides a 
> way
>    to begin to gather input during development. as it stands, it will 
> be
>    very hard for somebody to review this whole thing and provide 
> credible
>    feedback, if any.

An initial import in a new area is an exception to the normal rule.  
The console did not work until last week and I just got the time to 
commit it.  Besides that, it is not much code to review (I did it in 30 
minutes).

-dain


Re: cvs commit: incubator-geronimo/modules/console-web/src/webapp/images geronimo_logo_console.gif

Posted by Greg Stein <gs...@lyra.org>.
On Thu, Sep 18, 2003 at 04:45:26AM -0000, dain@apache.org wrote:
> dain        2003/09/17 21:45:26
> 
>   Added:       modules/console-web maven.xml project.xml
>                modules/console-web/src/java/org/apache/geronimo/console/web/taglib
>                         ClearFilterTag.java MBeanAttributesTag.java
>                         MBeanServerContentsTag.java
>                         MBeanServerContextSupport.java
>                         MBeanServerContextTag.java
>                         MBeanServerContextValueTag.java
>                modules/console-web/src/java/org/apache/geronimo/console/web/util
>                         MBeanAttributesComparator.java MBeanComparator.java
>                modules/console-web/src/webapp faq.jsp index.jsp
>                         leftNavigation.jsp mbeanInfo.jsp style.css
>                         template.html template2.html
>                modules/console-web/src/webapp/WEB-INF
>                         geronimo_jmx-console_v0-1.tld web.xml
>                modules/console-web/src/webapp/images
>                         geronimo_logo_console.gif
>   Log:
>   Initial revision of web console from N. Alex Rupp

I see two issues here:

1) not a single file has an ASF copyright or license

2) these "power plant" commits of large bodies of code are *very* hard to
   review. it is much nicer from a review standpoint to have this code
   developed from scratch within the CVS repository. that provides a way
   to begin to gather input during development. as it stands, it will be
   very hard for somebody to review this whole thing and provide credible
   feedback, if any.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/