6477a0dc916f59c856776300058a3a7e7a621022
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.testsuites.integration.uservice.adapt.websocket;
22
23 import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
24 import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WsStringMessageClient;
25 import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WsStringMessageListener;
26
27 /**
28  * The Class WebSocketEventSubscriberClient.
29  */
30 public class WebSocketEventSubscriberClient implements WsStringMessageListener {
31     private final int port;
32     private long eventsReceivedCount = 0;
33
34     private final WsStringMessageClient client;
35
36     /**
37      * Instantiates a new web socket event subscriber client.
38      *
39      * @param host the host
40      * @param port the port
41      * @throws MessagingException the messaging exception
42      */
43     public WebSocketEventSubscriberClient(final String host, final int port) throws MessagingException {
44         this.port = port;
45
46         client = new WsStringMessageClient(host, port);
47         client.start(this);
48     }
49
50     /*
51      * (non-Javadoc)
52      * 
53      * @see
54      * org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener#
55      * receiveString(java.lang.String)
56      */
57     @Override
58     public void receiveString(final String eventString) {
59         System.out.println(WebSocketEventSubscriberClient.class.getCanonicalName() + ": port " + port
60                 + ", received event " + eventString);
61         eventsReceivedCount++;
62     }
63
64     /**
65      * Gets the events received count.
66      *
67      * @return the events received count
68      */
69     public long getEventsReceivedCount() {
70         return eventsReceivedCount;
71     }
72
73     /**
74      * Shutdown.
75      */
76     public void shutdown() {
77         client.stop();
78         System.out.println(WebSocketEventSubscriberServer.class.getCanonicalName() + ": stopped");
79     }
80
81     /**
82      * The main method.
83      *
84      * @param args the arguments
85      * @throws MessagingException the messaging exception
86      */
87     public static void main(final String[] args) throws MessagingException {
88         if (args.length != 2) {
89             System.err.println("usage WebSocketEventSubscriberClient host port");
90             return;
91         }
92
93         int port = 0;
94         try {
95             port = Integer.parseInt(args[0]);
96         } catch (final Exception e) {
97             System.err.println("usage WebSocketEventSubscriberClient port");
98             e.printStackTrace();
99             return;
100         }
101
102         new WebSocketEventSubscriberClient(args[0], port);
103     }
104 }