X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=dmaap-dsa%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fdsa%2Fdmaappolling%2FSubscriber.java;h=e4276d48ddcf26a363dfa2817584c487a84fd970;hb=199919ee4f65cb71ba33fec2bbb996589c696d01;hp=eea15338eb617f4f1834b5ec7f38da856f9a7dec;hpb=2f430332203a347ca764e2e7c345efdabefde797;p=holmes%2Fdsa.git diff --git a/dmaap-dsa/src/main/java/org/onap/holmes/dsa/dmaappolling/Subscriber.java b/dmaap-dsa/src/main/java/org/onap/holmes/dsa/dmaappolling/Subscriber.java index eea1533..e4276d4 100644 --- a/dmaap-dsa/src/main/java/org/onap/holmes/dsa/dmaappolling/Subscriber.java +++ b/dmaap-dsa/src/main/java/org/onap/holmes/dsa/dmaappolling/Subscriber.java @@ -18,24 +18,25 @@ package org.onap.holmes.dsa.dmaappolling; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -import javax.inject.Inject; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.Response; +import java.util.UUID; + import lombok.Getter; import lombok.Setter; -import org.glassfish.jersey.client.ClientConfig; +import org.apache.http.HttpResponse; import org.onap.holmes.common.api.stat.VesAlarm; +import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder; import org.onap.holmes.common.exception.CorrelationException; +import org.onap.holmes.common.utils.GsonUtil; +import org.onap.holmes.common.utils.HttpsUtils; @Getter @Setter public class Subscriber { - @Inject - private DMaaPResponseUtil dMaaPResponseUtil; + private DMaaPResponseUtil dMaaPResponseUtil = ServiceLocatorHolder.getLocator() + .getService(DMaaPResponseUtil.class); /** * The number of milliseconds to wait for messages if none are immediately available. This @@ -57,13 +58,19 @@ public class Subscriber { private boolean secure; private String topic; private String url; - private String consumerGroup = "g0"; - private String consumer = "u1"; + private String uuid = UUID.randomUUID() + ""; + private String consumerGroup = "homlesGroup" + uuid; + private String consumer = "homles" + uuid; private String authInfo; private String authExpDate; public List subscribe() throws CorrelationException { - List response = getDMaaPData(); + List response; + try { + response = getDMaaPData(); + } catch (Exception e) { + throw new CorrelationException("Failed to get data from DMaaP.", e); + } try { return extractVesAlarm(response); } catch (Exception e) { @@ -71,11 +78,16 @@ public class Subscriber { } } - private List getDMaaPData() { - Client client = ClientBuilder.newClient(new ClientConfig()); - WebTarget webTarget = client.target(url); - Response response = webTarget.path(topic).path(consumerGroup).path(consumer).request().get(); - return response.readEntity(List.class); + private List getDMaaPData() throws Exception { + String response; + try { + HttpResponse httpResponse = HttpsUtils + .get(url + "/" + consumerGroup + "/" + consumer, new HashMap<>(), timeout); + response = HttpsUtils.extractResponseEntity(httpResponse); + } catch (Exception e) { + throw e; + } + return GsonUtil.jsonToBean(response, List.class); } private List extractVesAlarm(List responseEntity) throws IOException {