Fixed HTTP PATCH Failures
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / aai / AaiQuery4Ccvpn.java
index 5d33c43..0e444c1 100644 (file)
@@ -28,6 +28,7 @@ import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.core.MultivaluedHashMap;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -65,8 +66,9 @@ public class AaiQuery4Ccvpn {
         params.put("networkId", networkId);
         params.put("pnfName", pnfName);
         params.put("ifName", ifName);
-        params.put("status", status);
-        Response response = get(getHostAddr(), getPath(AaiConfig.MsbConsts.AAI_LINK_QUERY, params));
+
+        Response response = get(getHostAddr(), getPath(AaiConfig.MsbConsts.AAI_LINK_QUERY, params)
+                + (status == null ? "" : String.format("&operational-status=%s", status)));
         if (response.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) {
             throw new RuntimeException("Failed to connect to AAI. Cause: "
                     + response.getStatusInfo().getReasonPhrase());
@@ -236,7 +238,8 @@ public class AaiQuery4Ccvpn {
     private Response patch(String host, String path, Map<String, Object> body) {
         Client client = ClientBuilder.newClient();
         WebTarget target = client.target(host).path(path);
-        return target.request().headers(getAaiHeaders()).method("PATCH", Entity.json(body));
+        return target.request().headers(getAaiHeaders()).build("PATCH", Entity.json(body))
+                .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true).invoke();
     }
 
     private JSONObject getInfo(String response, String pField, String field) {