[Minor] Fixed constructors to work with Strolch
This commit is contained in:
parent
1e0ae26830
commit
ff548a36db
|
@ -56,6 +56,7 @@ public abstract class PlcExecutionPolicy extends SimpleExecution
|
||||||
super.handleStopped();
|
super.handleStopped();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
protected void toExecuted() throws Exception {
|
protected void toExecuted() throws Exception {
|
||||||
stop();
|
stop();
|
||||||
getController().toExecuted(this.actionLoc);
|
getController().toExecuted(this.actionLoc);
|
||||||
|
|
|
@ -3,19 +3,19 @@ package li.strolch.plc.rest.ws;
|
||||||
import javax.websocket.EndpointConfig;
|
import javax.websocket.EndpointConfig;
|
||||||
import javax.websocket.Session;
|
import javax.websocket.Session;
|
||||||
|
|
||||||
import li.strolch.agent.api.ComponentContainer;
|
|
||||||
import li.strolch.agent.api.ObserverHandler;
|
import li.strolch.agent.api.ObserverHandler;
|
||||||
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
import li.strolch.websocket.WebSocketClient;
|
import li.strolch.websocket.WebSocketClient;
|
||||||
import li.strolch.websocket.WebSocketObserverHandler;
|
import li.strolch.websocket.WebSocketObserverHandler;
|
||||||
|
|
||||||
public class PlcWebSocketClient extends WebSocketClient {
|
public class PlcWebSocketClient extends WebSocketClient {
|
||||||
|
|
||||||
public PlcWebSocketClient(ComponentContainer container, Session session, EndpointConfig config) {
|
public PlcWebSocketClient(StrolchAgent agent, Session session, EndpointConfig config) {
|
||||||
super(container, session, config);
|
super(agent, session, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected WebSocketObserverHandler getWebSocketObserverHandler(ObserverHandler observerHandler) {
|
protected WebSocketObserverHandler getWebSocketObserverHandler(String realm, ObserverHandler observerHandler) {
|
||||||
return new PlcWebSocketObserverHandler(observerHandler, this);
|
return new PlcWebSocketObserverHandler(this.agent, realm, observerHandler, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,14 +7,16 @@ import java.util.Set;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import li.strolch.agent.api.ObserverHandler;
|
import li.strolch.agent.api.ObserverHandler;
|
||||||
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
import li.strolch.model.StrolchRootElement;
|
import li.strolch.model.StrolchRootElement;
|
||||||
import li.strolch.websocket.WebSocketClient;
|
import li.strolch.websocket.WebSocketClient;
|
||||||
import li.strolch.websocket.WebSocketObserverHandler;
|
import li.strolch.websocket.WebSocketObserverHandler;
|
||||||
|
|
||||||
public class PlcWebSocketObserverHandler extends WebSocketObserverHandler {
|
public class PlcWebSocketObserverHandler extends WebSocketObserverHandler {
|
||||||
|
|
||||||
public PlcWebSocketObserverHandler(ObserverHandler observerHandler, WebSocketClient client) {
|
public PlcWebSocketObserverHandler(StrolchAgent agent, String realmName, ObserverHandler observerHandler,
|
||||||
super(observerHandler, client);
|
WebSocketClient client) {
|
||||||
|
super(agent, realmName, observerHandler, client);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,18 +4,18 @@ import javax.websocket.*;
|
||||||
import javax.websocket.server.ServerEndpoint;
|
import javax.websocket.server.ServerEndpoint;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import li.strolch.agent.api.ComponentContainer;
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
import li.strolch.rest.RestfulStrolchComponent;
|
import li.strolch.rest.RestfulStrolchComponent;
|
||||||
|
|
||||||
@ServerEndpoint("/websocket/plc/observer")
|
@ServerEndpoint("/websocket/plc/observer")
|
||||||
public class WebSocketEndpoint {
|
public class WebSocketEndpoint {
|
||||||
|
|
||||||
private ConcurrentHashMap<Session, PlcWebSocketClient> clientMap = new ConcurrentHashMap<>();
|
private final ConcurrentHashMap<Session, PlcWebSocketClient> clientMap = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@OnOpen
|
@OnOpen
|
||||||
public void onOpen(Session session, EndpointConfig config) {
|
public void onOpen(Session session, EndpointConfig config) {
|
||||||
ComponentContainer container = RestfulStrolchComponent.getInstance().getContainer();
|
StrolchAgent agent = RestfulStrolchComponent.getInstance().getAgent();
|
||||||
PlcWebSocketClient updateClient = new PlcWebSocketClient(container, session, config);
|
PlcWebSocketClient updateClient = new PlcWebSocketClient(agent, session, config);
|
||||||
this.clientMap.put(session, updateClient);
|
this.clientMap.put(session, updateClient);
|
||||||
session.addMessageHandler(updateClient);
|
session.addMessageHandler(updateClient);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue