Add PfKey translation to ToscaConceptIdentifier 30/116930/1
authorliamfallon <liam.fallon@est.tech>
Sat, 16 Jan 2021 09:11:48 +0000 (09:11 +0000)
committerliamfallon <liam.fallon@est.tech>
Sat, 16 Jan 2021 09:15:58 +0000 (09:15 +0000)
Concenience constructor to create a TosaConceptIdentifier from a PfKey
and a method to create a PfConceptKey from a ToscaConceptIdentifier.

Issue-ID: POLICY-2971
Change-Id: I402b2e12cc11976cd7e98436eb46486c35fdaa31
Signed-off-by: liamfallon <liam.fallon@est.tech>
models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/concepts/ToscaConceptIdentifier.java
models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyConceptIdentifierTest.java
models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyTypeConceptIdentifierTest.java

index 36e460e..ade1a28 100644 (file)
@@ -27,6 +27,8 @@ import lombok.NonNull;
 import org.apache.commons.lang3.ObjectUtils;
 import org.onap.policy.common.parameters.BeanValidationResult;
 import org.onap.policy.common.parameters.ValidationResult;
+import org.onap.policy.models.base.PfConceptKey;
+import org.onap.policy.models.base.PfKey;
 
 /**
  * Identifies a concept. Both the name and version must be non-null.
@@ -47,6 +49,11 @@ public class ToscaConceptIdentifier implements Comparable<ToscaConceptIdentifier
         this.version = version;
     }
 
+    public ToscaConceptIdentifier(@NonNull PfKey key) {
+        this.name = key.getName();
+        this.version = key.getVersion();
+    }
+
     public ToscaConceptIdentifier(ToscaConceptIdentifier source) {
         this.name = source.name;
         this.version = source.version;
@@ -66,6 +73,15 @@ public class ToscaConceptIdentifier implements Comparable<ToscaConceptIdentifier
         return result;
     }
 
+    /**
+     * Create a PfConcceptKey from the TOSCA identifier.
+     *
+     * @return the key
+     */
+    public PfConceptKey asConceptKey() {
+        return new PfConceptKey(name, version);
+    }
+
     @Override
     public int compareTo(ToscaConceptIdentifier other) {
         if (this == other) {
index 6f49fd4..993c21e 100644 (file)
@@ -1,4 +1,4 @@
-/*
+/*-
  * ============LICENSE_START=======================================================
  * ONAP Policy Models
  * ================================================================================
@@ -30,6 +30,7 @@ import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 import org.onap.policy.common.parameters.ValidationResult;
+import org.onap.policy.models.base.PfConceptKey;
 
 /**
  * Test methods not tested by {@link PojosTest}.
@@ -52,7 +53,8 @@ public class ToscaPolicyConceptIdentifierTest extends ToscaIdentifierTestBase<To
 
     @Test
     public void testCopyConstructor() {
-        assertThatThrownBy(() -> new ToscaConceptIdentifier(null)).isInstanceOf(NullPointerException.class);
+        assertThatThrownBy(() -> new ToscaConceptIdentifier((ToscaConceptIdentifier) null))
+                .isInstanceOf(NullPointerException.class);
 
         ToscaConceptIdentifier orig = new ToscaConceptIdentifier();
 
@@ -64,6 +66,19 @@ public class ToscaPolicyConceptIdentifierTest extends ToscaIdentifierTestBase<To
         assertEquals(orig.toString(), new ToscaConceptIdentifier(orig).toString());
     }
 
+
+    @Test
+    public void testPfKey() {
+        assertThatThrownBy(() -> new ToscaConceptIdentifier((PfConceptKey) null))
+                .isInstanceOf(NullPointerException.class);
+
+        PfConceptKey origKey = new PfConceptKey("Hello", "0.0.1");
+
+        assertEquals(origKey.getName(), new ToscaConceptIdentifier(origKey).getName());
+
+        assertEquals(origKey, new ToscaConceptIdentifier(origKey).asConceptKey());
+    }
+
     @Test
     public void testValidatePapRest() throws Exception {
         ToscaConceptIdentifier ident = new ToscaConceptIdentifier(NAME, VERSION);
index 7845a1f..d37f293 100644 (file)
@@ -1,4 +1,4 @@
-/*
+/*-
  * ============LICENSE_START=======================================================
  * ONAP Policy Models
  * ================================================================================
@@ -52,7 +52,8 @@ public class ToscaPolicyTypeConceptIdentifierTest extends ToscaIdentifierTestBas
 
     @Test
     public void testCopyConstructor() {
-        assertThatThrownBy(() -> new ToscaConceptIdentifier(null)).isInstanceOf(NullPointerException.class);
+        assertThatThrownBy(() -> new ToscaConceptIdentifier((ToscaConceptIdentifier) null))
+                .isInstanceOf(NullPointerException.class);
 
         ToscaConceptIdentifier orig = new ToscaConceptIdentifier();