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><head><title>
+ * </title></head></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>
+ * <a href="system?show=server">
+ * <span class="menuTopOff">Remote Server</span>
+ * </a>
+ * <a href="system?show=containers">
+ * <span class="menuTopOff">Containers</span>
+ * </a>
+ * <a href="system?show=deployments">
+ * <span class="menuTopOff">Deployments</span>
+ * </a>
+ * <a href="system?show=logs">
+ * <span class="menuTopOff">Logs</span>
+ * </a>
+ * </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>
+ * <tr>
+ * <td valign="top" align="left">
+ * <span class="subMenuOn">
+ * Admin
+ * </span>
+ * </td>
+ * </tr>
+ * <tr>
+ * <td valign="top" align="left">
+ * <a href="system?show=status"><span class="subMenuOff">
+ * Status
+ * </span>
+ * </a></td>
+ * </tr>
+ * <tr>
+ * <<td valign="top" align="left">
+ * <a href="system?show=deployments"><span class="subMenuOff">
+ * Deployments
+ * </span>
+ * </a></td>
+ * </tr>
+ * </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(" ");
+ 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><p></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
+ *
+ * <tr>
+ * <td>some info</td>
+ * <td>some more info</td>
+ * </tr>
+ * @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
+ *
+ * <tr>
+ * <td>some info</td>
+ * <td>some more info</td>
+ * <td>yet some more info</td>
+ * </tr>
+ * @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 = " ";
+
+ 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 = *