Hi, we have a PropertiesBuilder in core which can replace Common I think
*Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau* ---------- Forwarded message ---------- From: <[email protected]> Date: 2013/9/27 Subject: svn commit: r1526913 - in /tomee/tomee/trunk/tomee/tomee-webapp/src/main: java/org/apache/tomee/webapp/installer/ webapp/ To: [email protected] Author: tveronezi Date: Fri Sep 27 14:25:45 2013 New Revision: 1526913 URL: http://svn.apache.org/r1526913 Log: https://issues.apache.org/jira/browse/TOMEE-1036 * removing ui form tomee-webapp Added: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Common.java Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Runner.java tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Status.java tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.css tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.js Added: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Common.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Common.java?rev=1526913&view=auto ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Common.java (added) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Common.java Fri Sep 27 14:25:45 2013 @@ -0,0 +1,33 @@ +/** + * + * 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.installer; + +import java.util.HashMap; +import java.util.Map; + +public class Common { + + public static Map<String, String> build(String key, String value) { + Map<String, String> result = new HashMap<String, String>(); + result.put("key", key); + result.put("value", value); + return result; + } + +} Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java?rev=1526913&r1=1526912&r2=1526913&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java Fri Sep 27 14:25:45 2013 @@ -60,23 +60,16 @@ public class InstallerServlet extends Ht final ServletContext ctx = req.getServletContext(); final String rootPath = ctx.getRealPath("/"); final Runner installer = new Runner(new File(rootPath)); - if (req.getParameter("catalinaBaseDir") != null && "".equals(req.getParameter("catalinaBaseDir").trim())) { installer.setCatalinaBaseDir(req.getParameter("catalinaBaseDir").trim()); } - if (req.getParameter("catalinaHome") != null && "".equals(req.getParameter("catalinaHome").trim())) { installer.setCatalinaHome(req.getParameter("catalinaHome").trim()); } - if (req.getParameter("serverXmlFile") != null && "".equals(req.getParameter("serverXmlFile").trim())) { installer.setServerXmlFile(req.getParameter("serverXmlFile").trim()); } - - installer.execute(); - - final Status statusManager = new Status(new File(rootPath)); resp.setContentType("application/json"); - resp.getOutputStream().print(getJsonList(statusManager.get())); + resp.getOutputStream().print(getJsonList(installer.execute())); } } Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Runner.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Runner.java?rev=1526913&r1=1526912&r2=1526913&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Runner.java (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Runner.java Fri Sep 27 14:25:45 2013 @@ -25,7 +25,8 @@ import javax.naming.Context; import javax.naming.InitialContext; import java.io.File; import java.lang.reflect.Method; -import java.util.HashMap; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Properties; @@ -51,10 +52,19 @@ public class Runner { this.serverXmlFile = serverXmlFile; } - public Map<String, Object> execute() { + private void setAlerts(String key, List<String> messages, List<Map<String, String>> result) { + if (messages == null) { + return; + } + for (String message : messages) { + result.add(Common.build(key, message)); + } + } + + public List<Map<String, String>> execute() { final Paths paths = new Paths(openejbWarDir); final Installer installer = new Installer(paths); - final Map<String, Object> result = new HashMap<String, Object>(); + final List<Map<String, String>> result = new ArrayList<Map<String, String>>(); if (Installer.Status.NONE.equals(installer.getStatus())) { paths.reset(); installer.reset(); @@ -65,52 +75,53 @@ public class Runner { installer.installAll(); } } - result.put("status", installer.getStatus()); - result.put("errors", installer.getAlerts().getErrors()); - result.put("warnings", installer.getAlerts().getWarnings()); - result.put("infos", installer.getAlerts().getInfos()); - final Map<String, Object> test = new HashMap<String, Object>(); - result.put("tests", test); + result.add(Common.build("status", String.valueOf(installer.getStatus()))); + setAlerts("errors", installer.getAlerts().getErrors(), result); + setAlerts("warnings", installer.getAlerts().getWarnings(), result); + setAlerts("infos", installer.getAlerts().getInfos(), result); { - test.put("hasHome", false); - test.put("doesHomeExist", false); - test.put("isHomeDirectory", false); - test.put("hasLibDirectory", false); + boolean hasHome = false; + boolean doesHomeExist = false; + boolean isHomeDirectory = false; + boolean hasLibDirectory = false; final String homePath = System.getProperty("openejb.home"); if (homePath != null) { - test.put("hasHome", true); + hasHome = true; final File homeDir = new File(homePath); - test.put("doesHomeExist", homeDir.exists()); + doesHomeExist = homeDir.exists(); if (homeDir.exists()) { - test.put("isHomeDirectory", homeDir.isDirectory()); + isHomeDirectory = homeDir.isDirectory(); final File libDir = new File(homeDir, "lib"); - test.put("hasLibDirectory", libDir.exists()); + hasLibDirectory = libDir.exists(); } } + result.add(Common.build("hasHome", String.valueOf(hasHome))); + result.add(Common.build("doesHomeExist", String.valueOf(doesHomeExist))); + result.add(Common.build("isHomeDirectory", String.valueOf(isHomeDirectory))); + result.add(Common.build("hasLibDirectory", String.valueOf(hasLibDirectory))); } { - test.put("wereTheOpenEJBClassesInstalled", false); - test.put("wereTheEjbClassesInstalled", false); - test.put("wasOpenEJBStarted", false); - test.put("canILookupAnything", false); + boolean wereTheOpenEJBClassesInstalled = false; + boolean wereTheEjbClassesInstalled = false; + boolean wasOpenEJBStarted = false; + boolean canILookupAnything = false; try { final ClassLoader myLoader = this.getClass().getClassLoader(); Class.forName("org.apache.openejb.OpenEJB", true, myLoader); - test.put("wereTheOpenEJBClassesInstalled", true); + wereTheOpenEJBClassesInstalled = true; } catch (Exception e) { // noop } try { Class.forName("javax.ejb.EJBHome", true, this.getClass().getClassLoader()); - test.put("wereTheEjbClassesInstalled", true); + wereTheEjbClassesInstalled = true; } catch (Exception e) { // noop } try { final Class openejb = Class.forName("org.apache.openejb.OpenEJB", true, this.getClass().getClassLoader()); final Method isInitialized = openejb.getDeclaredMethod("isInitialized"); - final Boolean running = (Boolean) isInitialized.invoke(openejb); - test.put("wasOpenEJBStarted", running); + wasOpenEJBStarted = (Boolean) isInitialized.invoke(openejb); } catch (Exception e) { // noop } @@ -121,11 +132,15 @@ public class Runner { final InitialContext ctx = new InitialContext(p); final Object obj = ctx.lookup(""); if (obj.getClass().getName().equals("org.apache.openejb.core.ivm.naming.IvmContext")) { - test.put("canILookupAnything", true); + canILookupAnything = true; } } catch (Exception e) { // noop } + result.add(Common.build("wereTheOpenEJBClassesInstalled", String.valueOf(wereTheOpenEJBClassesInstalled))); + result.add(Common.build("wereTheEjbClassesInstalled", String.valueOf(wereTheEjbClassesInstalled))); + result.add(Common.build("wasOpenEJBStarted", String.valueOf(wasOpenEJBStarted))); + result.add(Common.build("canILookupAnything", String.valueOf(canILookupAnything))); } return result; } Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Status.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Status.java?rev=1526913&r1=1526912&r2=1526913&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Status.java (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/Status.java Fri Sep 27 14:25:45 2013 @@ -23,7 +23,6 @@ import org.apache.tomee.installer.Paths; import java.io.File; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -42,34 +41,24 @@ public class Status { return file.getPath(); } - private Map<String, String> build(String key, String value) { - Map<String, String> result = new HashMap<String, String>(); - result.put("key", key); - result.put("value", value); - return result; - } - public List<Map<String, String>> get() { final Paths paths = new Paths(openejbWarDir); final List<Map<String, String>> result = new ArrayList<Map<String, String>>(); - result.add(build("isListenerInstalled", String.valueOf(Installer.isListenerInstalled()))); - result.add(build("isAgentInstalled", String.valueOf(Installer.isAgentInstalled()))); - - result.add(build("catalinaConfDir", getSafePath(paths.getCatalinaConfDir()))); - result.add(build("catalinaLibDir", getSafePath(paths.getCatalinaLibDir()))); - result.add(build("catalinaBinDir", getSafePath(paths.getCatalinaBinDir()))); - result.add(build("catalinaShFile", getSafePath(paths.getCatalinaShFile()))); - result.add(build("catalinaBatFile", getSafePath(paths.getCatalinaBatFile()))); - result.add(build("openEJBLibDir", getSafePath(paths.getOpenEJBLibDir()))); - result.add(build("openEJBTomcatLoaderJar", getSafePath(paths.getOpenEJBTomcatLoaderJar()))); - result.add(build("openEJBJavaagentJar", getSafePath(paths.getOpenEJBJavaagentJar()))); - - result.add(build("catalinaHomeDir", getSafePath(paths.getCatalinaHomeDir()))); - result.add(build("catalinaBaseDir", getSafePath(paths.getCatalinaBaseDir()))); - result.add(build("serverXmlFile", getSafePath(paths.getServerXmlFile()))); - final Installer installer = new Installer(paths); - result.add(build("status", String.valueOf(installer.getStatus()))); + result.add(Common.build("status", String.valueOf(installer.getStatus()))); + result.add(Common.build("isListenerInstalled", String.valueOf(Installer.isListenerInstalled()))); + result.add(Common.build("isAgentInstalled", String.valueOf(Installer.isAgentInstalled()))); + result.add(Common.build("catalinaConfDir", getSafePath(paths.getCatalinaConfDir()))); + result.add(Common.build("catalinaLibDir", getSafePath(paths.getCatalinaLibDir()))); + result.add(Common.build("catalinaBinDir", getSafePath(paths.getCatalinaBinDir()))); + result.add(Common.build("catalinaShFile", getSafePath(paths.getCatalinaShFile()))); + result.add(Common.build("catalinaBatFile", getSafePath(paths.getCatalinaBatFile()))); + result.add(Common.build("openEJBLibDir", getSafePath(paths.getOpenEJBLibDir()))); + result.add(Common.build("openEJBTomcatLoaderJar", getSafePath(paths.getOpenEJBTomcatLoaderJar()))); + result.add(Common.build("openEJBJavaagentJar", getSafePath(paths.getOpenEJBJavaagentJar()))); + result.add(Common.build("catalinaHomeDir", getSafePath(paths.getCatalinaHomeDir()))); + result.add(Common.build("catalinaBaseDir", getSafePath(paths.getCatalinaBaseDir()))); + result.add(Common.build("serverXmlFile", getSafePath(paths.getServerXmlFile()))); return result; } } Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.css URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.css?rev=1526913&r1=1526912&r2=1526913&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.css (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.css Fri Sep 27 14:25:45 2013 @@ -5,6 +5,14 @@ div.ux-status-panel { bottom: 270px; right: 5px; left: 5px; +} +div.ux-status-panel > div.panel-body{ + margin: 0; + position: absolute; + top: 45px; + right: 5px; + left: 5px; + bottom: 5px; overflow: auto; } div.ux-installer-panel { Modified: tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.js URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.js?rev=1526913&r1=1526912&r2=1526913&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.js (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/webapp/app.js Fri Sep 27 14:25:45 2013 @@ -7,6 +7,7 @@ $(function () { installBtn.on('click', function (evt) { evt.preventDefault(); + installBtn.addClass('disabled'); $.ajax({ url: 'installer', data: { @@ -44,9 +45,6 @@ $(function () { if (data && data.length > 0) { if (systemStatus.status === 'NONE') { installBtn.removeClass('disabled'); - catalinaHome.removeClass('disabled'); - catalinaBase.removeClass('disabled'); - serverXmlFile.removeClass('disabled'); } catalinaHome.val(systemStatus.catalinaHomeDir); catalinaBase.val(systemStatus.catalinaBaseDir);
