X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=PolicyEngineAPI%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fstd%2FAutoClientEnd.java;h=3f97e19f7b379cff5e18f7a3468c6b755b091421;hb=cfd1160833ecb24c336fe6d0d197547c36ce2327;hp=6a1c586502021693b6f4ca5f41a4fb8baa09edb3;hpb=1b075974ac392877c531f81f5d84a61b92080b05;p=policy%2Fengine.git diff --git a/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientEnd.java b/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientEnd.java index 6a1c58650..3f97e19f7 100644 --- a/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientEnd.java +++ b/PolicyEngineAPI/src/main/java/org/onap/policy/std/AutoClientEnd.java @@ -22,17 +22,16 @@ package org.onap.policy.std; import java.io.IOException; import java.net.URI; -import java.net.URISyntaxException; import javax.websocket.ClientEndpoint; -import javax.websocket.DeploymentException; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; -import org.glassfish.tyrus.client.ClientManager; +import org.java_websocket.client.WebSocketClient; +import org.java_websocket.handshake.ServerHandshake; import org.onap.policy.api.NotificationHandler; import org.onap.policy.api.NotificationScheme; import org.onap.policy.api.NotificationType; @@ -42,10 +41,10 @@ import org.onap.policy.common.logging.flexlogger.Logger; import org.onap.policy.xacml.api.XACMLErrorConstants; @ClientEndpoint -public class AutoClientEnd { +public class AutoClientEnd extends WebSocketClient { private static StdPDPNotification notification = null; private static StdPDPNotification oldNotification = null; - private static ClientManager client = null; + private static AutoClientEnd client = null; private static NotificationScheme scheme = null; private static NotificationHandler handler = null; private static String url = null; @@ -56,6 +55,30 @@ public class AutoClientEnd { private static boolean error = false; private static Logger logger = FlexLogger.getLogger(AutoClientEnd.class.getName()); + private AutoClientEnd(URI serverUri) { + super(serverUri); + } + + @Override + public void onClose(int arg0, String arg1, boolean arg2) { + // Not implemented + } + + @Override + public void onError(Exception arg0) { + // Not implemented + } + + @Override + public void onMessage(String arg0) { + // Not implemented + } + + @Override + public void onOpen(ServerHandshake arg0) { + // Not implemented + } + public static void setAuto(NotificationScheme scheme, NotificationHandler handler) { AutoClientEnd.scheme = scheme; @@ -83,17 +106,19 @@ public class AutoClientEnd { AutoClientEnd.client != null) { return; } - - // Stop and Start needs to be done. - client = ClientManager.createClient(); - if(url.contains("https")){ + + if (url.contains("https")) { url = url.replaceAll("https", "wss"); - }else { + } + else { url = url.replaceAll("http", "ws"); } + + + // Stop and Start needs to be done. try { logger.info("Starting Auto Notification with the PDP server : " + url); - client.connectToServer(AutoClientEnd.class, new URI(url + "notifications")); + client = new AutoClientEnd(new URI(url + "notifications")); status = true; if(error){ // The URL's will be in Sync according to design Spec. @@ -107,7 +132,7 @@ public class AutoClientEnd { error = false; } // - } catch (DeploymentException | IOException | URISyntaxException e) { + } catch (Exception e) { logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e); client = null; status = false; @@ -125,7 +150,7 @@ public class AutoClientEnd { if (client == null) { return; } - client.shutdown(); + client.close(); if(session!=null){ try { stop = true;