diff options
author | Ittay Stern <ittay.stern@att.com> | 2019-01-10 12:42:59 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-01-10 12:42:59 +0000 |
commit | 659874df80409170e57b6dd6197eb3a81eb3468e (patch) | |
tree | 08e79fd57aa0ed299586fd88f69f87a5a2f5ded1 /vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java | |
parent | 143784a849ece4fc35cc290e33f829b72bf1fc79 (diff) | |
parent | 6ad41e3ccd398a2721f41ad61c80b7bb03f7d127 (diff) |
Merge "Merge from ECOMP's repository"
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java b/vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java index 6e25e2715..fe62f029c 100644 --- a/vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java +++ b/vid-app-common/src/main/java/org/onap/vid/aai/AaiOverTLSClient.java @@ -20,26 +20,25 @@ package org.onap.vid.aai; -import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.ACCEPT; -import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.CONTENT_TYPE; -import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.FROM_APP_ID_HEADER; -import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.REQUEST_ID; -import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.TRANSACTION_ID_HEADER; - import io.joshworks.restclient.http.HttpResponse; +import io.joshworks.restclient.http.JsonNode; import io.vavr.collection.HashMap; -import java.nio.charset.StandardCharsets; -import java.util.Base64; -import java.util.Collections; -import java.util.Map; -import javax.ws.rs.core.MediaType; +import org.apache.commons.lang3.StringUtils; import org.onap.portalsdk.core.util.SystemProperties; -import org.onap.vid.aai.model.AaiNodeQueryResponse; import org.onap.vid.aai.model.ResourceType; import org.onap.vid.aai.util.AAIProperties; import org.onap.vid.client.SyncRestClientInterface; +import org.onap.vid.exceptions.GenericUncheckedException; import org.onap.vid.model.SubscriberList; +import javax.ws.rs.core.MediaType; +import java.nio.charset.StandardCharsets; +import java.util.Base64; +import java.util.Collections; +import java.util.Map; + +import static org.onap.vid.aai.AaiOverTLSClientInterface.HEADERS.*; + public class AaiOverTLSClient implements AaiOverTLSClientInterface { private final AaiOverTLSPropertySupplier propertySupplier; @@ -64,9 +63,23 @@ public class AaiOverTLSClient implements AaiOverTLSClientInterface { } @Override - public HttpResponse<AaiNodeQueryResponse> searchNodeTypeByName(String name, ResourceType type) { - String uri = urlBase + String.format(URIS.NODE_TYPE_BY_NAME, type.getAaiFormat(), type.getNameFilter(), name); - return syncRestClient.get(uri, getRequestHeaders(), Collections.emptyMap(), AaiNodeQueryResponse.class); + public boolean isNodeTypeExistsByName(String name, ResourceType type) { + + if (StringUtils.isEmpty(name)) { + throw new GenericUncheckedException("Empty resource-name provided to isNodeTypeExistsByName; request is rejected as this will cause full resources listing"); + } + + String path = String.format( // e.g. GET /aai/v$/nodes/vf-modules?vf-module-name={vf-module-name} + "nodes/%s?%s=%s", + type.getAaiFormat(), + type.getNameFilter(), + name + ); + + String uri = urlBase + path; + final HttpResponse<JsonNode> response = syncRestClient.get(uri, getRequestHeaders(), Collections.emptyMap()); + + return response.isSuccessful(); } @Override |