You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2012/02/17 01:39:36 UTC

svn commit: r1245271 - in /openejb/trunk/openejb/tomee: tomee-loader/ tomee-loader/src/main/java/org/apache/tomee/loader/dto/ tomee-loader/src/main/java/org/apache/tomee/loader/ws/ tomee-plus-webapp/src/main/assembly/ tomee-webapp/src/main/webapp/stagi...

Author: tveronezi
Date: Fri Feb 17 00:39:35 2012
New Revision: 1245271

URL: http://svn.apache.org/viewvc?rev=1245271&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-130

Preparing the javascript/html and java codes for the new web interface. Loading the "tests" and the "ns browser" panels.

Added:
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java
      - copied, changed from r1245019, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/JndiDTO.java
    openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/TestWs.java
      - copied, changed from r1245019, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/JndiWs.java
Modified:
    openejb/trunk/openejb/tomee/tomee-loader/pom.xml
    openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/mock/test.json
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/JndiModel.js
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/TestModel.js

Modified: openejb/trunk/openejb/tomee/tomee-loader/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/pom.xml?rev=1245271&r1=1245270&r2=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/pom.xml (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/pom.xml Fri Feb 17 00:39:35 2012
@@ -47,6 +47,11 @@
       <version>${tomcat.version}</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>tomee-common</artifactId>
+      <version>${openejb.version}</version>
+    </dependency>
   </dependencies>
 </project>
 

Copied: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java (from r1245019, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/JndiDTO.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java?p2=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java&p1=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/JndiDTO.java&r1=1245019&r2=1245271&rev=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/JndiDTO.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/dto/TestDTO.java Fri Feb 17 00:39:35 2012
@@ -18,10 +18,10 @@ package org.apache.tomee.loader.dto;
 
 import javax.xml.bind.annotation.XmlRootElement;
 
-@XmlRootElement(name = "jndi")
-public class JndiDTO {
+@XmlRootElement(name = "test")
+public class TestDTO {
+
+    public String key;
+    public boolean success;
 
-    public String module;
-    public String name;
-    public String value;
 }

Copied: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/TestWs.java (from r1245019, openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/JndiWs.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/TestWs.java?p2=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/TestWs.java&p1=openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/JndiWs.java&r1=1245019&r2=1245271&rev=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/JndiWs.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/ws/TestWs.java Fri Feb 17 00:39:35 2012
@@ -17,77 +17,101 @@
 package org.apache.tomee.loader.ws;
 
 
-import org.apache.openejb.AppContext;
-import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.spi.ContainerSystem;
-import org.apache.tomee.loader.dto.JndiDTO;
+import org.apache.tomee.loader.dto.TestDTO;
 
 import javax.naming.Context;
-import javax.naming.NameClassPair;
-import javax.naming.NamingEnumeration;
+import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
+import java.io.File;
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Properties;
 
-@Path("/ws/jndi")
+@Path("/ws/test")
 @Produces({"application/json"})
-public class JndiWs {
+public class TestWs {
 
-    @Path("/names")
+    @Path("/test")
     @GET
-    public List<JndiDTO> get() throws NamingException {
-        List<JndiDTO> result = new ArrayList<JndiDTO>();
-        List<Object> objects = new ArrayList<Object>();
+    public List<TestDTO> get() throws NamingException {
+        final List<TestDTO> result = new ArrayList<TestDTO>();
 
-
-        final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
-
-        mountJndiList(result, containerSystem.getJNDIContext(), "containerSystem", "java:global");
-
-        List<AppContext> appCtxs = containerSystem.getAppContexts();
-        for (AppContext appContext : appCtxs) {
-            final Context ctx = appContext.getAppJndiContext();
-            mountJndiList(result, ctx, appContext.getId(), "java:comp");
-            mountJndiList(result, ctx, appContext.getId(), "java:app");
+        {
+            final String homePath = System.getProperty("openejb.home");
+            result.add(createDTO("homeSet", !(homePath == null)));
+
+            final File openejbHome = new File(homePath);
+            result.add(createDTO("homeExists", openejbHome.exists()));
+
+            result.add(createDTO("homeDirectory", openejbHome.isDirectory()));
+
+            final File openejbHomeLib;
+            if (org.apache.tomee.common.TomcatVersion.v6.isTheVersion()
+                    || org.apache.tomee.common.TomcatVersion.v7.isTheVersion()) {
+                openejbHomeLib = new File(openejbHome, "lib");
+            } else {
+                final File common = new File(openejbHome, "common");
+                openejbHomeLib = new File(common, "lib");
+            }
+            result.add(createDTO("libDirectory", openejbHomeLib.exists()));
         }
 
-        return result;
-    }
+        {
+            ClassLoader myLoader = this.getClass().getClassLoader();
 
+            try {
+                Class openejb = Class.forName("org.apache.openejb.OpenEJB", true, myLoader);
+                result.add(createDTO("openEjbInstalled", true));
+
+                try {
+                    Method isInitialized = openejb.getDeclaredMethod("isInitialized");
+                    Boolean running = (Boolean) isInitialized.invoke(openejb);
+                    result.add(createDTO("openEjbStarted", running));
+                } catch (Exception e) {
+                    result.add(createDTO("openEjbStarted", false));
+                }
+            } catch (Exception e) {
+                result.add(createDTO("openEjbInstalled", false));
+            }
 
-    private void mountJndiList(List<JndiDTO> jndi, Context context, String id, String root) throws NamingException {
-        final NamingEnumeration namingEnumeration;
-        try {
-            namingEnumeration = context.list(root);
-        } catch (NamingException e) {
-            //not found?
-            return;
-        }
-        while (namingEnumeration.hasMoreElements()) {
-            final NameClassPair pair = (NameClassPair) namingEnumeration.next();
-            final String key = root + "/" + pair.getName();
-            final Object obj;
             try {
-                obj = context.lookup(key);
-            } catch (NamingException e) {
-                //not found?
-                continue;
+                Class.forName("javax.ejb.EJBHome", true, myLoader);
+                result.add(createDTO("ejbsInstalled", true));
+            } catch (Exception e) {
+                result.add(createDTO("ejbsInstalled", false));
             }
 
-            if (Context.class.isInstance(obj)) {
-                mountJndiList(jndi, Context.class.cast(obj), id, key);
-            } else {
-                JndiDTO dto = new JndiDTO();
-                dto.module = id;
-                dto.name = key;
-                dto.value = String.valueOf(obj);
-                jndi.add(dto);
+            try {
+                final Properties properties = new Properties();
+                properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
+                properties.put("openejb.loader", "embed");
+
+                final InitialContext ctx = new InitialContext(properties);
+                Object obj = ctx.lookup("");
+
+                if (obj.getClass().getName().equals("org.apache.openejb.core.ivm.naming.IvmContext")) {
+                    result.add(createDTO("testLookup", true));
+                } else {
+                    result.add(createDTO("testLookup", false));
+                }
+
+            } catch (Exception e) {
+                result.add(createDTO("testLookup", false));
             }
         }
 
+
+        return result;
     }
 
+    private TestDTO createDTO(String key, boolean success) {
+        TestDTO result = new TestDTO();
+        result.key = key;
+        result.success = success;
+        return result;
+    }
 }

Modified: openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml?rev=1245271&r1=1245270&r2=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml (original)
+++ openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml Fri Feb 17 00:39:35 2012
@@ -63,6 +63,9 @@
       <includes>
         <include>**/*.jsp</include>
         <include>**/*.css</include>
+        <include>**/*.css</include>
+        <include>**/*.png</include>
+        <include>**/*.js</include>
         <include>**/*.html</include>
         <include>images/*.gif</include>
         <include>lib/*.jar</include>

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/mock/test.json
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/mock/test.json?rev=1245271&r1=1245270&r2=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/mock/test.json (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/mock/test.json Fri Feb 17 00:39:35 2012
@@ -1,5 +1,5 @@
 {
-    "tests": [
+    "test": [
         {
             "key": "homeSet",
             "success": true

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/JndiModel.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/JndiModel.js?rev=1245271&r1=1245270&r2=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/JndiModel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/JndiModel.js Fri Feb 17 00:39:35 2012
@@ -39,8 +39,8 @@ TOMEE.JndiModel = function (cfg) {
         return TOMEE.ApplicationModel({
             methodType: 'GET',
 
-            //url: 'ws/jndi/names',
-            url: 'js/tomee/mock/jndi.json',
+            url: '/tomee/ws/jndi/names',
+            //url: 'js/tomee/mock/jndi.json',
 
             channel: myChannel,
             prepareDataMethod: function (data) {

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/TestModel.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/TestModel.js?rev=1245271&r1=1245270&r2=1245271&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/TestModel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/staging/js/tomee/model/TestModel.js Fri Feb 17 00:39:35 2012
@@ -38,7 +38,10 @@ TOMEE.TestModel = function (cfg) {
 
         return TOMEE.ApplicationModel({
             methodType: 'GET',
-            url: 'js/tomee/mock/test.json',
+
+            url: '/tomee/ws/test/test',
+            //url: 'js/tomee/mock/test.json',
+
             channel: myChannel,
             prepareDataMethod: function (data) {
                 myData = data;
@@ -47,7 +50,7 @@ TOMEE.TestModel = function (cfg) {
     })();
 
     var iterateTestBeans = function (callback) {
-        $.each(myData.tests, function (i, bean) {
+        $.each(myData.test, function (i, bean) {
             callback(bean);
         });
     };