summaryrefslogtreecommitdiffstats
path: root/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java')
-rw-r--r--nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java41
1 files changed, 18 insertions, 23 deletions
diff --git a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java
index c8008f38..ee7a3feb 100644
--- a/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java
+++ b/nokiav2/driver/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/nokia/onap/direct/notification/AbstractManager.java
@@ -16,20 +16,17 @@
package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.notification;
import com.google.gson.Gson;
-import org.onap.aai.domain.yang.v11.ObjectFactory;
-import org.onap.aai.domain.yang.v11.Relationship;
-import org.onap.aai.domain.yang.v11.RelationshipData;
-import org.onap.aai.domain.yang.v11.RelationshipList;
+import io.reactivex.Observable;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.onap.aai.model.Relationship;
+import org.onap.aai.model.RelationshipData;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.CbamRestApiProvider;
import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.DriverProperties;
import org.slf4j.Logger;
-import java.util.HashSet;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-
import static com.google.common.collect.Iterables.find;
import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils.SEPARATOR;
@@ -37,7 +34,6 @@ import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils.SEPARATOR
* Handles the common management of changing entities in AAI
*/
abstract class AbstractManager {
- protected static final ObjectFactory OBJECT_FACTORY = new ObjectFactory();
protected final AAIRestApiProvider aaiRestApiProvider;
protected final CbamRestApiProvider cbamRestApiProvider;
protected final DriverProperties driverProperties;
@@ -78,17 +74,17 @@ abstract class AbstractManager {
* @param relationships the list of relationships
* @param relationship the expected relationship
*/
- protected static void addSingletonRelation(RelationshipList relationships, Relationship relationship) {
+ protected static void addSingletonRelation(List<Relationship> relationships, Relationship relationship) {
boolean found = false;
- for (Relationship currentRelationShip : relationships.getRelationship()) {
+ for (Relationship currentRelationShip : relationships) {
if (relationship.getRelatedTo().equals(currentRelationShip.getRelatedTo())) {
found = true;
}
}
if (!found) {
- relationships.getRelationship().add(relationship);
+ relationships.add(relationship);
} else {
- Relationship existingRelationShip = find(relationships.getRelationship(), currentRelationShip -> currentRelationShip.getRelatedTo().equals(relationship.getRelatedTo()));
+ Relationship existingRelationShip = find(relationships, currentRelationShip -> currentRelationShip.getRelatedTo().equals(relationship.getRelatedTo()));
existingRelationShip.getRelationshipData().clear();
existingRelationShip.getRelationshipData().addAll(relationship.getRelationshipData());
}
@@ -100,14 +96,14 @@ abstract class AbstractManager {
* @param relationships the relationships
* @param relationship the relationship to be added
*/
- protected static void addMissingRelation(RelationshipList relationships, Relationship relationship) {
- for (Relationship currentRelationShip : relationships.getRelationship()) {
+ protected static void addMissingRelation(List<Relationship> relationships, Relationship relationship) {
+ for (Relationship currentRelationShip : relationships) {
if (currentRelationShip.getRelatedTo().equals(relationship.getRelatedTo())
&& compositeKeys(currentRelationShip.getRelationshipData()).equals(compositeKeys(relationship.getRelationshipData()))) {
return;
}
}
- relationships.getRelationship().add(relationship);
+ relationships.add(relationship);
}
private static Set<String> compositeKeys(List<RelationshipData> data) {
@@ -126,17 +122,16 @@ abstract class AbstractManager {
/**
* Creates or returns a REST resource instance
*
- * @param service the type of the service
- * @param url the URL of the resource without the service prefix
+ * @param get provides an existing instance
* @param newInstance the empty instance if the resource does not exists
* @param <T> the type of the resource
* @return the created or queried resource
*/
- protected <T> T createOrGet(AAIRestApiProvider.AAIService service, String url, T newInstance) {
+ protected <T> T createOrGet(Observable<T> get, T newInstance) {
try {
- return (T) aaiRestApiProvider.get(getLogger(), service, url, newInstance.getClass());
- } catch (NoSuchElementException e) {
- getLogger().debug("The resource on " + url + " URL was not found in AAI", e);
+ return get.blockingFirst();
+ } catch (Exception e) {
+ getLogger().debug("The resource was not found in AAI", e);
return newInstance;
}
}