Fix Null key issue in PfReferenceTimestampKey 01/118501/2
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>
Tue, 23 Feb 2021 15:10:39 +0000 (15:10 +0000)
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>
Thu, 25 Feb 2021 12:30:55 +0000 (12:30 +0000)
isNUllKey check for PfReferenceTimestamp key is always returning false as the parent class is
validating the child object in its method which has additional parameters (timestamp).
Fixing the issue by validating only the fields of parent class.

Issue-ID: POLICY-3069
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: Ie22d09552c9d0cedb7535bda359df0d70e1ebe77

models-base/src/main/java/org/onap/policy/models/base/PfReferenceKey.java
models-base/src/test/java/org/onap/policy/models/base/PfReferenceTimestampKeyTest.java

index 9a98648..b25d463 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
+ *  Copyright (C) 2019,2021 Nordix Foundation.
  *  Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -253,7 +253,9 @@ public class PfReferenceKey extends PfKey {
 
     @Override
     public boolean isNullKey() {
-        return this.equals(PfReferenceKey.getNullKey());
+        return (PfReferenceKey.NULL_KEY_NAME.equals(this.getParentKeyName()) && PfReferenceKey.NULL_KEY_VERSION
+            .equals(this.getParentKeyVersion()) && PfReferenceKey.NULL_KEY_NAME.equals(this.getParentLocalName())
+            && PfReferenceKey.NULL_KEY_NAME.equals(this.getLocalName()));
     }
 
     /**
index c4762a2..061760a 100644 (file)
@@ -67,9 +67,12 @@ public class PfReferenceTimestampKeyTest {
         assertThatThrownBy(() -> new PfReferenceTimestampKey(new PfConceptKey(), null, null))
                 .hasMessage("parameter \"localName\" is null");
 
+        assertTrue(new PfReferenceTimestampKey().isNullKey());
+        assertFalse(new PfReferenceTimestampKey("ParentKeyName", VERSION001, PfKey.NULL_KEY_NAME,
+            LOCAL_NAME, Instant.EPOCH).isNullKey());
+
         String id = "NULL:0.0.0:NULL:NULL:" + timeStamp;
         assertThat(new PfReferenceTimestampKey(id).getTimeStamp().getTime()).isEqualTo(timeStamp);
-
     }
 
     @Test