diff options
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()); + + } +} |