aboutsummaryrefslogtreecommitdiffstats
path: root/graph-inventory/aai-client/src/main
diff options
context:
space:
mode:
authorBenjamin, Max (mb388a) <mb388a@att.com>2021-01-05 11:03:15 -0500
committerBenjamin, Max (mb388a) <mb388a@att.com>2021-01-05 11:03:15 -0500
commitc05a742002beefa826c60532c7cb110464ed4f16 (patch)
treec4f3dc1456b118e5a59695017d74f82678afd031 /graph-inventory/aai-client/src/main
parente036ebd43a0b58eda96b2546290bba2189bb3824 (diff)
Change to not exception on delete when object
Change to not exception on delete when object doesnt exist Added a new deleteIfExist method to the graph client and unit test Issue-ID: SO-3464 Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com> Change-Id: If73721cd83b94bd5a1db1af26aba212b12236fe1
Diffstat (limited to 'graph-inventory/aai-client/src/main')
-rw-r--r--graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/GraphInventoryResourcesClient.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/GraphInventoryResourcesClient.java b/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/GraphInventoryResourcesClient.java
index 343e888ce1..5dbe91586a 100644
--- a/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/GraphInventoryResourcesClient.java
+++ b/graph-inventory/aai-client/src/main/java/org/onap/aaiclient/client/graphinventory/GraphInventoryResourcesClient.java
@@ -42,9 +42,13 @@ import org.onap.aaiclient.client.graphinventory.entities.uri.HttpAwareUri;
import org.onap.aaiclient.client.graphinventory.exceptions.GraphInventoryMultipleItemsException;
import org.onap.so.client.RestClient;
import org.onap.so.client.RestProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInventoryResourceUri<?, ?>, SingleUri extends GraphInventorySingleResourceUri<?, ?, ?, ?, ?, ?>, PluralUri extends GraphInventoryPluralResourceUri<?, ?>, EdgeLabel extends GraphInventoryEdgeLabel, Wrapper extends GraphInventoryResultWrapper, TransactionalClient, SingleTransactionClient> {
+ private static final Logger logger = LoggerFactory.getLogger(GraphInventoryResourcesClient.class);
+
protected GraphInventoryClient client;
protected GraphInventoryResourcesClient(GraphInventoryClient client) {
@@ -147,6 +151,27 @@ public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInven
String resourceVersion = (String) result.get("resource-version");
giRC = client.createClient(clone.resourceVersion(resourceVersion));
giRC.delete();
+
+ }
+
+ /**
+ * Deletes object from GraphInventory only if exists. Automatically handles resource-version.
+ *
+ * @param uri
+ * @return
+ */
+ public void deleteIfExists(SingleUri uri) {
+ GraphInventorySingleResourceUri<?, ?, ?, ?, ?, ?> clone = (SingleUri) uri.clone();
+ RestClient giRC = client.createClient(clone);
+ Optional<Map<String, Object>> result = giRC.get(new GenericType<Map<String, Object>>() {});
+ if (result.isPresent()) {
+ String resourceVersion = (String) result.get().get("resource-version");
+ giRC = client.createClient(clone.resourceVersion(resourceVersion));
+ giRC.delete();
+ } else {
+ logger.warn(clone.build() + " already does not exist in " + client.getGraphDBName()
+ + " therefore delete call not executed");
+ }
}
/**