aboutsummaryrefslogtreecommitdiffstats
path: root/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java')
-rw-r--r--ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java419
1 files changed, 213 insertions, 206 deletions
diff --git a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java
index c58feeb..3061fad 100644
--- a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java
+++ b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/websocket/server/RansimWebSocketServer.java
@@ -23,13 +23,13 @@ package org.onap.ransim.websocket.server;
import java.io.IOException;
import javax.websocket.CloseReason;
+import javax.websocket.EncodeException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
-import javax.websocket.EncodeException;
import org.apache.log4j.Logger;
import org.onap.ransim.rest.api.services.RansimControllerServices;
@@ -41,214 +41,221 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@Controller
-@ServerEndpoint(value = "/RansimAgent/{IpPort}", encoders = { DeviceDataEncoder.class }, decoders = {
- DeviceDataDecoder.class })
+@ServerEndpoint(
+ value = "/RansimAgent/{IpPort}",
+ encoders = {DeviceDataEncoder.class},
+ decoders = {DeviceDataDecoder.class})
public class RansimWebSocketServer {
- static Logger log = Logger.getLogger(RansimWebSocketServer.class.getName());
-
- private static RansimControllerServices rscServices;
-
- @Autowired
- public void setRscServices(RansimControllerServices service){
- this.rscServices=service;
- }
- /**
- * Set of actions to be done when connection is opened.
- *
- * @param session Session details
- * @param ipPort ip address of the agent
- */
- @OnOpen
- public void onOpen(Session session, @PathParam("IpPort") String ipPort) {
- try {
- String useCaseType = RansimControllerServices.useCaseType;
- switch(useCaseType) {
- case "sonUsecase":
- log.info("RansimWebSocketServer : Assign serverId wrt SlicingUsecase");
- String serverId = rscServices.addWebSocketSessions(ipPort, session);
- if (serverId != null) {
- log.info("New websocket session added for " + serverId);
- rscServices.sendInitialConfigForNewAgent(ipPort, serverId);
- } else {
- log.info("RansimWebSocketServer: No assigned ServerId found - No intial configuration sent to New Agent " + ipPort);
- }
- break;
- case "ranSlicingUsecase":
- log.info("RansimWebSocketServer : Assign serverId wrt RANSlicingUsecase");
- String ranServerId = rscServices.addRanWebSocketSessions(ipPort, session);
- if (ranServerId != null) {
- log.info("New websocket session added for " + ranServerId);
- rscServices.sendRanInitialConfigForNewAgent(ipPort, ranServerId);
- } else {
- log.info("RansimWebSocketServer: No assigned ServerId found - No intial configuration sent to New Agent " + ipPort);
- }
- break;
- default:
- log.info("RansimWebSocketServer: No assigned ServerId found");
- }
- } catch (Exception e) {
- log.info("Exception in onOpen:", e);
- }
- }
-
- /**
- * Handles the message sent from the agent.
- *
- * @param message message sent from the agent
- * @param session session details
- * @param ipPort ip address public void onMessage(DeviceData message, Session
- * session, @PathParam("IpPort") String ipPort) {
- */
- @OnMessage
- public void onMessage(final DeviceData message, final Session session, @PathParam("IpPort") String ipPort)
- throws IOException, EncodeException {
- log.info("WSS Obj Message received from client(" + ipPort + ") with id " + session.getId());
- try {
- if (message != null) {
- if (message.getMessage() == null || message.getMessage().trim().equals("")) {
- log.debug("Periodic ping message.... ignore");
- return;
- } else {
-
- if (message.getType().equals(MessageTypes.HC_TO_RC_MODPCI)) {
- log.info("Modify pci message received");
- rscServices.handleModifyPciFromSdnr(message.getMessage(), session, ipPort);
- } else if (message.getType().equals(MessageTypes.HC_TO_RC_MODANR)) {
- log.info("Modify anr message received");
- rscServices.handleModifyNeighborFromSdnr(message.getMessage(), session, ipPort);
- } else if (message.getType().equals(MessageTypes.HC_TO_RC_RTRIC)) {
- log.info("Distribute RTRIC Config message received");
- rscServices.handleRTRICConfigFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_RRM_POLICY)){
- log.info("Add RRMPolicyRatio message received");
- rscServices.handleRRMPolicyRatioUpdateFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_PLMN)){
- log.info("Add PLMNInfo message received");
- rscServices.handlePLMNInfoUpdateFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_SLICE_PROFILE)){
- log.info("Add SliceProfile message received");
- rscServices.handleSliceProfileUpdateFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_RRM_POLICY_DEL)){
- log.info("Delete RRMPolicyRatio message received");
- rscServices.handleRRMPolicyRatioDeleteFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_PLMN_DEL)){
- log.info("Delete PLMNInfo message received");
- rscServices.handlePLMNInfoDeleteFromSdnr(message.getMessage(), session, ipPort);
- } else if(message.getType().equals(MessageTypes.HC_TO_RC_SLICE_PROFILE_DEL)){
- log.info("Delete SliceProfile message received");
- rscServices.handleSliceProfileDeleteFromSdnr(message.getMessage(), session, ipPort);
- }
-
- }
- }
- } catch (Exception e) {
- log.info("Exception in onMessage:", e);
- }
- }
-
- /**
- * Set of actions to be done when connection is closed.
- *
- * @param reason reason the session was closed
- * @param session session details
- * @param ipPort ip address
- */
- @OnClose
- public void onClose(CloseReason reason, Session session, @PathParam("IpPort") String ipPort) {
- try {
- log.info("WSS Closing client(" + ipPort + ") cxn with id " + session.getId() + "due to "
- + reason.getReasonPhrase());
- rscServices.removeWebSocketSessions(ipPort);
- } catch (Exception e) {
- log.info("Exception in onClose:", e);
- }
- }
-
- public static void sendUpdateCellMessage(String str, Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.RC_TO_HC_UPDCELL);
- data.setMessage(str);
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void sendPmMessage(String str, Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.RC_TO_HC_PMDATA);
- data.setMessage(str);
- log.info("data.setMessage: " + data.getMessage());
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
+ static Logger log = Logger.getLogger(RansimWebSocketServer.class.getName());
+
+ private static RansimControllerServices rscServices;
+
+ @Autowired
+ public void setRscServices(RansimControllerServices service) {
+ this.rscServices = service;
+ }
+
+ /**
+ * Set of actions to be done when connection is opened.
+ *
+ * @param session Session details
+ * @param ipPort ip address of the agent
+ */
+ @OnOpen
+ public void onOpen(Session session, @PathParam("IpPort") String ipPort) {
+ try {
+ String useCaseType = RansimControllerServices.useCaseType;
+ switch (useCaseType) {
+ case "sonUsecase":
+ log.info("RansimWebSocketServer : Assign serverId wrt SlicingUsecase");
+ String serverId = rscServices.addWebSocketSessions(ipPort, session);
+ if (serverId != null) {
+ log.info("New websocket session added for " + serverId);
+ rscServices.sendInitialConfigForNewAgent(ipPort, serverId);
+ } else {
+ log.info(
+ "RansimWebSocketServer: No assigned ServerId found - No intial configuration sent to New Agent "
+ + ipPort);
+ }
+ break;
+ case "ranSlicingUsecase":
+ log.info("RansimWebSocketServer : Assign serverId wrt RANSlicingUsecase");
+ String ranServerId = rscServices.addRanWebSocketSessions(ipPort, session);
+ if (ranServerId != null) {
+ log.info("New websocket session added for " + ranServerId);
+ rscServices.sendRanInitialConfigForNewAgent(ipPort, ranServerId);
+ } else {
+ log.info(
+ "RansimWebSocketServer: No assigned ServerId found - No intial configuration sent to New Agent "
+ + ipPort);
+ }
+ break;
+ default:
+ log.info("RansimWebSocketServer: No assigned ServerId found");
+ }
+ } catch (Exception e) {
+ log.info("Exception in onOpen:", e);
+ }
+ }
+
+ /**
+ * Handles the message sent from the agent.
+ *
+ * @param message message sent from the agent
+ * @param session session details
+ * @param ipPort ip address public void onMessage(DeviceData message, Session
+ * session, @PathParam("IpPort") String ipPort) {
+ */
+ @OnMessage
+ public void onMessage(final DeviceData message, final Session session, @PathParam("IpPort") String ipPort)
+ throws IOException, EncodeException {
+ log.info("WSS Obj Message received from client(" + ipPort + ") with id " + session.getId());
+ try {
+ if (message != null) {
+ if (message.getMessage() == null || message.getMessage().trim().equals("")) {
+ log.debug("Periodic ping message.... ignore");
+ return;
+ } else {
+
+ if (message.getType().equals(MessageTypes.HC_TO_RC_MODPCI)) {
+ log.info("Modify pci message received");
+ rscServices.handleModifyPciFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_MODANR)) {
+ log.info("Modify anr message received");
+ rscServices.handleModifyNeighborFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_RTRIC)) {
+ log.info("Distribute RTRIC Config message received");
+ rscServices.handleRTRICConfigFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_RRM_POLICY)) {
+ log.info("Add RRMPolicyRatio message received");
+ rscServices.handleRRMPolicyRatioUpdateFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_PLMN)) {
+ log.info("Add PLMNInfo message received");
+ rscServices.handlePLMNInfoUpdateFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_SLICE_PROFILE)) {
+ log.info("Add SliceProfile message received");
+ rscServices.handleSliceProfileUpdateFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_RRM_POLICY_DEL)) {
+ log.info("Delete RRMPolicyRatio message received");
+ rscServices.handleRRMPolicyRatioDeleteFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_PLMN_DEL)) {
+ log.info("Delete PLMNInfo message received");
+ rscServices.handlePLMNInfoDeleteFromSdnr(message.getMessage(), session, ipPort);
+ } else if (message.getType().equals(MessageTypes.HC_TO_RC_SLICE_PROFILE_DEL)) {
+ log.info("Delete SliceProfile message received");
+ rscServices.handleSliceProfileDeleteFromSdnr(message.getMessage(), session, ipPort);
+ }
+
+ }
+ }
+ } catch (Exception e) {
+ log.info("Exception in onMessage:", e);
+ }
+ }
+
+ /**
+ * Set of actions to be done when connection is closed.
+ *
+ * @param reason reason the session was closed
+ * @param session session details
+ * @param ipPort ip address
+ */
+ @OnClose
+ public void onClose(CloseReason reason, Session session, @PathParam("IpPort") String ipPort) {
+ try {
+ log.info("WSS Closing client(" + ipPort + ") cxn with id " + session.getId() + "due to "
+ + reason.getReasonPhrase());
+ rscServices.removeWebSocketSessions(ipPort);
+ } catch (Exception e) {
+ log.info("Exception in onClose:", e);
+ }
+ }
+
+ public static void sendUpdateCellMessage(String str, Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.RC_TO_HC_UPDCELL);
+ data.setMessage(str);
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendPmMessage(String str, Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.RC_TO_HC_PMDATA);
+ data.setMessage(str);
+ log.info("data.setMessage: " + data.getMessage());
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
public static void sendIntelligentSlicingPmData(String str, Session session) {
- DeviceData data = new DeviceData();
+ DeviceData data = new DeviceData();
data.setType(MessageTypes.RC_TO_HC_PMFILEDATA);
data.setMessage(str);
- log.info("data.setMessage: " + data.getMessage());
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void sendFmMessage(String str, Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.RC_TO_HC_FMDATA);
- data.setMessage(str);
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void sendSetConfigTopologyMessage(String str, Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.RC_TO_HC_SETCONFIGTOPO);
- data.setMessage(str);
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void sendSetReconfigureMessage(String str, Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.HC_TO_RC_RTRIC);
- data.setMessage(str);
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public static void sendPingMessage(Session session) {
- DeviceData data = new DeviceData();
- data.setType(MessageTypes.RC_TO_HC_PING);
- data.setMessage("");
- try {
- sendMessage(data, session);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void sendMessage(DeviceData data, Session session) {
- try {
- session.getBasicRemote().sendObject(data);
- } catch (Exception e) {
- log.info("Exception in sendMessage:", e);
- }
- }
+ log.info("data.setMessage: " + data.getMessage());
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendFmMessage(String str, Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.RC_TO_HC_FMDATA);
+ data.setMessage(str);
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendSetConfigTopologyMessage(String str, Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.RC_TO_HC_SETCONFIGTOPO);
+ data.setMessage(str);
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendSetReconfigureMessage(String str, Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.HC_TO_RC_RTRIC);
+ data.setMessage(str);
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void sendPingMessage(Session session) {
+ DeviceData data = new DeviceData();
+ data.setType(MessageTypes.RC_TO_HC_PING);
+ data.setMessage("");
+ try {
+ sendMessage(data, session);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void sendMessage(DeviceData data, Session session) {
+ try {
+ session.getBasicRemote().sendObject(data);
+ } catch (Exception e) {
+ log.info("Exception in sendMessage:", e);
+ }
+ }
}