fab51529ab1c3f35665ed64cfde7ed002205d206
[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      * {@inheritDoc}.
52      */
53     @Override
54     public void receiveString(final String eventString) {
55         System.out.println(WebSocketEventSubscriberClient.class.getCanonicalName() + ": port " + port
56                 + ", received event " + eventString);
57         eventsReceivedCount++;
58     }
59
60     /**
61      * Gets the events received count.
62      *
63      * @return the events received count
64      */
65     public long getEventsReceivedCount() {
66         return eventsReceivedCount;
67     }
68
69     /**
70      * Shutdown.
71      */
72     public void shutdown() {
73         client.stop();
74         System.out.println(WebSocketEventSubscriberServer.class.getCanonicalName() + ": stopped");
75     }
76
77     /**
78      * The main method.
79      *
80      * @param args the arguments
81      * @throws MessagingException the messaging exception
82      */
83     public static void main(final String[] args) throws MessagingException {
84         if (args.length != 2) {
85             System.err.println("usage WebSocketEventSubscriberClient host port");
86             return;
87         }
88
89         int port = 0;
90         try {
91             port = Integer.parseInt(args[0]);
92         } catch (final Exception e) {
93             System.err.println("usage WebSocketEventSubscriberClient port");
94             e.printStackTrace();
95             return;
96         }
97
98         new WebSocketEventSubscriberClient(args[0], port);
99     }
100 }