[Minor] Fixed constructors to work with Strolch

This commit is contained in:
Robert von Burg 2022-01-19 19:41:33 +01:00
parent 1e0ae26830
commit ff548a36db
4 changed files with 14 additions and 11 deletions

View File

@ -56,6 +56,7 @@ public abstract class PlcExecutionPolicy extends SimpleExecution
super.handleStopped();
}
@Override
protected void toExecuted() throws Exception {
stop();
getController().toExecuted(this.actionLoc);

View File

@ -3,19 +3,19 @@ package li.strolch.plc.rest.ws;
import javax.websocket.EndpointConfig;
import javax.websocket.Session;
import li.strolch.agent.api.ComponentContainer;
import li.strolch.agent.api.ObserverHandler;
import li.strolch.agent.api.StrolchAgent;
import li.strolch.websocket.WebSocketClient;
import li.strolch.websocket.WebSocketObserverHandler;
public class PlcWebSocketClient extends WebSocketClient {
public PlcWebSocketClient(ComponentContainer container, Session session, EndpointConfig config) {
super(container, session, config);
public PlcWebSocketClient(StrolchAgent agent, Session session, EndpointConfig config) {
super(agent, session, config);
}
@Override
protected WebSocketObserverHandler getWebSocketObserverHandler(ObserverHandler observerHandler) {
return new PlcWebSocketObserverHandler(observerHandler, this);
protected WebSocketObserverHandler getWebSocketObserverHandler(String realm, ObserverHandler observerHandler) {
return new PlcWebSocketObserverHandler(this.agent, realm, observerHandler, this);
}
}

View File

@ -7,14 +7,16 @@ import java.util.Set;
import com.google.gson.JsonObject;
import li.strolch.agent.api.ObserverHandler;
import li.strolch.agent.api.StrolchAgent;
import li.strolch.model.StrolchRootElement;
import li.strolch.websocket.WebSocketClient;
import li.strolch.websocket.WebSocketObserverHandler;
public class PlcWebSocketObserverHandler extends WebSocketObserverHandler {
public PlcWebSocketObserverHandler(ObserverHandler observerHandler, WebSocketClient client) {
super(observerHandler, client);
public PlcWebSocketObserverHandler(StrolchAgent agent, String realmName, ObserverHandler observerHandler,
WebSocketClient client) {
super(agent, realmName, observerHandler, client);
}
@Override

View File

@ -4,18 +4,18 @@ import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.util.concurrent.ConcurrentHashMap;
import li.strolch.agent.api.ComponentContainer;
import li.strolch.agent.api.StrolchAgent;
import li.strolch.rest.RestfulStrolchComponent;
@ServerEndpoint("/websocket/plc/observer")
public class WebSocketEndpoint {
private ConcurrentHashMap<Session, PlcWebSocketClient> clientMap = new ConcurrentHashMap<>();
private final ConcurrentHashMap<Session, PlcWebSocketClient> clientMap = new ConcurrentHashMap<>();
@OnOpen
public void onOpen(Session session, EndpointConfig config) {
ComponentContainer container = RestfulStrolchComponent.getInstance().getContainer();
PlcWebSocketClient updateClient = new PlcWebSocketClient(container, session, config);
StrolchAgent agent = RestfulStrolchComponent.getInstance().getAgent();
PlcWebSocketClient updateClient = new PlcWebSocketClient(agent, session, config);
this.clientMap.put(session, updateClient);
session.addMessageHandler(updateClient);
}