30df8a9667ad3fc3b0aa978e38f2051d3704c878
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18 package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml;
19
20 import org.eclipse.jdt.annotation.NonNull;
21 import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService;
22 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
23 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
24 import org.opendaylight.yangtools.yang.binding.Notification;
25 import org.opendaylight.yangtools.yang.common.QName;
26
27 /**
28  * Wrapper for forwarding web-socket notifications to the web-socket service, that is running as bundle.
29  */
30 public class WebSocketServiceClientImpl implements WebSocketServiceClientInternal {
31
32 //    private static final Logger LOG = LoggerFactory.getLogger(ODLEventListenerHandler.class);
33
34     private final WebsocketManagerService websocketmanagerService;
35
36     /**
37      * New: Implementation of Websocket notification processor.
38      *
39      * @param websocketmanagerService2 to be used
40      */
41     public WebSocketServiceClientImpl(WebsocketManagerService websocketmanagerService2) {
42         super();
43         this.websocketmanagerService = websocketmanagerService2;
44     }
45
46
47
48     @Override
49     public void close() throws Exception {}
50
51
52
53     @Override
54     public void sendViaWebsockets(@NonNull NodeId nodeId, Notification notification, QName qname,
55             DateAndTime timestamp) {
56         this.websocketmanagerService.sendNotification(notification, nodeId, qname, timestamp);
57
58     }
59
60 }