You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/06/08 20:53:41 UTC

svn commit: r1348189 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java

Author: rmannibucau
Date: Fri Jun  8 18:53:40 2012
New Revision: 1348189

URL: http://svn.apache.org/viewvc?rev=1348189&view=rev
Log:
tomee version info and using an utility method to get available languages

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java
    openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java?rev=1348189&r1=1348188&r2=1348189&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/OpenEJBScripter.java Fri Jun  8 18:53:40 2012
@@ -57,7 +57,7 @@ public class OpenEJBScripter {
         }
     }
 
-    public Set<String> getSupportedLanguages() {
+    public static Set<String> getSupportedLanguages() {
         return ENGINE_FACTORIES.keySet();
     }
 

Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java?rev=1348189&r1=1348188&r2=1348189&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java Fri Jun  8 18:53:40 2012
@@ -17,6 +17,7 @@
 
 package org.apache.tomee.webapp.servlet;
 
+import org.apache.openejb.util.OpenEJBScripter;
 import org.apache.tomee.webapp.JsonExecutor;
 
 import javax.servlet.ServletException;
@@ -34,6 +35,7 @@ import java.util.Set;
 
 
 public class SystemInfoServlet extends HttpServlet {
+    private static final TomEEVersion VERSION;
 
     @Override
     protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
@@ -50,6 +52,7 @@ public class SystemInfoServlet extends H
                 }
 
                 json.put("env", System.getenv());
+                json.put("version", VERSION.getName());
 
                 {
                     final RuntimeMXBean runtimemxBean = ManagementFactory.getRuntimeMXBean();
@@ -63,8 +66,61 @@ public class SystemInfoServlet extends H
                     json.put("user", principal.getName());
                 }
 
-                json.put("supportedScriptLanguages", ConsoleServlet.SCRIPTER.getSupportedLanguages());
+                json.put("supportedScriptLanguages", OpenEJBScripter.getSupportedLanguages());
             }
         });
     }
+
+    public enum TomEEVersion {
+        WEBPROFILE(false, false, "Web Profile"), JAXRS(true, false, "JAX-RS"), PLUS(true, true, "+");
+
+        private final boolean webservices;
+        private final boolean mdbs;
+        private final String name;
+
+        private TomEEVersion(final boolean webservices, final boolean mdbs, final String name) {
+            this.webservices = webservices;
+            this.mdbs = mdbs;
+            this.name = name;
+        }
+
+        public boolean hasWebservices() {
+            return webservices;
+        }
+
+        public boolean hasMdbs() {
+            return mdbs;
+        }
+
+        public String getName() {
+            return name;
+        }
+    }
+
+    static {
+        final ClassLoader cl = SystemInfoServlet.class.getClassLoader();
+        boolean mdbs;
+        try {
+            cl.loadClass("org.apache.activemq.ra.ActiveMQActivationSpec");
+            mdbs = true;
+        } catch (ClassNotFoundException e) {
+            mdbs = false;
+        }
+
+        boolean webservices;
+        try {
+            cl.loadClass("org.apache.openejb.server.rest.RESTService");
+            webservices = true;
+        } catch (ClassNotFoundException e) {
+            webservices = false;
+        }
+
+        if (webservices && mdbs) {
+            VERSION = TomEEVersion.PLUS;
+        } else if (webservices) {
+            VERSION = TomEEVersion.JAXRS;
+        } else {
+            VERSION = TomEEVersion.WEBPROFILE;
+        }
+    }
 }