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/11/23 21:44:43 UTC
svn commit: r1413051 - in /openejb/trunk/openejb: ./
arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/
tomee/tomee-common/src/main/java/org/apache/tomee/installer/
tomee/tomee-webapp/ tomee/tomee-webapp/src/mai...
Author: tveronezi
Date: Fri Nov 23 20:44:35 2012
New Revision: 1413051
URL: http://svn.apache.org/viewvc?rev=1413051&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-605
-replace the current installer servlet by a installer command
-add custom growl notification
-add status panel (installer)
-add Makefile to help development
Added:
openejb/trunk/openejb/Makefile
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetStatus.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/RunInstaller.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/ApplicationListener.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/AutoInstallerServlet.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl-message.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl.handlebars
- copied, changed from r1412789, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status-lines.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/GrowlNotification.js
- copied, changed from r1412789, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/status.js
Removed:
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/InstallerServlet.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/SessionListener.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/default.css
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/installer-view.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/invokeobj.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/testejb.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/testhome.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/testint.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/testsuite.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/viewclass.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/viewconsole.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/viewejb.jsp
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/viewjndi.jsp
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
openejb/trunk/openejb/tomee/tomee-webapp/pom.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/Application.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/CommandExecutorServlet.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/README.txt
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/WEB-INF/web.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/jndi.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/webservices.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/tomee.less
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html
openejb/trunk/openejb/tomee/tomee-webapp/src/test/conf/tomcat-users.xml
Added: openejb/trunk/openejb/Makefile
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/Makefile?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/Makefile (added)
+++ openejb/trunk/openejb/Makefile Fri Nov 23 20:44:35 2012
@@ -0,0 +1,67 @@
+# This file is used during development only.
+# It has just some handy shortcuts.
+TOMEE_VERSION=1.5.1-SNAPSHOT
+TOMCAT_ZIP_NAME=apache-tomcat-7.0.33
+TOMCAT_ZIP=tomee/apache-tomcat/target/$(TOMCAT_ZIP_NAME)-SNAPSHOT.zip
+TOMEEPLUS_WAR=tomee/tomee-plus-webapp/target/tomee-plus-webapp-$(TOMEE_VERSION).war
+TOMEE_WAR=/home/tveronezi/dev/ws/openejb/trunk/tomee/tomee-webapp/target/tomee-webapp-$(TOMEE_VERSION).war
+TOMEEPLUS_ZIP=tomee/apache-tomee/target/apache-tomee-plus-$(TOMEE_VERSION).tar.gz
+
+$(TOMEE_WAR):
+ cd tomee/tomee-webapp/ && mvn clean install -DskipTests=true
+
+$(TOMEEPLUS_WAR): $(TOMEE_WAR)
+ cd tomee/tomee-plus-webapp/ && mvn clean install -DskipTests=true
+
+$(TOMCAT_ZIP):
+ cd tomee/apache-tomcat && mvn clean install
+
+tomcat: $(TOMCAT_ZIP)
+
+tomee: tomcat $(TOMEEPLUS_WAR)
+
+kill-tomee:
+ @if test -f target/runnner/tomcat-pid.txt; then \
+ kill -9 `cat target/runnner/tomcat-pid.txt`; \
+ rm target/runnner/tomcat-pid.txt; \
+ fi
+
+start-plus: kill-tomee tomee
+ mkdir -p target/runnner
+ cp $(TOMEEPLUS_ZIP) target/runnner/
+ rm -Rf target/runnner/apache-tomee-plus-$(TOMEE_VERSION)
+ cd target/runnner/ && tar -xvzf apache-tomee-plus-$(TOMEE_VERSION).tar.gz
+ rm target/runnner/apache-tomee-plus-$(TOMEE_VERSION)/conf/tomcat-users.xml
+ cp tomee/tomee-webapp/src/test/conf/tomcat-users.xml target/runnner/apache-tomee-plus-$(TOMEE_VERSION)/conf/
+ export JPDA_SUSPEND=y && export CATALINA_PID=target/runnner/tomcat-pid.txt && ./target/runnner/apache-tomee-plus-$(TOMEE_VERSION)/bin/catalina.sh jpda start
+
+start-tomee: kill-tomee tomee
+ mkdir -p target/runnner
+ cp $(TOMCAT_ZIP) target/runnner/
+ rm -Rf target/runnner/$(TOMCAT_ZIP_NAME)
+ cd target/runnner/ && unzip $(TOMCAT_ZIP_NAME)-SNAPSHOT.zip
+ cp tomee/tomee-plus-webapp/target/tomee-plus-webapp-$(TOMEE_VERSION).war \
+ target/runnner/$(TOMCAT_ZIP_NAME)/webapps/
+ rm target/runnner/apache-tomcat-7.0.33/conf/tomcat-users.xml
+ cp tomee/tomee-webapp/src/test/conf/tomcat-users.xml target/runnner/apache-tomcat-7.0.33/conf/
+ chmod +x target/runnner/$(TOMCAT_ZIP_NAME)/bin/startup.sh
+ chmod +x target/runnner/apache-tomcat-7.0.33/bin/catalina.sh
+ export JPDA_SUSPEND=y && export CATALINA_PID=target/runnner/tomcat-pid.txt && ./target/runnner/$(TOMCAT_ZIP_NAME)/bin/catalina.sh jpda start
+
+reload-tomee: kill-tomee
+ chmod +x target/runnner/$(TOMCAT_ZIP_NAME)/bin/startup.sh
+ chmod +x target/runnner/apache-tomcat-7.0.33/bin/catalina.sh
+ export CATALINA_PID=target/runnner/tomcat-pid.txt && ./target/runnner/$(TOMCAT_ZIP_NAME)/bin/catalina.sh jpda start
+
+up-static:
+ rm -Rf target/runnner/$(TOMCAT_ZIP_NAME)/webapps/tomee-plus-webapp-$(TOMEE_VERSION)/app
+ cp -r tomee/tomee-webapp/src/main/webapp/app target/runnner/$(TOMCAT_ZIP_NAME)/webapps/tomee-plus-webapp-$(TOMEE_VERSION)/
+
+
+install-tomee: $(TOMCAT_ZIP)
+ cd tomee && mvn clean install -DskipTests=true
+
+install-all:
+ mvn clean && mvn install -DskipTests=true
+
+.PHONY: install-all install-tomee tomcat tomee start-tomee reload-tomee kill-tomee up-static
Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java Fri Nov 23 20:44:35 2012
@@ -143,7 +143,7 @@ public class TomEEWebappContainer extend
.append(configuration.getHost())
.append(":")
.append(configuration.getHttpPort())
- .append("/tomee/installer?action=install&auto=true");
+ .append("/tomee/installer");
installer.addTomEEAdminConfInTomcatUsers(true);
Modified: openejb/trunk/openejb/tomee/tomee-webapp/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/pom.xml?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/pom.xml (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/pom.xml Fri Nov 23 20:44:35 2012
@@ -212,7 +212,7 @@
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-common</artifactId>
<version>${tomee.version}</version>
- <scope>runtime</scope>
+ <scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.openejb</groupId>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/Application.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/Application.java?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/Application.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/Application.java Fri Nov 23 20:44:35 2012
@@ -23,6 +23,7 @@ import org.apache.tomee.webapp.command.U
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -30,6 +31,7 @@ import java.util.Properties;
public class Application {
private static final Application INSTANCE = new Application();
+ private String rootPath;
private final Map<String, Session> sessions = new HashMap<String, Session>();
private Application() {
@@ -40,6 +42,14 @@ public class Application {
return INSTANCE;
}
+ public String getRootPath() {
+ return rootPath;
+ }
+
+ public void setRootPath(String rootPath) {
+ this.rootPath = rootPath;
+ }
+
public Session getExistingSession(String id) {
Session session;
synchronized (this.sessions) {
@@ -53,7 +63,7 @@ public class Application {
synchronized (this.sessions) {
session = this.sessions.get(id);
if (session == null) {
- session = new Session();
+ session = new Session(new File(rootPath));
this.sessions.put(id, session);
}
}
@@ -68,6 +78,11 @@ public class Application {
public class Session {
private Context context;
+ private final File rootFolder;
+
+ public Session(File rootFolder) {
+ this.rootFolder = rootFolder;
+ }
public Context getContext() {
return context;
@@ -76,7 +91,7 @@ public class Application {
public Context login(String user, String pass) {
final Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
- props.put("java.naming.provider.url", "http://127.0.0.1:8080/tomee/ejb");
+ props.put("java.naming.provider.url", "http://127.0.0.1:8080/" + this.rootFolder.getName() + "/ejb");
props.setProperty(Context.SECURITY_PRINCIPAL, user);
props.setProperty(Context.SECURITY_CREDENTIALS, pass);
try {
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetStatus.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetStatus.java?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetStatus.java (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetStatus.java Fri Nov 23 20:44:35 2012
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+package org.apache.tomee.webapp.command.impl;
+
+import org.apache.tomee.installer.Installer;
+import org.apache.tomee.installer.Paths;
+import org.apache.tomee.webapp.Application;
+import org.apache.tomee.webapp.command.Command;
+import org.apache.tomee.webapp.command.IsProtected;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+@IsProtected
+public class GetStatus implements Command {
+
+ @Override
+ public Object execute(final Map<String, Object> params) throws Exception {
+ final String path = Application.getInstance().getRootPath();
+ File openejbWarDir = null;
+ if (path != null) {
+ openejbWarDir = new File(path);
+ }
+ final Paths paths = new Paths(openejbWarDir);
+
+ final Map<String, Object> json = new HashMap<String, Object>();
+ json.put("isListenerInstalled", Installer.isListenerInstalled());
+ json.put("isAgentInstalled", Installer.isAgentInstalled());
+
+
+ final Map<String, String> strPaths = new HashMap<String, String>();
+ strPaths.put("catalina-conf", getSafePath(paths.getCatalinaConfDir()));
+ strPaths.put("catalina-lib", getSafePath(paths.getCatalinaLibDir()));
+ strPaths.put("catalina-bin", getSafePath(paths.getCatalinaBinDir()));
+ strPaths.put("catalina-catalina-sh", getSafePath(paths.getCatalinaShFile()));
+ strPaths.put("catalina-catalina-bat", getSafePath(paths.getCatalinaBatFile()));
+ strPaths.put("openEJB-lib", getSafePath(paths.getOpenEJBLibDir()));
+ strPaths.put("openEJB-loader-jar", getSafePath(paths.getOpenEJBTomcatLoaderJar()));
+ strPaths.put("openEJB-javaagent-jar", getSafePath(paths.getOpenEJBJavaagentJar()));
+
+
+ final Map<String, String> strMainPaths = new HashMap<String, String>();
+ strMainPaths.put("catalina-home", getSafePath(paths.getCatalinaHomeDir()));
+ strMainPaths.put("catalina-base", getSafePath(paths.getCatalinaBaseDir()));
+ strMainPaths.put("catalina-server-xml", getSafePath(paths.getServerXmlFile()));
+
+ json.put("paths", strPaths);
+ json.put("mainPaths", strMainPaths);
+
+ final Installer installer = new Installer(paths);
+ json.put("installerStatus", installer.getStatus());
+ return json;
+ }
+
+ private String getSafePath(File file) {
+ if (file == null) {
+ return "";
+ }
+ return file.getPath();
+ }
+}
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/RunInstaller.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/RunInstaller.java?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/RunInstaller.java (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/RunInstaller.java Fri Nov 23 20:44:35 2012
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.tomee.webapp.command.impl;
+
+import org.apache.tomee.installer.Installer;
+import org.apache.tomee.installer.Paths;
+import org.apache.tomee.webapp.Application;
+import org.apache.tomee.webapp.command.Command;
+import org.apache.tomee.webapp.command.IsProtected;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+@IsProtected
+public class RunInstaller implements Command {
+
+ @Override
+ public Object execute(final Map<String, Object> params) throws Exception {
+ final String path = Application.getInstance().getRootPath();
+ File openejbWarDir = null;
+ if (path != null) {
+ openejbWarDir = new File(path);
+ }
+ final Paths paths = new Paths(openejbWarDir);
+ final Installer installer = new Installer(paths);
+
+ final Map<String, Object> json = new HashMap<String, Object>();
+
+ if (Installer.Status.NONE.equals(installer.getStatus())) {
+ paths.reset();
+ installer.reset();
+
+ if (Boolean.valueOf(String.valueOf(params.get("auto")))) {
+ paths.setCatalinaHomeDir(System.getProperty("catalina.home"));
+ paths.setCatalinaBaseDir(System.getProperty("catalina.base"));
+ paths.setServerXmlFile(System.getProperty("catalina.base") + "/conf/server.xml");
+ } else {
+ paths.setCatalinaHomeDir((String) params.get("catalina-home"));
+ paths.setCatalinaBaseDir((String) params.get("catalina-base"));
+ paths.setServerXmlFile((String) params.get("catalina-server-xml"));
+ }
+
+ if (paths.verify()) {
+ installer.installAll();
+ }
+ }
+ json.put("status", installer.getStatus());
+ json.put("errors", installer.getAlerts().getErrors());
+ json.put("warnings", installer.getAlerts().getWarnings());
+ json.put("infos", installer.getAlerts().getInfos());
+
+ return json;
+ }
+}
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/ApplicationListener.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/ApplicationListener.java?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/ApplicationListener.java (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/listeners/ApplicationListener.java Fri Nov 23 20:44:35 2012
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+package org.apache.tomee.webapp.listeners;
+
+import org.apache.tomee.webapp.Application;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+public class ApplicationListener implements ServletContextListener {
+ @Override
+ public void contextInitialized(ServletContextEvent ev) {
+ final String rootPath = ev.getServletContext().getRealPath("/");
+ Application.getInstance().setRootPath(rootPath);
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent servletContextEvent) {
+ //no-op
+ }
+}
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/AutoInstallerServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/AutoInstallerServlet.java?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/AutoInstallerServlet.java (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/AutoInstallerServlet.java Fri Nov 23 20:44:35 2012
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+package org.apache.tomee.webapp.servlet;
+
+import org.apache.tomee.webapp.JsonExecutor;
+import org.apache.tomee.webapp.command.impl.RunInstaller;
+
+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.util.HashMap;
+import java.util.Map;
+
+
+public class AutoInstallerServlet extends HttpServlet {
+
+ @Override
+ protected void doPost(HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+ writeJson(req, resp);
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ writeJson(req, resp);
+ }
+
+ private void writeJson(final HttpServletRequest req, final HttpServletResponse resp) throws IOException {
+ JsonExecutor.execute(req, resp, new JsonExecutor.Executor() {
+ @Override
+ public void call(Map<String, Object> json) throws Exception {
+ final RunInstaller runInstaller = new RunInstaller();
+ final Map<String, Object> params = new HashMap<String, Object>();
+ params.put("auto", "true");
+ json.put("result", runInstaller.execute(params));
+ }
+ });
+ }
+}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/CommandExecutorServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/CommandExecutorServlet.java?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/CommandExecutorServlet.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/CommandExecutorServlet.java Fri Nov 23 20:44:35 2012
@@ -31,6 +31,15 @@ public class CommandExecutorServlet exte
@Override
protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+ execute(req, resp);
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ execute(req, resp);
+ }
+
+ private void execute(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
JsonExecutor.execute(req, resp, new JsonExecutor.Executor() {
@Override
public void call(Map<String, Object> json) throws Exception {
@@ -40,4 +49,5 @@ public class CommandExecutorServlet exte
}
});
}
+
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/README.txt
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/README.txt?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/README.txt (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/README.txt Fri Nov 23 20:44:35 2012
@@ -6,24 +6,13 @@ OpenEJB ${pom.version} http://opene
___________________
Installation
===================
-
- The OpenEJB Plugin for Tomcat installation process is fairly simple, so if
- you are comfortable with the command line and Tomcat, the following
- instructions will get you going ASAP; otherwise, please visit the OpenEJB
- Tomcat site for detailed instructions with examples.
-
- http://openejb.apache.org/tomcat.html
-
- Assuming you have a normal working Tomcat 5.5 or 6.x installation:
+ Assuming you have a normal working Tomcat 7.x installation:
1. Copy tomee.war to ${catalina.base}/webapps/tomee.war
(Note: the file must be named tomee.war)
2. Start Tomcat if it is not already running
- 3. (optional) Visit http://localhost:8080/openejb/installer and click the 'install' button
-___________________
-___________________
Support
===================
@@ -32,9 +21,6 @@ Support
Follow this link for other subscription and list information:
http://openejb.apache.org/mailing-lists.html
-
-
-
=========================================================================
== Cryptographic Software Notice ==
=========================================================================
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=1413051&r1=1413050&r2=1413051&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 Fri Nov 23 20:44:35 2012
@@ -24,7 +24,7 @@
<display-name>Tomee Application</display-name>
<listener>
- <listener-class>org.apache.tomee.webapp.listeners.SessionListener</listener-class>
+ <listener-class>org.apache.tomee.webapp.listeners.ApplicationListener</listener-class>
</listener>
<servlet>
@@ -50,7 +50,7 @@
</servlet>
<servlet>
<servlet-name>InstallerServlet</servlet-name>
- <servlet-class>org.apache.tomee.installer.InstallerServlet</servlet-class>
+ <servlet-class>org.apache.tomee.webapp.servlet.AutoInstallerServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>FileUploadServlet</servlet-name>
@@ -98,7 +98,7 @@
<!-- ************************************************************************************** -->
<welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
+ <welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
@@ -109,38 +109,4 @@
/error
</location>
</error-page>
- <!-- basic security to replace context.xml and allow remote accesses -->
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Application</web-resource-name>
- <url-pattern>/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>tomee-admin</role-name>
- </auth-constraint>
- </security-constraint>
-
- <!-- /ejb/* has no auth-constraint. It is has public access. -->
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Server EJB</web-resource-name>
- <url-pattern>/ejb/*</url-pattern>
- </web-resource-collection>
- </security-constraint>
-
- <!-- /socket has no auth-constraint. It is has public access. -->
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Socket</web-resource-name>
- <url-pattern>/socket</url-pattern>
- </web-resource-collection>
- </security-constraint>
-
- <login-config>
- <auth-method>BASIC</auth-method>
- <realm-name>TomEE Webapp</realm-name>
- </login-config>
- <security-role>
- <role-name>tomee-admin</role-name>
- </security-role>
</web-app>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js Fri Nov 23 20:44:35 2012
@@ -23,9 +23,10 @@
TOMEE.ApplicationController = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- model = TOMEE.ApplicationModel(),
- view = TOMEE.ApplicationView();
+ var channel = TOMEE.ApplicationChannel;
+ var model = TOMEE.ApplicationModel();
+ var view = TOMEE.ApplicationView();
+ var growl = TOMEE.GrowlNotification();
view.render();
@@ -56,6 +57,12 @@ TOMEE.ApplicationController = function (
});
});
+ channel.bind('ui-actions', 'load-status', function () {
+ model.sendMessage({
+ cmdName:'GetStatus'
+ });
+ });
+
channel.bind('ui-actions', 'log-file-selected', function (param) {
model.sendMessage({
cmdName:'GetLog',
@@ -75,8 +82,17 @@ TOMEE.ApplicationController = function (
});
});
- channel.bind('server-command-callback', 'RunScript', function (data) {
- //TODO: add growl notification
+ channel.bind('ui-actions', 'openejb-installer-clicked', function (data) {
+ data.cmdName = 'RunInstaller';
+ model.sendMessage(data);
+ });
+
+ channel.bind('server-command-callback-error', 'RunScript', function (data) {
+ growl.showNotification(TOMEE.I18N.get('application.console.run.error'), 'error');
+ });
+
+ channel.bind('ui-actions', 'show-notification', function(data) {
+ growl.showNotification(data.message, data.messageType);
});
channel.bind('server-command-callback', 'Logout', function (data) {
@@ -87,6 +103,16 @@ TOMEE.ApplicationController = function (
model.connectSocket();
});
+ channel.bind('server-command-callback-success', 'Login', function (params) {
+ if (!params.output.loginSuccess) {
+ growl.showNotification(TOMEE.I18N.get('application.log.bad'), 'error');
+ }
+ });
+
+ channel.bind('server-command-callback-error', 'Login', function (params) {
+ growl.showNotification(TOMEE.I18N.get('application.log.error'), 'error');
+ });
+
return {
};
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js Fri Nov 23 20:44:35 2012
@@ -24,10 +24,15 @@
TOMEE.ApplicationModel = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- appSocket = null,
- reconnectTask = TOMEE.DelayedTask(),
- reconnectDelay = 5000;
+ var channel = TOMEE.ApplicationChannel;
+ var appSocket = null;
+ var reconnectTask = TOMEE.DelayedTask();
+ var reconnectDelay = 5000;
+ var urlBase = window.document.URL;
+
+ urlBase = urlBase.replace(new RegExp('^' + window.location.protocol + '//'), '');
+ urlBase = urlBase.replace(new RegExp('^' + window.document.location.host), '');
+ urlBase = urlBase.replace('#', '');
channel.bind('server-callback', 'socket-connection-message-received', function (data) {
var bean = $.parseJSON(data);
@@ -66,16 +71,16 @@ TOMEE.ApplicationModel = function () {
}
function createSocket() {
- var isFake = false,
- socket = null,
- host = (function () {
- var suffix = '/tomee/socket';
- var path = window.document.location.host + suffix;
- if (window.location.protocol == 'http:') {
- return 'ws://' + path;
- }
- return 'wss://' + path;
- })();
+ var isFake = false;
+ var socket = null;
+ var host = (function () {
+ var suffix = urlBase + 'socket';
+ var path = window.document.location.host + suffix;
+ if (window.location.protocol == 'http:') {
+ return 'ws://' + path;
+ }
+ return 'wss://' + path;
+ })();
if ('WebSocket' in window) {
socket = new WebSocket(host);
@@ -91,7 +96,7 @@ TOMEE.ApplicationModel = function () {
function send(str) {
$.ajax({
- url:'/tomee/command',
+ url:urlBase + 'command',
type:'POST',
dataType:'text',
data:{
@@ -175,7 +180,7 @@ TOMEE.ApplicationModel = function () {
function sendRequest(bean) {
$.ajax({
- url:'/tomee/' + bean.servlet,
+ url:urlBase + bean.servlet,
method:'POST',
dataType:'json',
data:bean.params,
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js Fri Nov 23 20:44:35 2012
@@ -45,6 +45,8 @@ TOMEE.ApplicationTemplates = (function (
};
})([
'application',
+ 'application-growl',
+ 'application-growl-message',
'application-disabled',
'application-toolbar',
'application-toolbar-logout-btn',
@@ -55,6 +57,8 @@ TOMEE.ApplicationTemplates = (function (
'application-tab-log',
'application-tab-log-file',
'application-tab-log-lines',
+ 'application-tab-status',
+ 'application-tab-status-lines',
'application-disconnected-popup',
'application-tab-webservices',
'application-tab-webservices-table',
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl-message.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl-message.handlebars?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl-message.handlebars (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl-message.handlebars Fri Nov 23 20:44:35 2012
@@ -0,0 +1,4 @@
+<div id="{{alertId}}" class="growl alert alert-block {{messageType}}">
+ <button type="button" class="close" data-dismiss="alert">Ã</button>
+ <div class="message"></div>
+</div>
\ No newline at end of file
Copied: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl.handlebars (from r1412789, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application.handlebars)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl.handlebars?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl.handlebars&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application.handlebars&r1=1412789&r2=1413051&rev=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application.handlebars (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-growl.handlebars Fri Nov 23 20:44:35 2012
@@ -1 +1 @@
-<div class="tomee"></div>
\ No newline at end of file
+<div class="growl-container"></div>
\ No newline at end of file
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status-lines.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status-lines.handlebars?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status-lines.handlebars (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status-lines.handlebars Fri Nov 23 20:44:35 2012
@@ -0,0 +1,10 @@
+<form class="form-horizontal status-lines">
+ {{#properties}}
+ <div class="control-group">
+ <label class="control-label" for="{{uniqueId}}-{{this.key}}">{{this.key}}</label>
+ <div class="controls">
+ <input type="text" id="{{uniqueId}}-{{this.key}}" class="path" param-key="{{this.key}}" value="{{this.value}}">
+ </div>
+ </div>
+ {{/properties}}
+</form>
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status.handlebars?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status.handlebars (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-status.handlebars Fri Nov 23 20:44:35 2012
@@ -0,0 +1,15 @@
+<div class="tomee-status">
+ <div class="tomee-status-output"></div>
+ <div class="navbar navbar-inverse bbar">
+ <div class="navbar-inner">
+ <div class="buttons">
+ <button class="btn btn-primary hidden install">
+ <span>{{i18n "application.status.install"}}</span>
+ </button>
+ <button class="btn btn-primary hidden reinstall">
+ <span>{{i18n "application.status.reinstall"}}</span>
+ </button>
+ </div>
+ </div>
+ </div>
+</div>
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars Fri Nov 23 20:44:35 2012
@@ -4,8 +4,9 @@
<a class="brand" href="#">{{i18n "application.name"}}</a>
<ul class="nav">
<li class="toolbar-item active" tab-key="home"><a href="#">{{i18n "application.home"}}</a></li>
- <li class="toolbar-item" tab-key="console"><a href="#">{{i18n "application.console"}}</a></li>
- <li class="toolbar-item" tab-key="log"><a href="#">{{i18n "application.log"}}</a></li>
+ <li class="toolbar-item hidden" tab-key="console"><a href="#">{{i18n "application.console"}}</a></li>
+ <li class="toolbar-item hidden" tab-key="log"><a href="#">{{i18n "application.log"}}</a></li>
+ <li class="toolbar-item hidden" tab-key="status"><a href="#">{{i18n "application.status"}}</a></li>
</ul>
<div class="pull-right">
<ul class="nav">
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js Fri Nov 23 20:44:35 2012
@@ -19,6 +19,7 @@
TOMEE.I18N = (function () {
+ var missing = Handlebars.compile('[!{{key}}!]');
var messages = {
'application.name':'Apache TomEE',
@@ -29,11 +30,18 @@ TOMEE.I18N = (function () {
'application.home':'Home',
+ 'application.status':'Status',
+ 'application.status.install':'install',
+ 'application.status.reinstall':'re-install',
+ 'application.status.isAgentInstalled':'Is the agent installed? {{message}}',
+ 'application.status.isListenerInstalled':'Is the listener installed? {{message}}',
+
'application.jndi':'JNDI',
'application.jndi.path':'Path',
'application.console':'Console',
'application.console.run':'Execute',
+ 'application.console.run.error':'Script error.',
'application.console.clear.output':'Clear output',
'application.console.done':'Script executed.',
'application.console.run.time':'Time',
@@ -51,18 +59,29 @@ TOMEE.I18N = (function () {
'application.sign.in':'Sign In',
'application.sign.out':'Sign Out',
'application.log.in':'Login',
+ 'application.log.error':'Login error. Please try again.',
+ 'application.log.bad':'Bad user or password. Please try again.',
'application.password':'Password',
'dummy':'dummy'
};
- var get = function (key) {
- var result = messages[key];
- if (!result) {
- result = '[!' + key + '!]';
+ TOMEE.utils.forEachKey(messages, function (key, value) {
+ var template = Handlebars.compile(value);
+ messages[key] = template;
+ });
+
+ var get = function (key, values) {
+ var template = messages[key];
+ var cfg = values;
+ if (!template) {
+ template = missing;
+ cfg = {
+ key:key
+ };
console.error('Missing i18n message.', key);
}
- return result;
+ return template(cfg);
};
Handlebars.registerHelper('i18n', function (key) {
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js Fri Nov 23 20:44:35 2012
@@ -14,50 +14,22 @@
* 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.
- "use strict";
*/
-(function () {
- var winConsole = window.console,
-
- // These are the available methods. Add more to this list if necessary.
- consoleEmpty = {
- error:function () {},
- log:function () {}
- },
-
- consoleProxy = (function () {
- // This object wraps the "window.console"
- var consoleWrapper = {};
+"use strict";
- function buildMethodProxy(key) {
- if (winConsole[key] && typeof winConsole[key] === 'function') {
- consoleWrapper[key] = function () {
- var cFunc = winConsole[key];
- cFunc.call(winConsole, arguments);
- };
- } else {
- consoleWrapper[key] = function () {
- consoleEmpty[key]();
- };
- }
- }
-
- // Checking if the browser has the "console" object
- if (winConsole) {
- // Only the methods defined by the consoleMock
- // are available for use.
- for (var key in consoleEmpty) {
- if (consoleEmpty.hasOwnProperty(key)) {
- buildMethodProxy(key);
- }
- }
- } else {
- consoleWrapper = consoleEmpty;
- }
-
- return consoleWrapper;
- })();
+(function () {
+ var noOp = function() {};
- window.console = consoleProxy;
+ if(!window.console) {
+ window.console = {};
+ }
+
+ if(!window.console.error) {
+ window.console.error = noOp;
+ }
+
+ if(!window.console.log) {
+ window.console.log = noOp;
+ }
})();
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js Fri Nov 23 20:44:35 2012
@@ -134,6 +134,17 @@ TOMEE.utils = (function () {
}
}
+ function forEachKey(obj, callback) {
+ if(!obj) {
+ return;
+ }
+ for (var key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ callback(key, obj[key]);
+ }
+ }
+ }
+
return {
keyCodeToString: keyCodeToString,
isPrimitive:isPrimitive,
@@ -142,6 +153,7 @@ TOMEE.utils = (function () {
getArray:getArray,
getObject:getObject,
stringFormat:stringFormat,
- forEach:forEach
+ forEach:forEach,
+ forEachKey:forEachKey
}
})();
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js Fri Nov 23 20:44:35 2012
@@ -32,6 +32,19 @@ TOMEE.ApplicationToolbarView = function
});
});
+ channel.bind('ui-actions', 'locked-change', function (data) {
+ el.find('.toolbar-item').each(function (index, htmlElement) {
+ var element = $(htmlElement);
+ if (data.panel === element.attr('tab-key')) {
+ if (data.locked) {
+ element.addClass('hidden');
+ } else {
+ element.removeClass('hidden');
+ }
+ }
+ });
+ });
+
channel.bind('ui-actions', 'panel-switch', function (data) {
el.find('.toolbar-item').removeClass('active');
el.find('.toolbar-item').each(function (index, htmlEl) {
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js Fri Nov 23 20:44:35 2012
@@ -23,7 +23,8 @@ TOMEE.ApplicationView = function () {
panelMap = {
'home':TOMEE.ApplicationTabHome(),
'console':TOMEE.ApplicationTabConsole(),
- 'log':TOMEE.ApplicationTabLog()
+ 'log':TOMEE.ApplicationTabLog(),
+ 'status': TOMEE.ApplicationTabStatus()
},
selected = null,
container = $(TOMEE.ApplicationTemplates.getValue('application', {})),
@@ -166,8 +167,8 @@ TOMEE.ApplicationView = function () {
containerWidth,
toolbarHeight = toolbar.getEl().outerHeight();
- containerHeight = myWindow.outerHeight();
- containerWidth = myWindow.outerWidth();
+ containerHeight = Math.max(myWindow.outerHeight(),600);
+ containerWidth = Math.max(myWindow.outerWidth(), 800);
container.css('height', containerHeight + 'px');
container.css('width', containerWidth + 'px');
Copied: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/GrowlNotification.js (from r1412789, openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/GrowlNotification.js?p2=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/GrowlNotification.js&p1=openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js&r1=1412789&r2=1413051&rev=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/GrowlNotification.js Fri Nov 23 20:44:35 2012
@@ -16,180 +16,46 @@
* limitations under the License.
*/
-TOMEE.ApplicationView = function () {
+TOMEE.GrowlNotification = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- panelMap = {
- 'home':TOMEE.ApplicationTabHome(),
- 'console':TOMEE.ApplicationTabConsole(),
- 'log':TOMEE.ApplicationTabLog()
- },
- selected = null,
- container = $(TOMEE.ApplicationTemplates.getValue('application', {})),
- toolbar = TOMEE.ApplicationToolbarView(),
- myWindow = $(window),
- delayedContainerResize = TOMEE.DelayedTask(),
- connectionPopupVisible = false,
- applicationDisabled = $(TOMEE.ApplicationTemplates.getValue('application-disabled', {})),
- connectionPopup = $(TOMEE.ApplicationTemplates.getValue('application-disconnected-popup', {}));
-
- channel.bind('server-connection', 'socket-connection-opened', function (data) {
- hideConnectionPopup();
- });
-
- channel.bind('server-connection', 'socket-connection-closed', function (data) {
- showConnectionPopup();
- });
-
- channel.bind('server-connection', 'socket-connection-error', function (data) {
- showConnectionPopup();
- });
-
- channel.bind('ui-actions', 'toolbar-click', function (data) {
- switchPanelAndSendEvent(data.key);
- });
-
- //disable default contextmenu
- $(document).bind("contextmenu", function (e) {
- return false;
- });
-
- myWindow.on('resize', function () {
- delayedContainerResize.delay(updateContainerSize, 500);
- });
-
- myWindow.on('keyup', function (ev) {
- var result = {
- consumed:false
- };
-
- if (ev.keyCode === 18) { //ALT
- result = channel.send('ui-actions', 'window-alt-released', {});
- } else if (ev.keyCode === 17) { //CONTROL
- result = channel.send('ui-actions', 'window-ctrl-released', {});
- } else if (ev.keyCode === 16) { //SHIFT
- result = channel.send('ui-actions', 'window-shift-released', {});
- }
-
- if (result.consumed) {
- ev.preventDefault();
- }
- });
-
- myWindow.on('keydown', function (ev) {
- var key = [],
- keyStr = null;
-
- if (ev.altKey) {
- key.push('alt');
- } else if (ev.ctrlKey) {
- key.push('ctrl');
- } else if (ev.shiftKey) {
- key.push('shift');
- }
-
- if (key.length === 0 &&
- !(ev.keyCode >= 112 && ev.keyCode <= 123 || ev.keyCode === 27)) { // F1...F12 or esc
- return; //nothing to do
- }
-
- keyStr = TOMEE.utils.keyCodeToString(ev.keyCode);
- if (!keyStr) {
- keyStr = ev.keyCode;
- }
- key.push(keyStr);
-
- var result = channel.send('ui-actions', 'window-' + key.join('-') + '-pressed', {});
- if (result.consumed) {
- ev.preventDefault();
- }
- });
-
- channel.bind('ui-actions', 'window-alt-1-pressed', function () {
- switchPanelAndSendEvent('home');
- });
- channel.bind('ui-actions', 'window-alt-2-pressed', function () {
- switchPanelAndSendEvent('console');
- });
- channel.bind('ui-actions', 'window-alt-3-pressed', function () {
- switchPanelAndSendEvent('log');
- });
-
- function showConnectionPopup() {
- if (connectionPopupVisible) {
- return;
- }
- connectionPopupVisible = true;
- container.append(applicationDisabled);
- container.append(connectionPopup);
- }
-
- function hideConnectionPopup() {
- if (!connectionPopupVisible) {
- return;
- }
- connectionPopupVisible = false;
- applicationDisabled.detach();
- connectionPopup.detach();
- }
-
- function switchPanelAndSendEvent(key) {
- if (switchPanel(key)) {
- channel.send('ui-actions', 'panel-switch', {
- key:key
- });
- }
- }
-
- function switchPanel(key) {
- if (panelMap[key].isLocked && panelMap[key].isLocked()) {
- //The panel is locked. The user should login first.
- return false;
- }
-
- if (selected) {
- selected.getEl().detach();
- selected.onDetach();
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-growl', {}));
+ var myBody = $('body');
+ var active = false;
+ var timeout = {};
+
+ function showNotification(message, messageType) {
+ if (!active) {
+ active = true;
+ myBody.append(container);
}
- selected = panelMap[key];
- selected.getEl().appendTo(container);
- selected.onAppend();
+ var alertId = TOMEE.Sequence.next('alert');
+ var alert = $(TOMEE.ApplicationTemplates.getValue('application-growl-message', {
+ alertId:alertId,
+ messageType:'alert-' + messageType
+ }));
+ var messageEl = alert.find('.message');
+ messageEl.append(message);
+ container.append(alert);
+ alert.fadeIn();
+
+ timeout[alertId] = TOMEE.DelayedTask();
+ timeout[alertId].delay(function() {
+ try {
+ alert.fadeOut(null, function () {
+ try {
+ alert.remove();
+ } catch (e) { /* noop */ }
+ });
+ } catch (e) { /* noop */ }
+ delete timeout[alertId];
+ }, 5000);
- updateContainerSize();
- return true;
- }
-
- function updateContainerSize() {
- var containerHeight,
- containerWidth,
- toolbarHeight = toolbar.getEl().outerHeight();
-
- containerHeight = myWindow.outerHeight();
- containerWidth = myWindow.outerWidth();
-
- container.css('height', containerHeight + 'px');
- container.css('width', containerWidth + 'px');
-
- channel.send('ui-actions', 'container-resized', {
- containerHeight:containerHeight - toolbarHeight,
- containerWidth:containerWidth - toolbarHeight
- });
}
return {
- render:function () {
- var myBody = $('body');
- container.append(toolbar.getEl());
- myBody.append(container);
-
-
- switchPanel('home');
-
- showConnectionPopup();
-
- delayedContainerResize.delay(updateContainerSize, 500);
- }
+ showNotification:showNotification
};
};
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js Fri Nov 23 20:44:35 2012
@@ -19,30 +19,38 @@
TOMEE.ApplicationTabConsole = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- container = $(TOMEE.ApplicationTemplates.getValue('application-tab-console', {})),
- innerPanels = {
- webservices:TOMEE.ApplicationTabWebservices(),
- jndi:TOMEE.ApplicationTabJndi()
- },
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-tab-console', {}));
+ var innerPanels = {
+ webservices:TOMEE.ApplicationTabWebservices(),
+ jndi:TOMEE.ApplicationTabJndi()
+ };
- codeArea = null,
- active = false,
- locked = true,
- delayedContainerResize = TOMEE.DelayedTask();
+ var codeArea = null;
+ var active = false;
+ var locked = true;
+ var delayedContainerResize = TOMEE.DelayedTask();
+
+ function setLocked(value) {
+ locked = value;
+ channel.send('ui-actions', 'locked-change', {
+ locked: value,
+ panel:'console'
+ });
+ }
container.find('.webservices-div').append(innerPanels.webservices.getEl());
container.find('.jndi-div').append(innerPanels.jndi.getEl());
container.find('.dropdown-toggle').on('click', function (ev) {
- var button = $(ev.currentTarget),
- customAttr = 'tab-name',
- group = button.parent('.btn-group'),
- tab = group.attr(customAttr);
+ var button = $(ev.currentTarget);
+ var customAttr = 'tab-name';
+ var group = button.parent('.btn-group');
+ var tab = group.attr(customAttr);
container.find('.btn-group').each(function (index, grpHtmlEl) {
- var grpEl = $(grpHtmlEl),
- grpTabName = grpEl.attr(customAttr);
+ var grpEl = $(grpHtmlEl);
+ var grpTabName = grpEl.attr(customAttr);
if (tab === grpTabName) {
return;
}
@@ -110,17 +118,17 @@ TOMEE.ApplicationTabConsole = function (
channel.bind('server-command-callback-success', 'Login', function (params) {
if (params.output.loginSuccess) {
- locked = false;
+ setLocked(false);
} else {
- locked = true;
+ setLocked(true);
}
});
channel.bind('server-command-callback-success', 'session', function (params) {
if (params.data.userName) {
- locked = false;
+ setLocked(false);
} else {
- locked = true;
+ setLocked(true);
}
});
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/jndi.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/jndi.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/jndi.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/jndi.js Fri Nov 23 20:44:35 2012
@@ -19,9 +19,9 @@
TOMEE.ApplicationTabJndi = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- container = $(TOMEE.ApplicationTemplates.getValue('application-tab-jndi', {})),
- active = false;
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-tab-jndi', {}));
+ var active = false;
channel.bind('ui-actions', 'window-F5-pressed', function () {
triggerRefresh();
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js Fri Nov 23 20:44:35 2012
@@ -19,11 +19,19 @@
TOMEE.ApplicationTabLog = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- container = $(TOMEE.ApplicationTemplates.getValue('application-tab-log', {})),
- selectedFile = null,
- active = false,
- locked = true;
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-tab-log', {}));
+ var selectedFile = null;
+ var active = false;
+ var locked = true;
+
+ function setLocked(value) {
+ locked = value;
+ channel.send('ui-actions', 'locked-change', {
+ locked: value,
+ panel:'log'
+ });
+ }
channel.bind('ui-actions', 'container-resized', function (data) {
var consoleOutput = container.find('.tomee-log-output'),
@@ -77,17 +85,17 @@ TOMEE.ApplicationTabLog = function () {
channel.bind('server-command-callback-success', 'Login', function (params) {
if (params.output.loginSuccess) {
- locked = false;
+ setLocked(false);
} else {
- locked = true;
+ setLocked(true);
}
});
channel.bind('server-command-callback-success', 'session', function (params) {
if (params.data.userName) {
- locked = false;
+ setLocked(false);
} else {
- locked = true;
+ setLocked(true);
}
});
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/status.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/status.js?rev=1413051&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/status.js (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/status.js Fri Nov 23 20:44:35 2012
@@ -0,0 +1,158 @@
+/**
+ *
+ * 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.
+ */
+
+TOMEE.ApplicationTabStatus = function () {
+ "use strict";
+
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-tab-status', {}));
+ var active = false;
+ var locked = true;
+ var loaded = false;
+
+ function setLocked(value) {
+ locked = value;
+ channel.send('ui-actions', 'locked-change', {
+ locked:value,
+ panel:'status'
+ });
+ }
+
+ function getPaths() {
+ var result = {};
+ container.find('.path').each(function (index, el) {
+ var field = $(el);
+ result[field.attr('param-key')] = field.val();
+ });
+ return result;
+ }
+
+ container.find('.buttons').on('click', function () {
+ channel.send('ui-actions', 'openejb-installer-clicked', getPaths());
+ });
+
+ channel.bind('ui-actions', 'container-resized', function (data) {
+ var consoleOutput = container.find('.tomee-status-output');
+ var bbar = container.find('.bbar');
+ var outputHeight = data.containerHeight - bbar.height() - 3;
+
+ consoleOutput.height(outputHeight);
+ });
+
+ channel.bind('server-command-callback-success', 'Login', function (params) {
+ if (params.output.loginSuccess) {
+ setLocked(false);
+ } else {
+ setLocked(true);
+ }
+ });
+
+ channel.bind('server-command-callback-success', 'session', function (params) {
+ if (params.data.userName) {
+ setLocked(false);
+ } else {
+ setLocked(true);
+ }
+ });
+
+ function showAlert(outMessages, messageType) {
+ var messages = TOMEE.utils.getArray(outMessages);
+ if (messages.length < 1) {
+ return;
+ }
+ channel.send('ui-actions', 'show-notification', {
+ message:messages.join('<BR>'),
+ messageType:'alert-' + messageType
+ });
+ }
+
+ channel.bind('server-command-callback-success', 'RunInstaller', function (params) {
+ showAlert(params.output.infos, 'success');
+ showAlert(params.output.warnings, 'warning');
+ showAlert(params.output.errors, 'error');
+ });
+
+ channel.bind('server-command-callback-success', 'GetStatus', function (data) {
+ var output = container.find('.tomee-status-output');
+ var buttons = container.find('.buttons');
+
+ var properties = [];
+
+ TOMEE.utils.forEachKey(data.output.mainPaths, function (key, value) {
+ properties.push({
+ key:key,
+ value:value
+ });
+ });
+
+ output.empty();
+ output.append($(TOMEE.ApplicationTemplates.getValue('application-tab-status-lines', {
+ uniqueId:TOMEE.Sequence.next('path'),
+ properties:properties
+ })));
+
+ buttons.find('.install').each(function (index, element) {
+ var btn = $(element);
+ if (data.output.isAgentInstalled || data.output.isAgentInstalled) {
+ btn.addClass('hidden');
+ } else {
+ btn.removeClass('hidden');
+ }
+ });
+
+ buttons.find('.reinstall').each(function (index, element) {
+ var btn = $(element);
+ if (!data.output.isAgentInstalled && !data.output.isListenerInstalled) {
+ btn.addClass('hidden');
+ } else {
+ btn.removeClass('hidden');
+ }
+ });
+
+
+ showAlert([
+ TOMEE.I18N.get('application.status.isAgentInstalled', {
+ message:data.output.isAgentInstalled + ''
+
+ }),
+ TOMEE.I18N.get('application.status.isListenerInstalled', {
+ message:data.output.isListenerInstalled + ''
+ })
+ ], 'success');
+
+ loaded = true;
+ });
+
+ return {
+ getEl:function () {
+ return container;
+ },
+ onAppend:function () {
+ active = true;
+ if (!loaded) {
+ channel.send('ui-actions', 'load-status', {});
+ }
+ },
+ onDetach:function () {
+ active = false;
+ },
+ isLocked:function () {
+ return locked;
+ }
+ };
+};
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/webservices.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/webservices.js?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/webservices.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/webservices.js Fri Nov 23 20:44:35 2012
@@ -19,9 +19,9 @@
TOMEE.ApplicationTabWebservices = function () {
"use strict";
- var channel = TOMEE.ApplicationChannel,
- container = $(TOMEE.ApplicationTemplates.getValue('application-tab-webservices', {})),
- active = false;
+ var channel = TOMEE.ApplicationChannel;
+ var container = $(TOMEE.ApplicationTemplates.getValue('application-tab-webservices', {}));
+ var active = false;
channel.bind('ui-actions', 'window-F5-pressed', function () {
triggerRefresh();
@@ -37,9 +37,9 @@ TOMEE.ApplicationTabWebservices = functi
});
function buildTableData(data) {
- var rest = TOMEE.utils.getArray(data.rest),
- soap = TOMEE.utils.getArray(data.soap),
- result = [];
+ var rest = TOMEE.utils.getArray(data.rest);
+ var soap = TOMEE.utils.getArray(data.soap);
+ var result = [];
function buildAppData(app, wsType) {
var services = TOMEE.utils.getArray(app.services);
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/tomee.less
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/tomee.less?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/tomee.less (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/tomee.less Fri Nov 23 20:44:35 2012
@@ -17,9 +17,25 @@
body {
overflow: hidden;
+
+ .growl-container {
+ position: absolute;
+ bottom: 40px;
+ left: 40px;
+ z-index: 5000;
+
+ .growl {
+ display: none;
+ width: 300px;
+ }
+ }
}
.tomee {
+ .hidden {
+ display: none;
+ }
+
overflow: hidden;
.splitter {
@@ -77,6 +93,10 @@ body {
}
.tomee-console {
+ .dropdown-menu {
+ overflow: auto;
+ }
+
.tomee-console-output {
background-color: #F7F7F9;
border: 1px solid #E1E1E8;
@@ -97,6 +117,10 @@ body {
border-bottom: 1px solid white;
}
+ .navbar-inner {
+ position: relative;
+ }
+
.tomee-execute-webservices-group {
position: absolute;
bottom: 5px;
@@ -148,8 +172,40 @@ body {
}
}
+ .tomee-status {
+ .navbar-inner {
+ position: relative;
+
+ .buttons {
+ position: absolute;
+ right: 5px;
+ top: 0px;
+ }
+ }
+
+ .tomee-status-output {
+ overflow: auto;
+ margin-bottom: 0px;
+ padding-top: 5px;
+
+ input {
+ width: 500px;
+ }
+
+ .alert {
+ margin-bottom: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+
+ .messages {
+ list-style: none;
+ margin-left: 5px;
+ }
+ }
+ }
+
.tomee-webservices {
padding: 5px;
}
-
}
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html Fri Nov 23 20:44:35 2012
@@ -32,10 +32,10 @@
<script src="app/js/Application.js"></script>
+ <script src="app/js/util/Obj.js"></script>
<script src="app/js/util/DelayedTask.js"></script>
<script src="app/js/util/I18N.js"></script>
<script src="app/js/util/Log.js"></script>
- <script src="app/js/util/Obj.js"></script>
<script src="app/js/util/Sequence.js"></script>
<script src="app/js/ApplicationTemplates.js"></script>
@@ -45,10 +45,12 @@
<script src="app/js/view/ApplicationView.js"></script>
<script src="app/js/view/ApplicationToolbarView.js"></script>
+ <script src="app/js/view/GrowlNotification.js"></script>
<script src="app/js/view/panels/home.js"></script>
<script src="app/js/view/panels/console.js"></script>
<script src="app/js/view/panels/log.js"></script>
+ <script src="app/js/view/panels/status.js"></script>
<script src="app/js/view/panels/webservices.js"></script>
<script src="app/js/view/panels/jndi.js"></script>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/test/conf/tomcat-users.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/test/conf/tomcat-users.xml?rev=1413051&r1=1413050&r2=1413051&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/test/conf/tomcat-users.xml (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/test/conf/tomcat-users.xml Fri Nov 23 20:44:35 2012
@@ -19,8 +19,11 @@
-->
<!-- $Rev: 597221 $ $Date: 2007-11-21 22:51:05 +0100 (Wed, 21 Nov 2007) $ -->
-
-<tomcat-users>
- <user name="admin" password="admin" roles="manager,user" />
- <user name="jane" password="doe" roles="user" />
-</tomcat-users>
+
+<tomcat-users>
+ <role rolename="manager"/>
+ <role rolename="user"/>
+ <role rolename="tomee-admin"/>
+ <user name="admin" password="admin" roles="manager,user,tomee-admin" />
+ <user name="jane" password="doe" roles="user" />
+</tomcat-users>