*/\r
package org.onap.holmes.common.dmaap;\r
\r
-import com.fasterxml.jackson.core.JsonProcessingException;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
-import javax.ws.rs.client.Client;\r
-import javax.ws.rs.client.ClientBuilder;\r
-import javax.ws.rs.client.Entity;\r
-import javax.ws.rs.client.WebTarget;\r
-import javax.ws.rs.core.MediaType;\r
-import javax.ws.rs.core.Response;\r
import lombok.Getter;\r
import lombok.Setter;\r
-import org.apache.http.HttpStatus;\r
-import org.glassfish.jersey.client.ClientConfig;\r
-import org.jvnet.hk2.annotations.Service;\r
import org.onap.holmes.common.dmaap.entity.PolicyMsg;\r
-import org.onap.holmes.common.exception.CorrelationException;\r
+import org.onap.holmes.common.utils.JerseyClient;\r
+import org.springframework.stereotype.Service;\r
+\r
+import javax.ws.rs.client.Entity;\r
+import java.util.concurrent.TimeUnit;\r
\r
@Getter\r
@Setter\r
@Service\r
public class Publisher {\r
-\r
- private String topic;\r
private String url;\r
- private String authInfo;\r
- private String authExpDate;\r
-\r
- public boolean publish(PolicyMsg msg) throws CorrelationException {\r
- Client client = ClientBuilder.newClient(new ClientConfig());\r
- ObjectMapper mapper = new ObjectMapper();\r
- String content = null;\r
- try {\r
- content = mapper.writeValueAsString(msg);\r
- } catch (JsonProcessingException e) {\r
- throw new CorrelationException("Failed to convert the message object to a json string.",\r
- e);\r
- }\r
- WebTarget webTarget = client.target(url);\r
- Response response = null;\r
- try {\r
- response = webTarget.request(MediaType.APPLICATION_JSON)\r
- .post(Entity.entity(content, MediaType.APPLICATION_JSON));\r
- } catch (Exception e) {\r
- throw new CorrelationException("Failed to connect to DCAE.", e);\r
- }\r
- return checkStatus(response);\r
- }\r
+ private JerseyClient client = JerseyClient.newInstance(TimeUnit.SECONDS.toMillis(30));\r
\r
- private boolean checkStatus(Response response) {\r
- return response.getStatus() == HttpStatus.SC_OK;\r
+ public void publish(PolicyMsg msg) {\r
+ client.post(url, Entity.json(msg));\r
}\r
}\r