Author: tveronezi
Date: Sat Jun 9 01:19:30 2012
New Revision: 1348292
URL: http://svn.apache.org/viewvc?rev=1348292&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-225
loading the saved objects
Added:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
- copied, changed from r1348230,
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java
Modified:
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationModel.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/Obj.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
Modified:
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/webapp/WEB-INF/web.xml
Sat Jun 9 01:19:30 2012
@@ -92,6 +92,16 @@
<servlet-class>org.apache.tomee.webapp.servlet.ConsoleServlet</servlet-class>
</servlet>
+ <servlet>
+ <servlet-name>SessionDataServlet</servlet-name>
+
<servlet-class>org.apache.tomee.webapp.servlet.SessionDataServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>SessionDataServlet</servlet-name>
+ <url-pattern>/data/*</url-pattern>
+ </servlet-mapping>
+
<servlet-mapping>
<servlet-name>ServerServlet</servlet-name>
<url-pattern>/ejb/*</url-pattern>
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/SessionData.java
Sat Jun 9 01:19:30 2012
@@ -17,6 +17,14 @@
package org.apache.tomee.webapp;
+import java.util.HashMap;
+import java.util.Map;
+
public class SessionData {
+ private final Map<String, Object> saved = new HashMap<String, Object>();
+
+ public Map<String, Object> getSaved() {
+ return saved;
+ }
}
Copied:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java
(from r1348230,
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/SessionDataServlet.java?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SessionDataServlet.java&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/SystemInfoServlet.java&r1=1348230&r2=1348292&rev=1348292&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/SessionDataServlet.java
Sat Jun 9 01:19:30 2012
@@ -17,25 +17,17 @@
package org.apache.tomee.webapp.servlet;
-import org.apache.openejb.util.OpenEJBScripter;
import org.apache.tomee.webapp.JsonExecutor;
+import org.apache.tomee.webapp.listener.UserSessionListener;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.lang.management.ManagementFactory;
-import java.lang.management.RuntimeMXBean;
-import java.security.Principal;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
-
-public class SystemInfoServlet extends HttpServlet {
- private static final TomEEVersion VERSION;
+public class SessionDataServlet extends HttpServlet {
@Override
protected void doGet(final HttpServletRequest req, final
HttpServletResponse resp) throws ServletException, IOException {
@@ -43,92 +35,11 @@ public class SystemInfoServlet extends H
@Override
public void call(Map<String, Object> json) throws Exception {
- final Map<String, Object> systemProperties = new
HashMap<String, Object>();
- json.put("systemProperties", systemProperties);
-
- final Set<String> props =
System.getProperties().stringPropertyNames();
- for (String propName : props) {
- systemProperties.put(propName,
System.getProperty(propName));
- }
-
- json.put("env", System.getenv());
-
- {
- Map<String,Object> serverVersion = new HashMap<String,
Object>();
- json.put("tomee", serverVersion);
-
- serverVersion.put("name", VERSION.getName());
- serverVersion.put("hasMdbs", VERSION.hasMdbs());
- serverVersion.put("hasWebservices",
VERSION.hasWebservices());
- }
-
- {
- final RuntimeMXBean runtimemxBean =
ManagementFactory.getRuntimeMXBean();
- final List<String> arguments =
runtimemxBean.getInputArguments();
-
- json.put("jvmArguments", arguments);
+ final Map<String, Object> savedObjs =
UserSessionListener.getServiceContext(req.getSession()).getSaved();
+ for (String key : savedObjs.keySet()) {
+ json.put(key, savedObjs.get(key));
}
-
- final Principal principal = req.getUserPrincipal();
- if (principal != null) {
- json.put("user", principal.getName());
- }
-
- 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;
- }
- }
}
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
Sat Jun 9 01:19:30 2012
@@ -92,6 +92,16 @@
<servlet-class>org.apache.tomee.webapp.servlet.ConsoleServlet</servlet-class>
</servlet>
+ <servlet>
+ <servlet-name>SessionDataServlet</servlet-name>
+
<servlet-class>org.apache.tomee.webapp.servlet.SessionDataServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>SessionDataServlet</servlet-name>
+ <url-pattern>/data/*</url-pattern>
+ </servlet-mapping>
+
<servlet-mapping>
<servlet-name>ServerServlet</servlet-name>
<url-pattern>/ejb/*</url-pattern>
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationController.js
Sat Jun 9 01:19:30 2012
@@ -71,50 +71,6 @@ TOMEE.ApplicationController = function (
] }
]);
- homeView.loadSavedObjects([
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
},
- { name:TOMEE.Sequence.next('name'), value:TOMEE.Sequence.next('value')
}
-
- ]);
-
channel.bind('application.name.click', function (params) {
window.open('http://openejb.apache.org/', 'OpenEJB');
});
@@ -161,6 +117,10 @@ TOMEE.ApplicationController = function (
model.loadLog(params.file, params.tail);
});
+ channel.bind('app.new.session.data', function (params) {
+ homeView.loadSavedObjects(params);
+ });
+
var view = TOMEE.ApplicationView({
channel:channel,
groups:{
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationModel.js
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationModel.js?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationModel.js
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/ApplicationModel.js
Sat Jun 9 01:19:30 2012
@@ -28,6 +28,7 @@ TOMEE.ApplicationModel = function (cfg)
var systemInfo = {};
var logInfo = {};
+ var sessionData = {};
var request = function (params) {
$.ajax({
@@ -71,7 +72,7 @@ TOMEE.ApplicationModel = function (cfg)
systemInfo = data;
channel.send('app.system.info', data);
- if(callback) {
+ if (callback) {
callback(data);
}
}
@@ -120,6 +121,16 @@ TOMEE.ApplicationModel = function (cfg)
},
getLogInfo:function () {
return logInfo;
+ },
+ loadSessionData:function () {
+ request({
+ method:'GET',
+ url:TOMEE.baseURL('data'),
+ success:function (data) {
+ sessionData = data;
+ channel.send('app.new.session.data', data);
+ }
+ });
}
};
}
\ No newline at end of file
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/Obj.js
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/Obj.js?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/Obj.js
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/util/Obj.js
Sat Jun 9 01:19:30 2012
@@ -34,6 +34,23 @@ TOMEE.utils = {
return defaultValue;
},
+ toArray:function (obj, objBuilder) {
+ if (!obj) {
+ return [];
+ }
+
+ if (obj instanceof Array) {
+ return obj;
+ }
+
+ var result = [];
+ for(var key in obj) {
+ result.push(objBuilder(key, obj[key]));
+ }
+
+ return result;
+ },
+
getArray:function (obj) {
if (!obj) {
return [];
Modified:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js?rev=1348292&r1=1348291&r2=1348292&view=diff
==============================================================================
---
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
(original)
+++
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/js/tomee/view/ApplicationViewHome.js
Sat Jun 9 01:19:30 2012
@@ -87,8 +87,7 @@ TOMEE.ApplicationViewHome = function (cf
});
var table = TOMEE.components.Table({
- channel:channel,
- columns:['colA', 'colB']
+ channel:channel
});
saved.getContentEl().append(table.getEl());
@@ -98,7 +97,14 @@ TOMEE.ApplicationViewHome = function (cf
return saved.getEl();
},
load:function (data) {
- table.load(data, function (bean) {
+ var arr = TOMEE.utils.toArray(data, function(key, obj) {
+ return {
+ name: key,
+ value: obj
+ };
+ });
+
+ table.load(arr, function (bean) {
return [bean.name, bean.value];
});
}