From 30420c45f8db8d95951f9ea782489a57a76fb97b Mon Sep 17 00:00:00 2001 From: Michael Dürre Date: Wed, 29 Jul 2020 07:54:34 +0200 Subject: update websocketmanager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit yang completion and smaller code cleanups Issue-ID: CCSDK-2580 Signed-off-by: Michael Dürre Change-Id: I4f6d425dbe000a9156ae3d5c6280d83d73dbd1f5 --- sdnr/wt/websocketmanager2/feature/pom.xml | 11 --- .../model/src/main/yang/websocketmanager.yang | 96 +++++++++++++++------- .../wt/websocketmanager2/WebSocketManager.java | 10 +-- .../websocketmanager2/WebSocketManagerSocket.java | 10 +-- .../wt/websocketmanager2/utils/AkkaConfig.java | 11 +-- .../wt/websocketmanager2/utils/UserScopes.java | 2 +- 6 files changed, 84 insertions(+), 56 deletions(-) (limited to 'sdnr/wt/websocketmanager2') diff --git a/sdnr/wt/websocketmanager2/feature/pom.xml b/sdnr/wt/websocketmanager2/feature/pom.xml index b1d1a9ed7..0306499c6 100644 --- a/sdnr/wt/websocketmanager2/feature/pom.xml +++ b/sdnr/wt/websocketmanager2/feature/pom.xml @@ -40,17 +40,6 @@ ccsdk-features :: ${project.artifactId} - - - - org.opendaylight.controller - mdsal-artifacts - ${odl.controller.mdsal.version} - pom - import - - - ${project.groupId} diff --git a/sdnr/wt/websocketmanager2/model/src/main/yang/websocketmanager.yang b/sdnr/wt/websocketmanager2/model/src/main/yang/websocketmanager.yang index dd0297830..81eaaf602 100644 --- a/sdnr/wt/websocketmanager2/model/src/main/yang/websocketmanager.yang +++ b/sdnr/wt/websocketmanager2/model/src/main/yang/websocketmanager.yang @@ -1,38 +1,76 @@ module websocketmanager { - yang-version 1; - namespace "urn:opendaylight:params:xml:ns:yang:websocketmanager"; - prefix "websocketmanager"; - revision "2015-01-05" { - description "Initial revision of websocketmanager model"; - } + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:websocketmanager"; + prefix websocketmanager; - rpc websocket-event { - input { - leaf nodeName { - type string; - } - - leaf eventType { - type string; - } - - leaf xmlEvent { - type string; - } - } - output { - leaf response { - type string; - } - } - } + organization + "highstreet technologies GmbH"; + contact + "Web: + ONAP: "; + + description + "This module defines the API for the websocket manager component. + + Copyright 2019 highstreet technologies GmbH Intellectual Property. + All rights reserved. + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at - notification messagePushed { - leaf message { + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License."; + + revision 2015-01-05 { + description + "Initial revision of websocketmanager model"; + reference + "https://jira.onap.org/browse/SDNC-879"; + } + + rpc websocket-event { + description + "The remote procedure call tor regirster for websocket."; + input { + leaf nodeName { type string; + description + "The node name, also called mointpoint name, device id,..."; } + leaf eventType { + type string; + description + "The event type."; + } + leaf xmlEvent { + type string; + description + "The event in xml format."; + } + } + output { + leaf response { + type string; + description + "The response message."; + } + } + } + notification messagePushed { + leaf message { + type string; + description + "The text pushed in the message."; } + description + "The definition of the notification syntax to push a message."; + } } - diff --git a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManager.java b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManager.java index 1c4d924cb..00e776a74 100644 --- a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManager.java +++ b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManager.java @@ -14,7 +14,7 @@ * or implied. See the License for the specific language governing permissions and limitations under * the License. * ============LICENSE_END========================================================================== - */ + */ package org.onap.ccsdk.features.sdnr.wt.websocketmanager2; import com.google.common.util.concurrent.ListenableFuture; @@ -37,9 +37,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocke import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketEventOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketEventOutputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketmanagerService; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +54,7 @@ public class WebSocketManager extends WebSocketServlet implements Websocketmanag private final AkkaConfig akkaConfig; /** * timeout for websocket with no messages in ms - */ + */ //private static final long IDLE_TIMEOUT = 5 * 60 * 1000L; private static final long IDLE_TIMEOUT = 0L; @@ -142,12 +142,12 @@ public class WebSocketManager extends WebSocketServlet implements Websocketmanag /********************************************************** * Private functions - */ + */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (req.getHeader("Upgrade") != null) { - /* Accept upgrade request */ + /* Accept upgrade request */ resp.setStatus(101); resp.setHeader("Upgrade", "XYZP"); resp.setHeader("Connection", "Upgrade"); diff --git a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManagerSocket.java b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManagerSocket.java index 70810a7ac..c2c67be2e 100644 --- a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManagerSocket.java +++ b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManagerSocket.java @@ -50,15 +50,15 @@ public class WebSocketManagerSocket extends WebSocketAdapter { /** * list of all sessionids - */ + */ private static final List sessionIds = new ArrayList<>(); /** * map of sessionid <=> UserScopes - */ + */ private static final HashMap userScopesList = new HashMap<>(); /** * map of class.hashCode <=> class - */ + */ private static final HashMap clientList = new HashMap<>(); private final String myUniqueSessionId; @@ -132,7 +132,7 @@ public class WebSocketManagerSocket extends WebSocketAdapter { * * @param request is a json object {"data":"scopes","scopes":["scope1","scope2",...]} * @return if handled - */ + */ private boolean manageClientRequest(String request) { boolean ret = false; try { @@ -159,7 +159,7 @@ public class WebSocketManagerSocket extends WebSocketAdapter { /* * broadcast message to all your clients - */ + */ private void manageClientRequest2(String request) { try { JSONObject o = new JSONObject(request); diff --git a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/AkkaConfig.java b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/AkkaConfig.java index 93a941d20..b61462b49 100644 --- a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/AkkaConfig.java +++ b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/AkkaConfig.java @@ -6,19 +6,17 @@ * ================================================================================================= * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. * ============LICENSE_END========================================================================== - */ + */ package org.onap.ccsdk.features.sdnr.wt.websocketmanager2.utils; -import com.typesafe.config.Config; -import com.typesafe.config.ConfigFactory; import java.io.File; import java.util.ArrayList; import java.util.List; @@ -28,6 +26,9 @@ import org.onap.ccsdk.features.sdnr.wt.websocketmanager2.WebSocketManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.typesafe.config.Config; +import com.typesafe.config.ConfigFactory; + public class AkkaConfig { private static final Logger LOG = LoggerFactory.getLogger(WebSocketManager.class.getName()); diff --git a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/UserScopes.java b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/UserScopes.java index c7772d8cb..affa27e45 100644 --- a/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/UserScopes.java +++ b/sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/UserScopes.java @@ -26,7 +26,7 @@ public class UserScopes { /** * * @param jsonArray array of Strings - */ + */ public void setScopes(JSONArray jsonArray) { this.scopes = jsonArray; } -- cgit 1.2.3-korg