diff options
7 files changed, 93 insertions, 52 deletions
diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java index 6e0a3cf4d..1edbc9be9 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java @@ -360,4 +360,4 @@ public class AxArtifactKey extends AxKey { } return version.compareTo(other.version); } -}
\ No newline at end of file +} diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyUse.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyUse.java index fe786469b..eb701e5b3 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyUse.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyUse.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2019-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -139,7 +139,7 @@ public class AxKeyUse extends AxKey { */ @Override public String toString() { - final StringBuilder builder = new StringBuilder(); + final var builder = new StringBuilder(); builder.append(this.getClass().getSimpleName()); builder.append(":("); builder.append("usedKey="); @@ -174,8 +174,8 @@ public class AxKeyUse extends AxKey { */ @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + usedKey.hashCode(); return result; } diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxModel.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxModel.java index da6fb49c6..4898b6d76 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxModel.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxModel.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019-2021 Nordix Foundation. * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -372,7 +372,7 @@ public class AxModel extends AxConcept { */ @Override public String toString() { - final StringBuilder builder = new StringBuilder(); + final var builder = new StringBuilder(); builder.append(this.getClass().getSimpleName()); builder.append(":("); builder.append("key="); @@ -405,8 +405,8 @@ public class AxModel extends AxConcept { */ @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + key.hashCode(); result = prime * result + keyInformation.hashCode(); return result; diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java index 4b9d647a9..33e26ef69 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -205,7 +205,7 @@ public class AxReferenceKey extends AxKey { * the key ID in a format that respects the KEY_ID_REGEXP */ public AxReferenceKey(final String id) { - final String conditionedId = Assertions.validateStringParameter("id", id, REFERENCE_KEY_ID_REGEXP); + final var conditionedId = Assertions.validateStringParameter("id", id, REFERENCE_KEY_ID_REGEXP); // Split on colon, if the id passes the regular expression test above // it'll have just three colons separating the parent name, @@ -415,28 +415,28 @@ public class AxReferenceKey extends AxKey { */ @Override public AxValidationResult validate(final AxValidationResult result) { - final String parentNameValidationErrorMessage = Assertions.getStringParameterValidationMessage(PARENT_KEY_NAME, + final var parentNameValidationErrorMessage = Assertions.getStringParameterValidationMessage(PARENT_KEY_NAME, parentKeyName, NAME_REGEXP); if (parentNameValidationErrorMessage != null) { result.addValidationMessage(new AxValidationMessage(this, this.getClass(), ValidationResult.INVALID, "parentKeyName invalid-" + parentNameValidationErrorMessage)); } - final String parentKeyVersionValidationErrorMessage = Assertions + final var parentKeyVersionValidationErrorMessage = Assertions .getStringParameterValidationMessage(PARENT_KEY_VERSION, parentKeyVersion, VERSION_REGEXP); if (parentKeyVersionValidationErrorMessage != null) { result.addValidationMessage(new AxValidationMessage(this, this.getClass(), ValidationResult.INVALID, "parentKeyVersion invalid-" + parentKeyVersionValidationErrorMessage)); } - final String parentLocalNameValidationErrorMessage = Assertions + final var parentLocalNameValidationErrorMessage = Assertions .getStringParameterValidationMessage(PARENT_LOCAL_NAME, parentLocalName, LOCAL_NAME_REGEXP); if (parentLocalNameValidationErrorMessage != null) { result.addValidationMessage(new AxValidationMessage(this, this.getClass(), ValidationResult.INVALID, "parentLocalName invalid-" + parentLocalNameValidationErrorMessage)); } - final String localNameValidationErrorMessage = Assertions.getStringParameterValidationMessage(LOCAL_NAME, + final var localNameValidationErrorMessage = Assertions.getStringParameterValidationMessage(LOCAL_NAME, localName, LOCAL_NAME_REGEXP); if (localNameValidationErrorMessage != null) { result.addValidationMessage(new AxValidationMessage(this, this.getClass(), ValidationResult.INVALID, @@ -462,7 +462,7 @@ public class AxReferenceKey extends AxKey { */ @Override public String toString() { - final StringBuilder builder = new StringBuilder(); + final var builder = new StringBuilder(); builder.append(this.getClass().getSimpleName()); builder.append(":("); builder.append("parentKeyName="); @@ -501,8 +501,8 @@ public class AxReferenceKey extends AxKey { */ @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + parentKeyName.hashCode(); result = prime * result + parentKeyVersion.hashCode(); result = prime * result + parentLocalName.hashCode(); diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/xml/AxReferenceKeyAdapter.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/xml/AxReferenceKeyAdapter.java index d8580be06..8515f5724 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/xml/AxReferenceKeyAdapter.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/xml/AxReferenceKeyAdapter.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,7 +51,7 @@ public class AxReferenceKeyAdapter extends XmlAdapter<String, AxReferenceKey> im */ @Override public final AxReferenceKey unmarshal(final String key) throws Exception { - final AxReferenceKey axReferenceKey = new AxReferenceKey(); + final var axReferenceKey = new AxReferenceKey(); axReferenceKey.setLocalName(key); return axReferenceKey; } diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfoTest.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfoTest.java index ff7adcd26..176cd606e 100644 --- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfoTest.java +++ b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfoTest.java @@ -33,11 +33,14 @@ import org.junit.Test; public class AxKeyInfoTest { @Test - public void testAxKeyInfo() { + public void testNullAxKeyInfo() { assertNotNull(new AxKeyInfo()); assertNotNull(new AxKeyInfo(new AxArtifactKey())); assertNotNull(new AxKeyInfo(new AxArtifactKey(), UUID.randomUUID(), "Key description")); + } + @Test + public void testAxKeyInfo() { AxKeyInfo testKeyInfo = new AxKeyInfo(); testKeyInfo.setKey((new AxArtifactKey("PN", "0.0.1"))); assertEquals("PN:0.0.1", testKeyInfo.getKey().getId()); @@ -93,6 +96,12 @@ public class AxKeyInfoTest { assertEquals(0, testKeyInfo.compareTo(new AxKeyInfo(key, uuid, "Key Description"))); assertNotNull(testKeyInfo.getKeys()); + } + + @Test + public void testAxKeyValidation() { + AxKeyInfo testKeyInfo = new AxKeyInfo(); + testKeyInfo.setKey((new AxArtifactKey("PN", "0.0.1"))); AxValidationResult result = new AxValidationResult(); result = testKeyInfo.validate(result); diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyTest.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyTest.java index 1e8e7f5af..010f4b8a3 100644 --- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyTest.java +++ b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyTest.java @@ -1,7 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019-2020 Nordix Foundation. + * Modifications Copyright (C) 2019-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,41 +29,81 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Field; +import org.junit.Before; import org.junit.Test; import org.onap.policy.apex.model.basicmodel.concepts.AxKey.Compatibility; public class AxKeyTest { + private static AxArtifactKey someKey0; + private static AxArtifactKey someKey1; + private static AxArtifactKey someKey2; + private static AxArtifactKey someKey3; + private static AxArtifactKey someKey4; + private static AxArtifactKey someKey5; + private static AxArtifactKey someKey6; + + /** + * Sets data in Keys for the tests. + */ + @Before + public void setKeys() { + someKey0 = new AxArtifactKey(); + someKey1 = new AxArtifactKey("name", "0.0.1"); + someKey2 = new AxArtifactKey(someKey1); + someKey3 = new AxArtifactKey(someKey1.getId()); + someKey4 = new AxArtifactKey(someKey1); + someKey5 = new AxArtifactKey(someKey1); + someKey6 = new AxArtifactKey(someKey1); + } + + private void setKeyValues() { + someKey0.setName("zero"); + someKey0.setVersion("0.0.2"); + someKey3.setVersion("0.0.2"); + someKey4.setVersion("0.1.2"); + someKey5.setVersion("1.2.2"); + someKey6.setVersion("3"); + } + @Test public void testArtifactKey() { assertThatThrownBy(() -> new AxArtifactKey("some bad key id")) .hasMessage("parameter \"id\": value \"some bad key id\", " + "does not match regular expression \"[A-Za-z0-9\\-_\\.]+:[0-9].[0-9].[0-9]\""); - AxArtifactKey someKey0 = new AxArtifactKey(); + assertEquals(AxArtifactKey.getNullKey(), someKey0); - AxArtifactKey someKey1 = new AxArtifactKey("name", "0.0.1"); - AxArtifactKey someKey2 = new AxArtifactKey(someKey1); - AxArtifactKey someKey3 = new AxArtifactKey(someKey1.getId()); assertEquals(someKey1, someKey2); assertEquals(someKey1, someKey3); assertEquals(someKey2, someKey1.getKey()); assertEquals(1, someKey1.getKeys().size()); - someKey0.setName("zero"); - someKey0.setVersion("0.0.2"); + setKeyValues(); - someKey3.setVersion("0.0.2"); + someKey0.clean(); + assertNotNull(someKey0.toString()); - AxArtifactKey someKey4 = new AxArtifactKey(someKey1); - someKey4.setVersion("0.1.2"); + AxArtifactKey someKey7 = new AxArtifactKey(someKey1); + assertEquals(150332875, someKey7.hashCode()); + assertEquals(0, someKey7.compareTo(someKey1)); + assertEquals(-12, someKey7.compareTo(someKey0)); - AxArtifactKey someKey5 = new AxArtifactKey(someKey1); - someKey5.setVersion("1.2.2"); + assertThatThrownBy(() -> someKey0.compareTo(null)) + .hasMessage("comparison object may not be null"); + assertEquals(0, someKey0.compareTo(someKey0)); + assertEquals(353602977, someKey0.compareTo(new AxReferenceKey())); - AxArtifactKey someKey6 = new AxArtifactKey(someKey1); - someKey6.setVersion("3"); + assertNotNull(someKey0); + // disabling sonar because this code tests the equals() method + assertEquals(someKey0, someKey0); // NOSONAR + assertNotEquals(someKey0, (Object) new AxReferenceKey()); + } + + @Test + public void testAxCompatibility() { + setKeyValues(); assertEquals(Compatibility.DIFFERENT, someKey0.getCompatibility(new AxReferenceKey())); assertEquals(Compatibility.DIFFERENT, someKey0.getCompatibility(someKey1)); @@ -79,6 +119,11 @@ public class AxKeyTest { assertFalse(someKey1.isCompatible(someKey0)); assertFalse(someKey1.isCompatible(someKey5)); assertFalse(someKey1.isCompatible(new AxReferenceKey())); + } + + @Test + public void testAxValidation() { + setKeyValues(); assertEquals(AxValidationResult.ValidationResult.VALID, someKey0.validate(new AxValidationResult()).getValidationResult()); @@ -94,24 +139,11 @@ public class AxKeyTest { someKey5.validate(new AxValidationResult()).getValidationResult()); assertEquals(AxValidationResult.ValidationResult.VALID, someKey6.validate(new AxValidationResult()).getValidationResult()); + } - someKey0.clean(); - assertNotNull(someKey0.toString()); - - AxArtifactKey someKey7 = new AxArtifactKey(someKey1); - assertEquals(150332875, someKey7.hashCode()); - assertEquals(0, someKey7.compareTo(someKey1)); - assertEquals(-12, someKey7.compareTo(someKey0)); - - assertThatThrownBy(() -> someKey0.compareTo(null)) - .hasMessage("comparison object may not be null"); - assertEquals(0, someKey0.compareTo(someKey0)); - assertEquals(353602977, someKey0.compareTo(new AxReferenceKey())); - - assertNotNull(someKey0); - // disabling sonar because this code tests the equals() method - assertEquals(someKey0, someKey0); // NOSONAR - assertNotEquals(someKey0, (Object) new AxReferenceKey()); + @Test + public void testNullKey() { + setKeyValues(); AxArtifactKey nullKey0 = AxArtifactKey.getNullKey(); assertTrue(nullKey0.isNullKey()); @@ -121,7 +153,6 @@ public class AxKeyTest { assertTrue(nullKey2.isNullKey()); AxArtifactKey notnullKey = new AxArtifactKey("Blah", AxKey.NULL_KEY_VERSION); assertFalse(notnullKey.isNullKey()); - } |