-/*******************************************************************************\r
- * Copyright (c) 2016 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * THTH ry - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.debug.browser.internal;\r
-\r
-import java.net.MalformedURLException;\r
-import java.net.URL;\r
-\r
-import org.eclipse.core.runtime.IStatus;\r
-import org.eclipse.core.runtime.Platform;\r
-import org.eclipse.core.runtime.Status;\r
-import org.eclipse.jetty.server.Connector;\r
-import org.eclipse.jetty.server.Handler;\r
-import org.eclipse.jetty.server.Server;\r
-import org.eclipse.jetty.server.ServerConnector;\r
-import org.eclipse.jetty.server.handler.HandlerList;\r
-import org.eclipse.jetty.server.handler.ResourceHandler;\r
-import org.eclipse.jetty.servlet.ServletContextHandler;\r
-import org.eclipse.jetty.servlet.ServletHandler;\r
-import org.eclipse.jetty.servlet.ServletHolder;\r
-import org.simantics.debug.browser.servlet.ResourceBrowserServlet;\r
-\r
-/**\r
- * @author Jani Simomaa / Semantum Oy\r
- * @since 1.22\r
- */\r
-public class DebugBrowserServer {\r
-\r
- private static final String CONTEXT_PATH = "/debug";\r
- \r
- private final Server server;\r
- private final ServerConnector connector;\r
-\r
- public DebugBrowserServer(String resourcePath) throws Exception {\r
- server = new Server();\r
- \r
- connector = new ServerConnector(server);\r
- connector.setHost("localhost");\r
- connector.setPort(0);\r
- server.setConnectors(new Connector[] { connector } );\r
- \r
- ServletHandler handler = new ServletHandler();\r
- \r
- ServletHolder holder = new ServletHolder(ResourceBrowserServlet.class);\r
- handler.addServletWithMapping(holder, "/*");\r
- ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);\r
- contextHandler.setContextPath(CONTEXT_PATH);\r
- contextHandler.setHandler(handler);\r
- \r
- ResourceHandler resourceHandler = new ResourceHandler();\r
- resourceHandler.setResourceBase(resourcePath);\r
- \r
- HandlerList handlers = new HandlerList();\r
- handlers.setHandlers(new Handler[] { resourceHandler, contextHandler });\r
- server.setHandler(handlers);\r
- }\r
- \r
- public void start() throws Exception {\r
- server.start();\r
- }\r
- \r
- public void stop() throws Exception {\r
- server.stop();\r
- }\r
- \r
- public URL getURL() {\r
- try {\r
- return new URL("http", connector.getHost(), connector.getLocalPort(), CONTEXT_PATH);\r
- } catch (MalformedURLException e) {\r
- Platform.getLog(Activator.getContext().getBundle()).log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "URL construction failed", e));\r
- throw new Error(e);\r
- }\r
- }\r
- \r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2016 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * THTH ry - initial API and implementation
+ *******************************************************************************/
+package org.simantics.debug.browser.internal;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.simantics.debug.browser.servlet.ResourceBrowserServlet;
+
+/**
+ * @author Jani Simomaa / Semantum Oy
+ * @since 1.22
+ */
+public class DebugBrowserServer {
+
+ private static final String CONTEXT_PATH = "/debug";
+
+ private final Server server;
+ private final ServerConnector connector;
+
+ public DebugBrowserServer(String resourcePath) throws Exception {
+ server = new Server();
+
+ connector = new ServerConnector(server);
+ connector.setHost("localhost");
+ connector.setPort(0);
+ server.setConnectors(new Connector[] { connector } );
+
+ ServletHandler handler = new ServletHandler();
+
+ ServletHolder holder = new ServletHolder(ResourceBrowserServlet.class);
+ handler.addServletWithMapping(holder, "/*");
+ ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ contextHandler.setContextPath(CONTEXT_PATH);
+ contextHandler.setHandler(handler);
+
+ ResourceHandler resourceHandler = new ResourceHandler();
+ resourceHandler.setResourceBase(resourcePath);
+
+ HandlerList handlers = new HandlerList();
+ handlers.setHandlers(new Handler[] { resourceHandler, contextHandler });
+ server.setHandler(handlers);
+ }
+
+ public void start() throws Exception {
+ server.start();
+ }
+
+ public void stop() throws Exception {
+ server.stop();
+ }
+
+ public URL getURL() {
+ try {
+ return new URL("http", connector.getHost(), connector.getLocalPort(), CONTEXT_PATH);
+ } catch (MalformedURLException e) {
+ Platform.getLog(Activator.getContext().getBundle()).log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "URL construction failed", e));
+ throw new Error(e);
+ }
+ }
+
+}