summaryrefslogtreecommitdiffstats
path: root/models-base/src
diff options
context:
space:
mode:
Diffstat (limited to 'models-base/src')
-rw-r--r--models-base/src/main/java/org/onap/policy/models/base/PfGeneratedIdKey.java166
-rw-r--r--models-base/src/test/java/org/onap/policy/models/base/PfGeneratedIdKeyTest.java96
2 files changed, 0 insertions, 262 deletions
diff --git a/models-base/src/main/java/org/onap/policy/models/base/PfGeneratedIdKey.java b/models-base/src/main/java/org/onap/policy/models/base/PfGeneratedIdKey.java
deleted file mode 100644
index 8e6e325c1..000000000
--- a/models-base/src/main/java/org/onap/policy/models/base/PfGeneratedIdKey.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * 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.
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.models.base;
-
-
-import javax.persistence.Column;
-import javax.persistence.Embeddable;
-import javax.persistence.GeneratedValue;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NonNull;
-import org.onap.policy.common.parameters.annotations.Pattern;
-import org.onap.policy.common.utils.validation.Assertions;
-
-/**
- * A concept key uniquely identifies every first order entity in the system. Every first order concept in the system
- * must have a {@link PfGeneratedIdKey} to identify it. Concepts that are wholly contained in another concept are
- * identified using a {@link PfReferenceKey} key.
- *
- * <p/>Key validation checks that the name and version fields match the NAME_REGEXP and VERSION_REGEXP
- * regular expressions respectively.
- */
-@Embeddable
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class PfGeneratedIdKey extends PfKeyImpl {
-
- private static final long serialVersionUID = 1L;
-
- private static final String ID_TOKEN = "ID";
-
- @Column(name = NAME_TOKEN, length = 120)
- @Pattern(regexp = NAME_REGEXP)
- private String name;
-
- @Column(name = VERSION_TOKEN, length = 20)
- @Pattern(regexp = VERSION_REGEXP)
- private String version;
-
- @Column(name = ID_TOKEN)
- @GeneratedValue
- private Long generatedId;
-
- /**
- * The default constructor creates a null concept key.
- */
- public PfGeneratedIdKey() {
- this(NULL_KEY_NAME, NULL_KEY_VERSION);
- }
-
- /**
- * Constructor to create a key with the specified name and version.
- *
- * @param name the key name
- * @param version the key version
- */
- public PfGeneratedIdKey(final String name, final String version) {
- super(name, version);
- }
-
- /**
- * Copy constructor.
- *
- * @param copyConcept the concept to copy from
- */
- public PfGeneratedIdKey(final PfGeneratedIdKey copyConcept) {
- super(copyConcept);
- this.generatedId = copyConcept.getGeneratedId();
- }
-
- /**
- * Constructor to create a key with the specified name and version.
- *
- * @param name the key name
- * @param version the key version
- * @param generatedId the conceptId of key
- */
- public PfGeneratedIdKey(@NonNull final String name, @NonNull final String version,
- final Long generatedId) {
- super(name, version);
- this.generatedId = generatedId;
- }
-
- /**
- * Constructor to create a key using the key and version from the specified key ID.
- *
- * @param id the key ID in a format that respects the KEY_ID_REGEXP
- */
- public PfGeneratedIdKey(final String id) {
- super(id.substring(0, id.lastIndexOf(':')));
- this.generatedId = Long.parseLong(id.substring(id.lastIndexOf(':') + 1));
- }
-
- @Override
- public int compareTo(@NonNull final PfConcept otherObj) {
- int result = super.compareTo(otherObj);
- if (0 == result) {
- final PfGeneratedIdKey other = (PfGeneratedIdKey) otherObj;
- return generatedId.compareTo(other.generatedId);
- }
- return result;
- }
-
- @Override
- public String getId() {
- return getName() + ':' + getVersion() + ':' + getGeneratedId();
- }
-
- @Override
- public boolean isNewerThan(@NonNull PfKey otherKey) {
- Assertions.instanceOf(otherKey, PfGeneratedIdKey.class);
-
- final PfGeneratedIdKey otherConceptKey = (PfGeneratedIdKey) otherKey;
-
- if (this.equals(otherConceptKey)) {
- return false;
- }
-
- if (!generatedId.equals(otherConceptKey.generatedId)) {
- return generatedId.compareTo(otherConceptKey.generatedId) >= 1;
- }
-
- return super.isNewerThan(otherKey);
- }
-
- @Override
- public boolean isNullKey() {
- return super.isNullKey() && getGeneratedId() == null;
- }
-
- public void setName(@NonNull final String name) {
- this.name = Assertions.validateStringParameter(NAME_TOKEN, name, getNameRegEx());
- }
-
- public void setVersion(@NonNull final String version) {
- this.version = Assertions.validateStringParameter(VERSION_TOKEN, version, getVersionRegEx());
- }
-
- /**
- * Get a null concept key.
- *
- * @return a null concept key
- */
- public static final PfGeneratedIdKey getNullKey() {
- return new PfGeneratedIdKey(PfKey.NULL_KEY_NAME, PfKey.NULL_KEY_VERSION);
- }
-
-}
diff --git a/models-base/src/test/java/org/onap/policy/models/base/PfGeneratedIdKeyTest.java b/models-base/src/test/java/org/onap/policy/models/base/PfGeneratedIdKeyTest.java
deleted file mode 100644
index 4f10710ba..000000000
--- a/models-base/src/test/java/org/onap/policy/models/base/PfGeneratedIdKeyTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * 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.
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-
-package org.onap.policy.models.base;
-
-import static org.assertj.core.api.Assertions.assertThatCode;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-public class PfGeneratedIdKeyTest {
- private static final String VERSION001 = "0.0.1";
- private static final String CONCEPT_IS_NULL = "^copyConcept is marked .*on.*ull but is null$";
- private static final String NAME_IS_NULL = "^name is marked .*on.*ull but is null$";
- private static final String VERSION_IS_NULL = "^version is marked .*on.*ull but is null$";
- private static final long generatedId = 10001L;
-
- @Test
- public void testGeneratedIdKey() {
- PfGeneratedIdKey someKey0 = new PfGeneratedIdKey();
- assertEquals(PfGeneratedIdKey.getNullKey(), someKey0);
- assertTrue(someKey0.isNullKey());
- assertEquals("PfGeneratedIdKey(name=NULL, version=0.0.0, generatedId=null)",
- someKey0.toString());
-
- PfGeneratedIdKey someKey1 = new PfGeneratedIdKey("my-name", VERSION001, generatedId);
- PfGeneratedIdKey someKey2 = new PfGeneratedIdKey(someKey1);
- PfGeneratedIdKey someKey3 = new PfGeneratedIdKey(someKey1.getId());
- assertEquals(someKey1, someKey2);
- assertEquals(someKey1, someKey3);
- assertFalse(someKey1.isNullVersion());
- assertEquals("PfGeneratedIdKey(name=my-name, version=0.0.1, generatedId="
- + generatedId + ")", someKey1.toString());
-
- assertEquals("my-name", someKey1.getName());
- assertEquals(VERSION001, someKey1.getVersion());
-
- assertEquals(someKey2, someKey1.getKey());
- assertEquals(1, someKey1.getKeys().size());
- assertThatThrownBy(() -> someKey0.setName(null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching(NAME_IS_NULL);
- assertThatThrownBy(() -> someKey0.setVersion(null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching(VERSION_IS_NULL);
- assertThatCode(() -> someKey0.setGeneratedId(null)).doesNotThrowAnyException();
-
- assertFalse(someKey1.isNewerThan(someKey2));
- assertThatThrownBy(() -> someKey1.isNewerThan((PfKey) null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching("^otherKey is marked .*on.*ull but is null$");
- someKey2.setGeneratedId(generatedId + 1);
- assertTrue(someKey2.isNewerThan(someKey1));
- someKey3.setName("my-name3");
- assertTrue(someKey3.isNewerThan(someKey1));
-
- assertEquals(-1, someKey1.compareTo(someKey2));
- assertEquals(-1, someKey1.compareTo(someKey3));
- assertThatThrownBy(() -> someKey1.compareTo((PfConcept) null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching("^otherObj is marked .*on.*ull but is null$");
-
- PfGeneratedIdKey someKey4 = new PfGeneratedIdKey("NULL", "0.0.0", generatedId);
- assertFalse(someKey4.isNullKey());
- assertFalse(someKey1.isNullKey());
- }
-
- @Test
- public void testTimestampKeyErrors() {
- assertThatThrownBy(() -> new PfGeneratedIdKey((PfGeneratedIdKey) null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching(CONCEPT_IS_NULL);
- assertThatThrownBy(() -> new PfGeneratedIdKey(null, null, null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching(NAME_IS_NULL);
- assertThatThrownBy(() -> new PfGeneratedIdKey("my-name", null, null)).isInstanceOf(NullPointerException.class)
- .hasMessageMatching(VERSION_IS_NULL);
- assertThatCode(() -> new PfGeneratedIdKey("my-name", VERSION001, null))
- .doesNotThrowAnyException();
- }
-}