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(); }