package org.merapi; import org.merapi.helper.messages.CollaborationMessage; import org.merapi.helper.messages.DLControlMessage; import org.merapi.helper.messages.DLControlRespondMessage; import org.merapi.internal.Bridge; import org.merapi.internal.PolicyServer; import org.millipede.merapi.messages.ProviderMessage; import org.millipede.router.generator.EventGenerator; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class BridgeActivator implements BundleActivator { private EventGenerator eventGenerator; private Thread gt; @Override public void start(BundleContext context) throws Exception { (new PolicyServer(12344, new String[]{"*:12345"})).start(); Bridge.open(); eventGenerator = new EventGenerator(context); gt = new Thread(eventGenerator); gt.start(); Bridge.getInstance().registerMessageHandler(DLControlMessage.DL_CONTROL, eventGenerator); // Bridge.getInstance().registerMessageHandler(BarUpdateRequestMessage.REQUEST_BAR_DATA, eventGenerator); // Bridge.getInstance().registerMessageHandler(SystemMessage.SYSTEM_MESSAGE, eventGenerator); Bridge.getInstance().registerMessageHandler(DLControlRespondMessage.DL_CONTROL_RESPOND, eventGenerator); Bridge.getInstance().registerMessageHandler(CollaborationMessage.COLLABORATION, eventGenerator); Bridge.getInstance().registerMessageHandler(ProviderMessage.PROVIDER_MESSAGE, eventGenerator); Bridge.getInstance().registerMessageHandler("loginMessageType", eventGenerator); Bridge.getInstance().registerMessageHandler("/flexspaces/info", eventGenerator); Bridge.getInstance().registerMessageHandler(ProviderMessage.UPLOAD, eventGenerator); } @Override public void stop(BundleContext context) throws Exception { Bridge.close(); //Bridge Singleton instance unregistered from ServiceRegister // serviceRegistration.unregister(); // System.out.println("UNREGISTERED org.merapi.BridgeService"); //Ausgelagert in router eventGenerator.setRunning(false); gt.join(); // reg.unregister(); } }