[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openejb-cvs
Subject:    svn commit: r1526885 - /tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/i
From:       tveronezi () apache ! org
Date:       2013-09-27 12:49:23
Message-ID: 20130927124923.477E32388A02 () eris ! apache ! org
[Download RAW message or body]

Author: tveronezi
Date: Fri Sep 27 12:49:22 2013
New Revision: 1526885

URL: http://svn.apache.org/r1526885
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/InstallerServlet.java


Added: 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=1526885&view=auto
 ==============================================================================
--- tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java \
                (added)
+++ tomee/tomee/trunk/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/installer/InstallerServlet.java \
Fri Sep 27 12:49:22 2013 @@ -0,0 +1,82 @@
+/*
+ * 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 javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+public class InstallerServlet extends HttpServlet {
+
+    private String escape(String str) {
+        return str.replaceAll("\"", "\\\"").replaceAll("\\\\", "\\\\");
+    }
+
+    private String getJsonList(List<Map<String, String>> list) {
+        final StringBuffer sb = new StringBuffer();
+        for (Map<String, String> entry : list) {
+            sb.append(String.format("{\"key\": \"%s\", \"value\": \"%s\"},",
+                    entry.get("key"), escape(entry.get("value"))
+            ));
+        }
+        if (!list.isEmpty()) {
+            sb.deleteCharAt(sb.length() - 1);
+        }
+        return "[" + sb.toString() + "]";
+    }
+
+    @Override
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws \
ServletException, IOException { +        final ServletContext ctx = \
req.getServletContext(); +        final String rootPath = ctx.getRealPath("/");
+        final Status statusManager = new Status(new File(rootPath));
+        resp.setContentType("application/json");
+        resp.getOutputStream().print(getJsonList(statusManager.get()));
+    }
+
+    @Override
+    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws \
ServletException, IOException { +        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()));
+    }
+}


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic