You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/08/03 07:22:00 UTC

svn commit: r562334 [1/8] - in /openejb/trunk/openejb3/server: ./ openejb-webadmin/ openejb-webadmin/src/ openejb-webadmin/src/main/ openejb-webadmin/src/main/etc/ openejb-webadmin/src/main/java/ openejb-webadmin/src/main/java/org/ openejb-webadmin/src...

Author: dblevins
Date: Thu Aug  2 22:21:56 2007
New Revision: 562334

URL: http://svn.apache.org/viewvc?view=rev&rev=562334
Log:
Somewhat ported over the webadmin.  Not yet really functional.

Added:
    openejb/trunk/openejb3/server/openejb-webadmin/
    openejb/trunk/openejb3/server/openejb-webadmin/pom.xml
    openejb/trunk/openejb3/server/openejb-webadmin/src/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/InvokeObjectBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/ViewClassBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/ViewEjbBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/ViewJndiBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/DefaultHttpBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpRequestImpl.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpResponseImpl.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/WebSession.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/WebSessionBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/WebSessionHome.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/DeploymentListBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/HomeBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/ListLogsBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/PropertiesBean.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/main/ReferenceData.java   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/META-INF/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/META-INF/ejb-jar.xml
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/META-INF/org.apache.openejb.server.ServerService/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/META-INF/org.apache.openejb.server.ServerService/webadmin
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/default.css   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/download.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/embedded.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/functions.js   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/hello-world.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/help/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/help/config/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/help/config/help.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/help/mapping/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/help/mapping/help.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/JavaCup.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/TreeClosed.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/TreeOpen.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/dotTrans.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/ejb.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/line_light.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/line_sm.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/logo_ejb.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/logo_ejb2.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/pepper.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/stripe105.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/stripes1.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/top_2.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/images/top_3.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/index.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/library.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/lists.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/pluggable.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/resources/htdocs/template.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/WEB-INF/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/WEB-INF/web.xml   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/default.css   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/ejbclasses.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/ejbref.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/enc-help.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/howitworks.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/JavaCup.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/TreeClosed.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/TreeOpen.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/dotTrans.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/ejb.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/favicon.ico   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/line_light.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/line_sm.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/logo_ejb.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/logo_ejb2.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/pepper.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/pepper.ico   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/stripe105.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/stripes1.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/top_2.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/images/top_3.gif   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/index.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/invokeobj.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/re-help.html   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/testejb.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/testhome.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/testint.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/testsuite.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/viewclass.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/viewejb.jsp   (with props)
    openejb/trunk/openejb3/server/openejb-webadmin/src/main/webapp/viewjndi.jsp   (with props)
Modified:
    openejb/trunk/openejb3/server/pom.xml

