diff --git a/webinterface/build.gradle b/webinterface/build.gradle index 32b3590..5001067 100644 --- a/webinterface/build.gradle +++ b/webinterface/build.gradle @@ -1,5 +1,5 @@ group = 'asys' -version = '0.17-SNAPSHOT' +version = '0.18-SNAPSHOT' buildscript { repositories { diff --git a/webinterface/src/main/java/asys/webinterface/Activator.java b/webinterface/src/main/java/asys/webinterface/Activator.java index 3d52bf8..76b4534 100644 --- a/webinterface/src/main/java/asys/webinterface/Activator.java +++ b/webinterface/src/main/java/asys/webinterface/Activator.java @@ -4,10 +4,12 @@ */ package asys.webinterface; +import asys.api.Config; import asys.webinterface.api.Webinterface; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; +import org.osgi.util.tracker.ServiceTracker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,6 +20,11 @@ public class Activator implements BundleActivator { @Override public void start(BundleContext context) throws Exception { + ServiceTracker serviceConfigTracker = new ServiceTracker<>(context, Config.class, null); + serviceConfigTracker.open(); + Config config = serviceConfigTracker.getService(); + if (config == null) throw new RuntimeException("Service 'Config' is not avalable!"); + WebinterfaceImpl webinterface = new WebinterfaceImpl(); webinterface.addModule(new Modules_WebModule(context)); @@ -25,7 +32,8 @@ public class Activator implements BundleActivator { serviceMainMenu = context.registerService(Webinterface.class, webinterface, null); webServer = new WebServer(context, webinterface); - webServer.start(8778); + webServer.start(config.getInt("asys.webinterface.port", 8778)); + serviceConfigTracker.close(); } @Override