From b1d4acd13e310ed0e3fc052565e1951b826c956b Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Tue, 6 Dec 2016 01:17:36 +0300 Subject: [PATCH] =?UTF-8?q?WebInterface:=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=D0=B9=20(bundles)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webinterface/pom.xml | 2 +- .../java/asys/webinterface/Activator.java | 2 +- .../java/asys/webinterface/IndexHandler.java | 22 +++++++++++++++---- .../java/asys/webinterface/WebServer.java | 8 ++++++- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/webinterface/pom.xml b/webinterface/pom.xml index c305b6a..70a7015 100644 --- a/webinterface/pom.xml +++ b/webinterface/pom.xml @@ -19,7 +19,7 @@ asys webinterface - 0.1-SNAPSHOT + 0.2-SNAPSHOT bundle diff --git a/webinterface/src/main/java/asys/webinterface/Activator.java b/webinterface/src/main/java/asys/webinterface/Activator.java index 67f18ae..41a914a 100644 --- a/webinterface/src/main/java/asys/webinterface/Activator.java +++ b/webinterface/src/main/java/asys/webinterface/Activator.java @@ -12,7 +12,7 @@ public class Activator implements BundleActivator { @Override public void start(BundleContext context) throws Exception { - webServer = new WebServer(); + webServer = new WebServer(context); webServer.start(8778); } diff --git a/webinterface/src/main/java/asys/webinterface/IndexHandler.java b/webinterface/src/main/java/asys/webinterface/IndexHandler.java index 67f10e8..5bf1eaf 100644 --- a/webinterface/src/main/java/asys/webinterface/IndexHandler.java +++ b/webinterface/src/main/java/asys/webinterface/IndexHandler.java @@ -6,6 +6,8 @@ package asys.webinterface; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; import java.io.IOException; import java.io.OutputStream; @@ -13,14 +15,26 @@ import java.nio.charset.Charset; public class IndexHandler implements HttpHandler { private static final Charset defaultCharset = Charset.forName("UTF-8"); + private BundleContext context; + + public IndexHandler(BundleContext context) { + this.context = context; + } @Override public void handle(HttpExchange httpExchange) throws IOException { - String plainText = "ASys Webinterface"; - httpExchange.sendResponseHeaders(200, plainText.length()); - httpExchange.setAttribute("Context-Type", "text/plain;charset=utf-8"); + StringBuilder htmlText = new StringBuilder(""); + htmlText.append("

").append("ASys Web interface").append("

") + .append(""); + + httpExchange.sendResponseHeaders(200, htmlText.length()); + httpExchange.setAttribute("Context-Type", "text/html;charset=utf-8"); OutputStream responseBody = httpExchange.getResponseBody(); - responseBody.write(plainText.getBytes(defaultCharset)); + responseBody.write(htmlText.toString().getBytes(defaultCharset)); responseBody.close(); } } diff --git a/webinterface/src/main/java/asys/webinterface/WebServer.java b/webinterface/src/main/java/asys/webinterface/WebServer.java index 2224dc5..c02b0c9 100644 --- a/webinterface/src/main/java/asys/webinterface/WebServer.java +++ b/webinterface/src/main/java/asys/webinterface/WebServer.java @@ -5,16 +5,22 @@ package asys.webinterface; import com.sun.net.httpserver.HttpServer; +import org.osgi.framework.BundleContext; import java.io.IOException; import java.net.InetSocketAddress; public class WebServer { private HttpServer server; + private BundleContext context; + + public WebServer(BundleContext context) { + this.context = context; + } public void start(int port) throws IOException { server = HttpServer.create(new InetSocketAddress(port), 0); - server.createContext("/", new IndexHandler()); + server.createContext("/", new IndexHandler(context)); server.start(); }