update websocketmanager 77/110677/1
authorMichael Dürre <michael.duerre@highstreet-technologies.com>
Wed, 29 Jul 2020 05:54:34 +0000 (07:54 +0200)
committerMichael Dürre <michael.duerre@highstreet-technologies.com>
Wed, 29 Jul 2020 05:54:50 +0000 (07:54 +0200)
yang completion and smaller code cleanups

Issue-ID: CCSDK-2580
Signed-off-by: Michael Dürre <michael.duerre@highstreet-technologies.com>
Change-Id: I4f6d425dbe000a9156ae3d5c6280d83d73dbd1f5

sdnr/wt/websocketmanager2/feature/pom.xml
sdnr/wt/websocketmanager2/model/src/main/yang/websocketmanager.yang
sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManager.java
sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/WebSocketManagerSocket.java
sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/AkkaConfig.java
sdnr/wt/websocketmanager2/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/websocketmanager2/utils/UserScopes.java

index b1d1a9e..0306499 100644 (file)
 
     <name>ccsdk-features :: ${project.artifactId}</name>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.opendaylight.controller</groupId>
-                <artifactId>mdsal-artifacts</artifactId>
-                <version>${odl.controller.mdsal.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>${project.groupId}</groupId>
index dd02978..81eaaf6 100644 (file)
@@ -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:   <https://highstreet-technologies.com>
+     ONAP:  <https://wiki.onap.org/display/DW/ODLUX+DB+API>";
+
+  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.";
+  }
 }
-
index 1c4d924..00e776a 100644 (file)
@@ -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");
index 70810a7..c2c67be 100644 (file)
@@ -50,15 +50,15 @@ public class WebSocketManagerSocket extends WebSocketAdapter {
 
     /**
      * list of all sessionids
-      */
+     */
     private static final List<String> sessionIds = new ArrayList<>();
     /**
      * map of sessionid <=> UserScopes
-      */
+     */
     private static final HashMap<String, UserScopes> userScopesList = new HashMap<>();
     /**
      * map of class.hashCode <=> class
-      */
+     */
     private static final HashMap<String, WebSocketManagerSocket> 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);
index 93a941d..b61462b 100644 (file)
@@ -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());