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);
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;
/**
protected String crossReferenceEntityValues;
protected ArrayList<String> crossEntityReferenceCollection = new ArrayList<String>();
- protected ObjectMapper mapper = new ObjectMapper();
/**
* Instantiates a new indexable cross entity reference.
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 {
+ (crossReferenceEntityValues != null
? "crossReferenceEntityValues=" + crossReferenceEntityValues + ", " : "")
+ (crossEntityReferenceCollection != null
- ? "crossEntityReferenceCollection=" + crossEntityReferenceCollection + ", " : "")
- + (mapper != null ? "mapper=" + mapper : "") + "]";
+ ? "crossEntityReferenceCollection=" + crossEntityReferenceCollection + ", " : "");
}
-
-
-
}
public class Relationship {
protected String relatedTo;
+ protected String relationshipLabel;
protected String relatedLink;
protected RelationshipData[] relationshipData;
protected RelatedToProperty[] relatedToProperty;
this.relatedTo = relatedTo;
}
+ public String getRelationshipLabel() {
+ return relationshipLabel;
+ }
+
+ @JsonProperty("relationship-label")
+ public void setRelationshipLabel(String relationshipLabel) {
+ this.relationshipLabel = relationshipLabel;
+ }
+
public String getRelatedLink() {
return relatedLink;
}
this.relationshipData = relationshipData;
}
-
-
public RelatedToProperty[] getRelatedToProperty() {
return relatedToProperty;
}
*/
@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) + "]";
}
-
-
-
}
--- /dev/null
+/**
+ * ============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());
+
+ }
+}