summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/onap/aai/sparky/crossentityreference/sync/CrossEntityReferenceSynchronizer.java9
-rw-r--r--src/main/java/org/onap/aai/sparky/sync/entity/IndexableCrossEntityReference.java10
-rw-r--r--src/main/java/org/onap/aai/sparky/viewandinspect/entity/Relationship.java21
-rw-r--r--src/test/java/org/onap/aai/sparky/synchronizer/IndexableCrossEntityReferenceTest.java72
4 files changed, 96 insertions, 16 deletions
diff --git a/src/main/java/org/onap/aai/sparky/crossentityreference/sync/CrossEntityReferenceSynchronizer.java b/src/main/java/org/onap/aai/sparky/crossentityreference/sync/CrossEntityReferenceSynchronizer.java
index c8cef66..0f0cce1 100644
--- a/src/main/java/org/onap/aai/sparky/crossentityreference/sync/CrossEntityReferenceSynchronizer.java
+++ b/src/main/java/org/onap/aai/sparky/crossentityreference/sync/CrossEntityReferenceSynchronizer.java
@@ -485,9 +485,16 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer
if (cerDescriptor != null) {
String childEntityType = cerDefinition.getTargetEntityType();
+ OxmEntityDescriptor childDesciptor = oxmEntityLookup.getEntityDescriptors().get(childEntityType);
- List<String> childPrimaryKeyNames = cerDescriptor.getPrimaryKeyAttributeNames();
+ List<String> childPrimaryKeyNames = null;
+ if (childDesciptor != null) {
+ childPrimaryKeyNames = childDesciptor.getPrimaryKeyAttributeNames();
+ } else {
+ childPrimaryKeyNames = new ArrayList<String>();
+ }
+
List<String> childKeyValues = new ArrayList<String>();
NodeUtils.extractFieldValuesFromObject(targetEntityInstance, childPrimaryKeyNames, childKeyValues);
diff --git a/src/main/java/org/onap/aai/sparky/sync/entity/IndexableCrossEntityReference.java b/src/main/java/org/onap/aai/sparky/sync/entity/IndexableCrossEntityReference.java
index cef7bfe..5f0fd81 100644
--- a/src/main/java/org/onap/aai/sparky/sync/entity/IndexableCrossEntityReference.java
+++ b/src/main/java/org/onap/aai/sparky/sync/entity/IndexableCrossEntityReference.java
@@ -26,8 +26,8 @@ import java.util.ArrayList;
import org.onap.aai.sparky.util.NodeUtils;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
/**
@@ -38,7 +38,6 @@ public class IndexableCrossEntityReference extends IndexableEntity implements In
protected String crossReferenceEntityValues;
protected ArrayList<String> crossEntityReferenceCollection = new ArrayList<String>();
- protected ObjectMapper mapper = new ObjectMapper();
/**
* Instantiates a new indexable cross entity reference.
@@ -77,6 +76,7 @@ public class IndexableCrossEntityReference extends IndexableEntity implements In
this.crossReferenceEntityValues = NodeUtils.concatArray(crossEntityReferenceCollection, ";");
}
+ @JsonIgnore // Since this is a "get" we need to JSON ignore otherwise it will be called when converting to JSON
@Override
public String getAsJson() throws JsonProcessingException {
@@ -90,10 +90,6 @@ public class IndexableCrossEntityReference extends IndexableEntity implements In
+ (crossReferenceEntityValues != null
? "crossReferenceEntityValues=" + crossReferenceEntityValues + ", " : "")
+ (crossEntityReferenceCollection != null
- ? "crossEntityReferenceCollection=" + crossEntityReferenceCollection + ", " : "")
- + (mapper != null ? "mapper=" + mapper : "") + "]";
+ ? "crossEntityReferenceCollection=" + crossEntityReferenceCollection + ", " : "");
}
-
-
-
}
diff --git a/src/main/java/org/onap/aai/sparky/viewandinspect/entity/Relationship.java b/src/main/java/org/onap/aai/sparky/viewandinspect/entity/Relationship.java
index 439acca..4ebaeec 100644
--- a/src/main/java/org/onap/aai/sparky/viewandinspect/entity/Relationship.java
+++ b/src/main/java/org/onap/aai/sparky/viewandinspect/entity/Relationship.java
@@ -32,6 +32,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class Relationship {
protected String relatedTo;
+ protected String relationshipLabel;
protected String relatedLink;
protected RelationshipData[] relationshipData;
protected RelatedToProperty[] relatedToProperty;
@@ -45,6 +46,15 @@ public class Relationship {
this.relatedTo = relatedTo;
}
+ public String getRelationshipLabel() {
+ return relationshipLabel;
+ }
+
+ @JsonProperty("relationship-label")
+ public void setRelationshipLabel(String relationshipLabel) {
+ this.relationshipLabel = relationshipLabel;
+ }
+
public String getRelatedLink() {
return relatedLink;
}
@@ -63,8 +73,6 @@ public class Relationship {
this.relationshipData = relationshipData;
}
-
-
public RelatedToProperty[] getRelatedToProperty() {
return relatedToProperty;
}
@@ -79,11 +87,8 @@ public class Relationship {
*/
@Override
public String toString() {
- return "Relationship [relatedTo=" + relatedTo + ", relatedLink=" + relatedLink
- + ", relationshipData=" + Arrays.toString(relationshipData) + ", relatedToProperty="
- + Arrays.toString(relatedToProperty) + "]";
+ return "Relationship [relatedTo=" + relatedTo + ", relationshipLabel=" + relationshipLabel
+ + ", relatedLink=" + relatedLink + ", relationshipData=" + Arrays.toString(relationshipData)
+ + ", relatedToProperty=" + Arrays.toString(relatedToProperty) + "]";
}
-
-
-
}
diff --git a/src/test/java/org/onap/aai/sparky/synchronizer/IndexableCrossEntityReferenceTest.java b/src/test/java/org/onap/aai/sparky/synchronizer/IndexableCrossEntityReferenceTest.java
new file mode 100644
index 0000000..a7c34d0
--- /dev/null
+++ b/src/test/java/org/onap/aai/sparky/synchronizer/IndexableCrossEntityReferenceTest.java
@@ -0,0 +1,72 @@
+/**
+ * ============LICENSE_START===================================================
+ * SPARKY (AAI UI service)
+ * ============================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * All rights reserved.
+ * ============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=====================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ */
+
+package org.onap.aai.sparky.synchronizer;
+
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.sparky.sync.entity.IndexableCrossEntityReference;
+
+public class IndexableCrossEntityReferenceTest {
+
+ /**
+ * Inits the.
+ *
+ * @throws Exception the exception
+ */
+ @Before
+ public void init() throws Exception {
+
+ }
+
+ /**
+ * Validate basic construction.
+ *
+ * @throws NoSuchAlgorithmException the no such algorithm exception
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ @Test
+ public void validateBasicConstruction() throws NoSuchAlgorithmException, IOException {
+
+ IndexableCrossEntityReference icer = new IndexableCrossEntityReference();
+
+ icer.setId("MyId");
+ icer.setEntityType("Scott");
+ icer.setEntityPrimaryKeyValue("woot");
+ icer.setLink("me.link.yeeeeeaahhhh");
+
+ icer.addCrossEntityReferenceValue("meow");
+ icer.addCrossEntityReferenceValue("kitty-goes");
+ icer.addCrossEntityReferenceValue("kitty-goes-meow");
+
+ icer.deriveFields();
+
+ System.out.println(icer.getAsJson());
+
+ }
+}