Add INFO.yaml file
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / dmaap / Publisher.java
index eaeaf43..7201f36 100644 (file)
  * See the License for the specific language governing permissions and\r
  * limitations under the License.\r
  */\r
-\r
 package org.onap.holmes.common.dmaap;\r
 \r
-import com.fasterxml.jackson.core.JsonProcessingException;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
+import com.alibaba.fastjson.JSON;\r
 import javax.ws.rs.client.Client;\r
 import javax.ws.rs.client.ClientBuilder;\r
 import javax.ws.rs.client.Entity;\r
@@ -26,12 +24,14 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;\r
 import lombok.Getter;\r
 import lombok.Setter;\r
-import org.glassfish.jersey.client.ClientConfig;\r
+import org.apache.http.HttpStatus;\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
 \r
 @Getter\r
 @Setter\r
+@Service\r
 public class Publisher {\r
 \r
     private String topic;\r
@@ -40,23 +40,20 @@ public class Publisher {
     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
+        Client client = ClientBuilder.newClient();\r
+        String content = JSON.toJSONString(msg);\r
+        WebTarget webTarget = client.target(url);\r
+        Response response = 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.", e);\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
-\r
-        WebTarget webTarget = client.target(url);\r
-        Response response = webTarget.request(MediaType.APPLICATION_JSON)\r
-                .post(Entity.entity(content, MediaType.APPLICATION_JSON));\r
-\r
         return checkStatus(response);\r
     }\r
 \r
     private boolean checkStatus(Response response) {\r
-        return false;\r
+        return response.getStatus() == HttpStatus.SC_OK;\r
     }\r
 }\r