Added: openejb/trunk/openejb3/server/openejb-webadmin/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/pom.xml?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/pom.xml (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/pom.xml Thu Aug  2 22:21:56 2007
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev: 546344 $ $Date: 2007-06-11 18:10:15 -0700 (Mon, 11 Jun 2007) $ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>server</artifactId>
+    <groupId>org.apache.openejb</groupId>
+    <version>3.0.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>openejb-webadmin</artifactId>
+  <packaging>jar</packaging>
+  <name>OpenEJB :: Server :: WebAdmin</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.openejb</groupId>
+                  <artifactId>openejb-javaagent</artifactId>
+                  <version>${version}</version>
+                  <outputDirectory>${project.build.directory}</outputDirectory>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <!-- DEBUG: Uncomment this line and comment out the next -->
+          <!--<argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -javaagent:${project.build.directory}/target/openejb-javaagent-${version}.jar=foo=bar</argLine>-->
+          <argLine>-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar</argLine>
+          <systemProperties>
+            <property>
+              <name>openejb.home</name>
+              <value>${project.build.directory}/test-classes</value>
+            </property>
+          </systemProperties>
+          <basedir>${project.build.directory}</basedir>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-core</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-server</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-ejbd</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-http</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>regexp</groupId>
+      <artifactId>regexp</artifactId>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.derby</groupId>
+      <artifactId>derby</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>idb</groupId>
+      <artifactId>idb</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties Thu Aug  2 22:21:56 2007
@@ -0,0 +1,5 @@
+    server      = org.openejb.webadmin.httpd.HttpServer
+    bind        = 127.0.0.1
+    port        = 4203
+    disabled    = false
+

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/etc/webadmin.properties
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,59 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpBean.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+/** This is ejb interface for the webadmin.  It contains one message which gets
+ * executed on each webadmin bean
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpBean extends javax.ejb.SessionBean{
+    /** This is the main method for all the web admin beans.  It does all the processing
+     * and delegates work as necessary.
+     * @param request the HTTP request object
+     * @param response the HTTP response object
+     * @throws java.io.IOException if an exception is thrown
+     */    
+    public void onMessage(HttpRequest request, HttpResponse response) throws java.io.IOException;
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpBean.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,63 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpHome.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+import java.rmi.RemoteException;
+
+import javax.ejb.CreateException;
+
+/** This is the standard EJB Home interface for the webadmin.  It contains the
+ * create method.
+ * @author <a href="mailto:tim_urberg@yahoo.com">Tim Uberg</a>
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpHome extends javax.ejb.EJBHome {
+    /** Creates a new EJB object for the web administration
+     * @throws RemoteException if an exception is thrown
+     * @throws CreateException if an exception is thrown
+     * @return The HttpObject for this bean
+     */    
+    public HttpObject create() throws RemoteException, CreateException;
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpHome.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,60 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpObject.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+
+/** The standard EJB Object interface for the webadmin
+ * @author <a href="mailto:tim_urberg@yahoo.com">Tim Uberg</a>
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpObject extends javax.ejb.EJBObject {
+    /** This is the main method for all the web admin beans.  It does all the processing
+     * and delegates work as necessary.
+     * @param request the HTTP request object
+     * @param response the HTTP response object
+     * @throws java.rmi.RemoteException if an exception is thrown
+     */    
+    public void onMessage(HttpRequest request, HttpResponse response) throws java.rmi.RemoteException;
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpObject.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,183 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpRequest.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+
+/** An interface to take care of HTTP Requests.  It parses headers, content, form and url
+ *  parameters.
+ *
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpRequest extends java.io.Serializable{
+    
+    /** the HTTP OPTIONS type */    
+    public static final int OPTIONS = 0; // Section 9.2
+    /** the HTTP GET type */    
+    public static final int GET     = 1; // Section 9.3
+    /** the HTTP HEAD type */    
+    public static final int HEAD    = 2; // Section 9.4
+    /** the HTTP POST type */    
+    public static final int POST    = 3; // Section 9.5
+    /** the HTTP PUT type */    
+    public static final int PUT     = 4; // Section 9.6
+    /** the HTTP DELETE type */    
+    public static final int DELETE  = 5; // Section 9.7
+    /** the HTTP TRACE type */    
+    public static final int TRACE   = 6; // Section 9.8
+    /** the HTTP CONNECT type */    
+    public static final int CONNECT = 7; // Section 9.9
+    /** the HTTP UNSUPPORTED type */    
+    public static final int UNSUPPORTED = 8;
+    
+    /* 
+     * Header variables 
+     */
+	/** the Accept header */
+	public static final String HEADER_ACCEPT = "Accept";
+	/** the Accept-Encoding header */
+	public static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";
+	/** the Accept-Language header */
+	public static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language";
+    /** the Content-Type header */
+    public static final String HEADER_CONTENT_TYPE = "Content-Type";
+    /** the Content-Length header */
+    public static final String HEADER_CONTENT_LENGTH = "Content-Length";
+	/** the Connection header */
+	public static final String HEADER_CONNECTION = "Connection";
+	/** the Cache-Control header */
+	public static final String HEADER_CACHE_CONTROL = "Cache-Control";
+	/** the Host header */
+	public static final String HEADER_HOST = "Host";
+	/** the User-Agent header */
+	public static final String HEADER_USER_AGENT = "User-Agent";
+    /** the Set-Cookie header */
+    public static final String HEADER_SET_COOKIE = "Set-Cookie";
+    /** the Cookie header */
+    public static final String HEADER_COOKIE = "Cookie";
+    
+    /**
+     * Returns the current <code>HttpSession</code> associated with this
+     * request or, if there is no current session and <code>create</code> is
+     * true, returns a new session.
+     *
+     * <p>If <code>create</code> is <code>false</code> and the request has no
+     * valid <code>HttpSession</code>, this method returns <code>null</code>.
+     *
+     * @param create <code>true</code> to create a new session for this request
+     * if necessary; <code>false</code> to return <code>null</code> if there's
+     * no current session
+     *
+     * @return the <code>HttpSession</code> associated with this request or
+     * <code>null</code> if <code>create</code> is <code>false</code> and the
+     * request has no valid session
+     *
+     * @see #getSession()
+     */
+    public HttpSession getSession(boolean create);
+
+    /**
+     * Returns the current session associated with this request, or if the
+     * request does not have a session, creates one.
+     *
+     * @return the <code>HttpSession</code> associated with this request
+     *
+     * @see #getSession(boolean)
+     */
+    public HttpSession getSession();
+    
+    /** Gets a header based the header name passed in.
+     * @param name The name of the header to get
+     * @return The value of the header
+     */  
+    public String getHeader(String name);
+
+    /** Gets a form parameter based on the name passed in.
+     * @param name The name of the form parameter to get
+     * @return The value of the parameter
+     */
+    public String getFormParameter(String name);
+    
+    /** Gets all the form parameters in the form of a two-dimentional array
+     *  The second dimention has two indexes which contain the key and value
+     *  for example: 
+     *  <code>
+     *  for(int i=0; i<formParams.length; i++) {
+     *     key = formParams[i][0];
+     *     value = formParams[i][1];
+     *  }
+     *  </code>
+     * 
+     *  All values are strings
+     * @return All the form parameters
+     */
+    public String[][] getFormParameters();
+
+    /** Gets a URL (or query) parameter based on the name passed in.
+     * @param name The name of the URL (or query) parameter
+     * @return The value of the URL (or query) parameter
+     */
+    public String getQueryParameter(String name);
+
+    /** Gets an integer value of the request method.  These values are:
+     *
+     * OPTIONS = 0
+     * GET     = 1
+     * HEAD    = 2
+     * POST    = 3
+     * PUT     = 4
+     * DELETE  = 5
+     * TRACE   = 6
+     * CONNECT = 7
+     * UNSUPPORTED = 8
+     * @return The integer value of the method
+     */ 
+    public int getMethod();
+
+    /** Gets the URI for the current URL page.
+     * @return The URI
+     */ 
+    public java.net.URL getURI();
+
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpRequest.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,123 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpResponse.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+/**This interface takes care of HTTP Responses.  It sends data back to the browser.
+ * 
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpResponse extends java.io.Serializable{
+    /** sets a header to be sent back to the browser
+     * @param name the name of the header
+     * @param value the value of the header
+     */ 
+    public void setHeader(String name, String value);
+
+    /** Gets a header based on the name passed in
+     * @param name The name of the header
+     * @return the value of the header
+     */ 
+    public String getHeader(String name);
+
+    /** Gets the PrintWriter to send data to the browser
+     * @return the PrintWriter to send data to the browser
+     */ 
+    public java.io.PrintWriter getPrintWriter();
+
+    /** gets the OutputStream to send data to the browser
+     * @return the OutputStream to send data to the browser
+     */
+    public java.io.OutputStream getOutputStream();
+
+    /** sets the HTTP response code to be sent to the browser.  These codes are:
+     *
+     * OPTIONS = 0
+     * GET     = 1
+     * HEAD    = 2
+     * POST    = 3
+     * PUT     = 4
+     * DELETE  = 5
+     * TRACE   = 6
+     * CONNECT = 7
+     * UNSUPPORTED = 8
+     * @param code the code to be sent to the browser
+     */
+    public void setCode(int code);
+
+    /** gets the HTTP response code
+     * @return the HTTP response code
+     */
+    public int getCode();
+
+    /** sets the content type to be sent back to the browser
+     * @param type the type to be sent to the browser (i.e. "text/html")
+     */
+    public void setContentType(String type);
+
+    /** gets the content type that will be sent to the browser
+     * @return the content type (i.e. "text/html")
+     */
+    public String getContentType();
+
+    /** Sets the response string to be sent to the browser
+     * @param responseString the response string
+     */
+    public void setResponseString(String responseString);
+
+    /** resets the data to be sent to the browser */   
+    public void reset();
+
+    /** resets the data to be sent to the browser with the response code and response
+     * string
+     * @param code the code to be sent to the browser
+     * @param responseString the response string to be sent to the browser
+     */
+    public void reset(int code, String responseString);
+
+    /** gets the name of the server being used
+     * @return the name of the server
+     */
+    public String getServerName();
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpResponse.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,84 @@
+/**
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: HttpSession.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin;
+
+/**
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface HttpSession {
+
+    public void removeAttribute(String name);
+
+    /**
+     * Returns the object bound with the specified name in this session, or
+     * <code>null</code> if no object is bound under the name.
+     *
+     * @param name a string specifying the name of the object
+     *
+     * @return the object with the specified name
+     */
+    public Object getAttribute(String name);
+
+    /**
+     * Binds an object to this session, using the name specified. If an object
+     * of the same name is already bound to the session, the object is
+     * replaced.
+     *
+     * @param name the name to which the object is bound; cannot be null
+     * @param value the object to be bound
+     */
+    public void setAttribute(String name, Object value);
+
+    /**
+     * Returns a string containing the unique identifier assigned to this
+     * session. The identifier is assigned by the ejb container and is
+     * implementation dependent.
+     *
+     * @return a string specifying the identifier assigned to this session
+     */
+    public String getId();
+}
+
+

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/HttpSession.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,506 @@
+/** 
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: WebAdminBean.java 446035 2006-02-22 22:05:03Z dblevins $
+ */
+package org.apache.openejb.webadmin;
+
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.spi.ContainerSystem;
+import org.apache.openejb.util.OpenEjbVersion;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.ejb.CreateException;
+import javax.ejb.SessionContext;
+import javax.naming.Context;
+import javax.naming.NameClassPair;
+import javax.naming.NamingEnumeration;
+
+/** This is the template web admin bean to extend from.  It contains all the functionality for the webadministration.  To use
+ *  this class, simply sub-class it:<br><br>
+ *
+ *  <code>
+ *  public class MyBean extends WebAdminBean {
+ *     ...
+ *  }
+ *  </code>
+ *  <br><br>
+ *  and declare the following methods:<br><br>
+ *
+ *  <code>
+ *  public void ejbCreate() {}<br>
+ *  public void preProcess(HttpRequest request, HttpResponse response) throws IOException {}<br>
+ *  public void postProcess(HttpRequest request, HttpResponse response) throws IOException {}<br>
+ *  public void writeBody(PrintWriter body) throws IOException {}<br>
+ *  public void writeHtmlTitle(PrintWriter body) throws IOException {}<br>
+ *  public void writePageTitle(PrintWriter body) throws IOException {}<br>
+ *  public void writeSubMenuItems(PrintWriter body) throws IOException {}<br>
+ *  </code>
+ *
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ * @author <a href="mailto:tim_urberg@yahoo.com">Tim Urberg</a>
+ */
+public abstract class WebAdminBean implements HttpBean {
+    /** used for the session context
+     */    
+    protected SessionContext ejbContext;
+    /** the substitue
+     */    
+    public static final int SUBSTITUTE = 26;
+    /** the navigation sections
+     */    
+    public static HashMap sections;
+    /** the menu section
+     */    
+    protected String section = "";
+    /** the HTTP request
+     */    
+    protected HttpRequest request;
+    /** the HTTP response
+     */    
+    protected HttpResponse response;
+    /** the standard title */
+    public static final String HTML_TITLE = "OpenEJB Web Administration Console";
+
+
+    /** the main method of this bean, it takes care of the processing
+     * @param request the http request
+     * @param response the http response
+     * @throws IOException if an exception is thrown
+     */    
+    public void onMessage(HttpRequest request, HttpResponse response) throws IOException{
+        this.request = request;
+        this.response = response;
+
+        preProcess(request, response);
+        
+        // Assuming things are good        
+        java.io.PrintWriter body = response.getPrintWriter();
+        InputStream template = getTemplate();
+
+        // Write till PAGETITLE
+        writeTemplate(body, template);
+        writeHtmlTitle(body);
+        
+        // Write till TOP_NAV_BAR
+        writeTemplate(body, template);
+        writeTopNavBar(body);
+        
+        // Write till LEFT_NAV_BAR
+        writeTemplate(body, template);
+        writeLeftNavBar(body);
+
+        // Write till TITLE
+        writeTemplate(body, template);
+        writePageTitle(body);
+        
+        // Write till BODY
+        writeTemplate(body, template);
+        writeBody(body);
+
+        // Write till FOOTER
+        writeTemplate(body, template);
+        writeFooter(body);
+        
+        // Write the rest
+        writeTemplate(body, template);
+        postProcess(request, response);
+    }
+
+    /** called before any content is written to the browser
+     * @param request the http request
+     * @param response the http response
+     * @throws IOException if an exception is thrown
+     */    
+    public abstract void preProcess(HttpRequest request, HttpResponse response) throws IOException;
+    /** called after all content is written to the browser
+     * @param request the http request
+     * @param response the http response
+     * @throws IOException if an exception is thrown
+     */    
+    public abstract void postProcess(HttpRequest request, HttpResponse response) throws IOException;
+    
+    /** Write the TITLE of the HTML document.  This is the part
+     * that goes into the <code>&lt;head&gt;&lt;title&gt;
+     * &lt;/title&gt;&lt;/head&gt;</code> tags
+     *
+     * @param body the output to write to
+     * @exception IOException of an exception is thrown
+     *
+     */
+    public abstract void writeHtmlTitle(PrintWriter body) throws IOException;
+
+    /** Write the title of the page.  This is displayed right
+     * above the main block of content.
+     * 
+     * @param body the output to write to
+     * @exception IOException if an exception is thrown
+     */
+    public abstract void writePageTitle(PrintWriter body) throws IOException;
+
+    /** Write the top navigation bar of the page. This should look somthing
+     * like the one below:
+     * 
+     *     <code>
+     *     &lt;a href="system?show=server"&gt;
+     *     &lt;span class="menuTopOff"&gt;Remote Server&lt;/span&gt;
+     *     &lt;/a&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     *     &lt;a href="system?show=containers"&gt;
+     *     &lt;span class="menuTopOff"&gt;Containers&lt;/span&gt;
+     *     &lt;/a&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     *     &lt;a href="system?show=deployments"&gt;
+     *     &lt;span class="menuTopOff"&gt;Deployments&lt;/span&gt;
+     *     &lt;/a&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     *     &lt;a href="system?show=logs"&gt;
+     *     &lt;span class="menuTopOff"&gt;Logs&lt;/span&gt;
+     *     &lt;/a&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     *     </code>
+     * 
+     * @param body the output to write to
+     * @exception IOException if an exception is thrown
+     */
+    public void writeTopNavBar(PrintWriter body) throws IOException{
+//        for (int i=0; i < navSections.length; i+=2){
+//            body.print("<a href=\"");
+//            body.print(navSections[i]);
+//            body.print("\" class=\"menuTopOff\">");
+//            body.print(navSections[i+1]);
+//            if(i == (navSections.length-2))
+//				body.print("</a>");
+//            else
+//            	body.print("</a> | ");
+//        }
+    }
+    
+     /** Write the left navigation bar of the page.  This should look somthing
+     * like the one below:
+     * 
+     *     <code>
+     *     &lt;tr&gt;
+     *       &lt;td valign="top" align="left"&gt;
+     *        &lt;span class="subMenuOn"&gt;
+     *        Admin
+     *        &lt;/span&gt;
+     *       &lt;/td&gt;
+     *      &lt;/tr&gt;
+     *      &lt;tr&gt;
+     *       &lt;td valign="top" align="left"&gt;
+     *        &lt;a href="system?show=status"&gt;&lt;span class="subMenuOff"&gt;
+     *        &nbsp;&nbsp;&nbsp;Status
+     *        &lt;/span&gt;
+     *        &lt;/a&gt;&lt;/td&gt;
+     *      &lt;/tr&gt;
+     *      &lt;tr&gt;
+     *       &lt;&lt;td valign="top" align="left"&gt;
+     *        &lt;a href="system?show=deployments"&gt;&lt;span class="subMenuOff"&gt;
+     *        &nbsp;&nbsp;&nbsp;Deployments
+     *        &lt;/span&gt;
+     *        &lt;/a&gt;&lt;/td&gt;
+     *      &lt;/tr&gt;
+     *      </code>
+     * 
+      * @param body the output to write to
+      * @exception IOException if an exception is thrown
+     */
+    public void writeLeftNavBar(PrintWriter body) throws IOException{
+        Object[] entries = sections.entrySet().toArray();
+        
+        for (int i = 0; i < entries.length; i++) {
+            Map.Entry entry = (Map.Entry)entries[i];
+            String section = (String)entry.getKey();
+            String[] subSections = (String[])entry.getValue();
+            
+            body.println("<tr><td valign=\"top\" align=\"left\">");
+            body.print("<span class=\"subMenuOn\">");
+            body.print(section);
+            body.print("</td></tr>");
+            
+            for (int j=0; j < subSections.length; j+=2){
+                String name = subSections[j];
+                String url = subSections[j+1];
+                
+                body.print("<tr>");
+                body.print("<td valign=\"top\" align=\"left\">");
+                body.print("<a href=\"/");
+                body.print(section);
+                body.print('/');
+                body.print(url);
+                body.print("\" class=\"subMenuOff\">");
+                body.print("&nbsp;&nbsp;&nbsp;");
+                body.print(name);
+                body.print("</a></td></tr>");
+            }
+        }
+    }
+    
+
+    /** formats a sub menu item for the left navigation
+     * @param itemName the name for display
+     * @param url the url to link
+     * @return the html that is formatted
+     */    
+    public String formatSubMenuItem(String itemName, String url){
+        StringBuffer buff = new StringBuffer();
+
+        return buff.toString();
+    }
+
+    /** writes the main body content to the broswer.  This content is inside a <code>&lt;p&gt;</code> block
+     *  
+     * 
+     * @param body the output to write to
+     * @exception IOException if an exception is thrown
+     */
+    public abstract void writeBody(PrintWriter body) throws IOException;
+
+    /** Write the footer
+     * 
+     * @param body the output to write to
+     * @exception IOException if an exception is thrown
+     */
+    public  void writeFooter(PrintWriter body) throws IOException{
+        body.print(footer);
+    }
+    
+    /** the footer
+     */    
+    protected static String footer = getFooter();
+
+    /** gets a footer for the document
+     * @return the footer string
+     */    
+    public static String getFooter(){
+        StringBuffer out = new StringBuffer(100);
+
+        OpenEjbVersion info = OpenEjbVersion.get();
+
+        out.append( "<a href=\"" + info.getUrl() + "\">OpenEJB</a> ");
+        out.append( info.getVersion() +"<br>");
+        out.append( "build: " + info.getDate() +"-"+ info.getTime());
+        return out.toString();
+    }
+
+    /** writes a template from the input stream to the output stream
+     * @param out the output to write to
+     * @param template the template to read
+     * @throws IOException if an exception is thrown
+     */    
+    public void writeTemplate(PrintWriter out, InputStream template) throws IOException{
+        int b = template.read();
+        //System.out.println("[] read");
+        while (b != -1 && b != SUBSTITUTE) {
+            out.write( b );
+            b = template.read();
+        }
+        //System.out.println("[] done reading");
+    }
+
+    /** gets an html template which is the content of the pages written to the browser
+     * @throws IOException if an exception is thrown
+     * @return the template
+     */    
+    public InputStream getTemplate() throws IOException{
+        //System.out.println("[] get template");
+//        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+        ClassLoader classLoader = this.getClass().getClassLoader();
+        URL url = classLoader.getResource("/htdocs/template.html");
+        return url.openConnection().getInputStream();
+    }
+
+    /** initalizes the left and top menu navigation
+     */    
+    public HashMap initNavSections(){
+        HashMap sections = new HashMap();
+        try{
+            ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
+            Context ctx = containerSystem.getJNDIContext();
+            ctx = (Context) ctx.lookup("openejb/ejb");
+            NamingEnumeration enumeration = ctx.list("");
+            //System.out.println("\n\nENUM "+enumeration);
+
+            if ( enumeration == null){
+                return sections;
+            }
+
+            while (enumeration.hasMore()) {
+                NameClassPair entry = (NameClassPair)enumeration.next();
+                //System.out.println("ITEM NAME  "+entry.getName());
+                //System.out.println("ITEM CLASS "+entry.getClassName());
+                if ( !entry.getClassName().equals("org.apache.openejb.core.ivm.naming.IvmContext") ) {
+                    continue;
+                } 
+                
+                Context subCtx = (Context) ctx.lookup(entry.getName());
+                String[] subSections = getSubsections(subCtx);
+                if (subSections.length > 0){
+                    sections.put(entry.getName(), subSections );
+                }                                                 
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+        }
+        return sections;
+    }
+
+    private String[] getSubsections(Context ctx){
+        ArrayList sections = new ArrayList();
+        try{
+            NamingEnumeration enumeration = ctx.list("");
+            
+            if ( enumeration == null){
+                return new String[0];
+            }
+
+            while (enumeration.hasMore()) {
+                NameClassPair entry = (NameClassPair)enumeration.next();
+                //System.out.println("ITEM NAME  "+entry.getName());
+                //System.out.println("ITEM CLASS "+entry.getClassName());
+                if ( !entry.getClassName().equals("org.apache.openejb.core.stateless.EncReference") ) {
+                    continue;
+                } 
+
+                if ( entry.getName().startsWith("Default") ) {
+                    continue;
+                } 
+
+                Object obj = ctx.lookup(entry.getName());
+                if (obj instanceof HttpHome){
+                    String beanName  = entry.getName();
+                    sections.add(beanName);
+                    sections.add(beanName);
+                }
+            }
+        } catch (Exception e){
+            e.printStackTrace();
+        }
+        return (String[]) sections.toArray(new String[0]);
+    }
+    /** prints a table row similar to this
+     *
+     * &lt;tr&gt;
+     *   &lt;td&gt;some info&lt;/td&gt;
+     *   &lt;td&gt;some more info&lt;/td&gt;
+     * &lt;/tr&gt;
+     * @param col1 the first column
+     * @param col2 the second column
+     * @param out the output to write to
+     * @throws IOException if an exception is thrown
+     */    
+    protected void printRow(String col1, String col2, PrintWriter out) throws IOException{
+        out.println("<tr>"  );
+        out.print("<td class=\"bodyBlack\">");
+        out.print(col1);
+        out.println("</td>");
+        out.print("<td class=\"bodyBlack\">");
+        out.print(col2);
+        out.println("</td>");
+        out.println("</tr>");
+    }
+
+    /** prints a table row similar to this
+     *
+     * &lt;tr&gt;
+     *   &lt;td&gt;some info&lt;/td&gt;
+     *   &lt;td&gt;some more info&lt;/td&gt;
+     *   &lt;td&gt;yet some more info&lt;/td&gt;
+     * &lt;/tr&gt;
+     * @param col1 the first column
+     * @param col2 the second column
+     * @param col3 the third column
+     * @param out the output to write to
+     * @throws IOException if an exception is thrown
+     */    
+    protected void printRow(String col1, String col2, String col3, PrintWriter out) throws IOException{
+        out.println("<tr>");
+        out.print("<td class=\"bodyBlack\">");
+        out.print(col1);
+        out.println("</td>");
+        out.print("<td class=\"bodyBlack\">");
+        out.print(col2);
+        out.println("</td>");
+        out.print("<td class=\"bodyBlack\">");
+        out.print(col3);
+        out.println("</td>");
+        out.println("</tr>");
+    }
+
+    /*---------------------------------------------------------------*/
+    /* EJB API Callbacks                                             */
+    /*---------------------------------------------------------------*/
+    /** called with the bean is created
+     * @throws CreateException if the bean cannot be created
+     */    
+    public void ejbCreate() throws CreateException {} 
+    
+    /** called on a stateful sessionbean after the bean is
+     * deserialized from storage and put back into use.      
+     */
+    public void ejbActivate() {}
+
+    /** called on a stateful sessionbean before the bean is 
+     * removed from memory and serialized to a temporary store.  
+     * This method is never called on a stateless sessionbean
+     */
+    public void ejbPassivate() {}
+
+    /** called when the bean is about to be garbage collected
+     */
+    public void ejbRemove() {}
+
+    /** sets the session context
+     * @param sessionContext the session context
+     */
+    public void setSessionContext(SessionContext sessionContext) {
+        ejbContext = sessionContext;
+        if (sections == null) {
+            sections = initNavSections();
+        }
+    }
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/WebAdminBean.java
------------------------------------------------------------------------------
    svn:executable = *

Added: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java?view=auto&rev=562334
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java (added)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java Thu Aug  2 22:21:56 2007
@@ -0,0 +1,63 @@
+/**
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided
+ * that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain copyright
+ *    statements and notices.  Redistributions must also contain a
+ *    copy of this document.
+ *
+ * 2. Redistributions in binary form must reproduce the
+ *    above copyright notice, this list of conditions and the
+ *    following disclaimer in the documentation and/or other
+ *    materials provided with the distribution.
+ *
+ * 3. The name "OpenEJB" must not be used to endorse or promote
+ *    products derived from this Software without prior written
+ *    permission of The OpenEJB Group.  For written permission,
+ *    please contact dev@openejb.org.
+ *
+ * 4. Products derived from this Software may not be called "OpenEJB"
+ *    nor may "OpenEJB" appear in their names without prior written
+ *    permission of The OpenEJB Group. OpenEJB is a registered
+ *    trademark of The OpenEJB Group.
+ *
+ * 5. Due credit should be given to the OpenEJB Project
+ *    (http://www.openejb.org/).
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OPENEJB GROUP AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE OPENEJB GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Copyright 2001 (C) The OpenEJB Group. All Rights Reserved.
+ *
+ * $Id: Constants.java 445460 2005-06-16 22:29:56Z jlaskowski $
+ */
+package org.apache.openejb.webadmin.clienttools;
+
+/**
+ * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
+ */
+public interface Constants {
+    public static final String VIEW_CLASS = "/ClientTools/ViewClass";
+    public static final String VIEW_JNDI = "/ClientTools/ViewJndi";
+    public static final String VIEW_EJB = "/ClientTools/ViewEjb";
+    public static final String INVOKE_OBJ = "/ClientTools/InvokeObject";
+    
+    public static final String tab = "&nbsp;&nbsp;&nbsp;&nbsp;";
+    
+    public static final String openImg = "<img src='/images/TreeOpen.gif' border='0'>";
+    public static final String closedImg = "<img src='/images/TreeClosed.gif' border='0'>";
+    public static final String ejbImg = "<img src='/images/ejb.gif' border='0'>";
+    public static final String javaImg = "<img src='/images/JavaCup.gif' border='0'>";
+    public static final String pepperImg = "<img src='/images/pepper.gif' border='0'>";
+}

Propchange: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/clienttools/Constants.java
------------------------------------------------------------------------------
    svn:executable = *