summaryrefslogtreecommitdiffstats
path: root/model/basic-model
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@ericsson.com>2018-08-30 09:37:29 +0100
committerliamfallon <liam.fallon@ericsson.com>2018-08-31 19:23:41 +0100
commitf32508381ce0b555fc14978cbaa458aa4e2d91c5 (patch)
tree1cab66e5372b6467f288ae1351ce836e4eba2d03 /model/basic-model
parent052038c7a7e0b385462b3b653b7d06094d472df3 (diff)
Use parameter service in apex
Switch parameter handling in apex to use the ONAP PF common parameter service Change-Id: Id318d19c726b18b1a69c630fa81ca7d695355e9c Issue-ID: POLICY-954 Signed-off-by: liamfallon <liam.fallon@ericsson.com>
Diffstat (limited to 'model/basic-model')
-rw-r--r--model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/AbstractParameters.java87
-rw-r--r--model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/ParameterService.java116
-rw-r--r--model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/IllegalParameters.java32
-rw-r--r--model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/LegalParameters.java32
-rw-r--r--model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestAbstractParameters.java55
-rw-r--r--model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestParameterService.java79
6 files changed, 0 insertions, 401 deletions
diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/AbstractParameters.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/AbstractParameters.java
deleted file mode 100644
index cc7c7b06f..000000000
--- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/AbstractParameters.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
-import org.onap.policy.apex.model.utilities.Assertions;
-
-/**
- * This class defines an abstract parameter class that acts as a base class for all parameters in Apex. The abstract parameter class holds the name of a
- * subclass of this abstract parameter class {@link AbstractParameters}. The class of the parameter class is checked at construction and on calls to the
- * {@link #getParameterClass()} method.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public abstract class AbstractParameters {
- // The name of the parameter subclass
- private final String parameterClassName;
-
- /**
- * Constructor, creates a parameter class that must be a subclass of {@link AbstractParameters}.
- *
- * @param parameterClassName the full canonical class name of the parameter class
- */
- public AbstractParameters(final String parameterClassName) {
- try {
- Assertions.assignableFrom(Class.forName(parameterClassName), AbstractParameters.class);
- }
- catch (IllegalArgumentException | ClassNotFoundException e) {
- throw new ApexRuntimeException(
- "class \"" + parameterClassName + "\" not found or not an instance of \"" + this.getClass().getCanonicalName() + "\"", e);
- }
-
- this.parameterClassName = parameterClassName;
- }
-
- /**
- * Gets the parameter class.
- *
- * @return the parameter class
- */
- @SuppressWarnings("unchecked")
- public final Class<? extends AbstractParameters> getParameterClass() {
- try {
- return (Class<? extends AbstractParameters>) Class.forName(parameterClassName);
- }
- catch (final ClassNotFoundException e) {
- throw new ApexRuntimeException("class not found for parameter class name \"" + parameterClassName + "\"", e);
- }
- }
-
- /**
- * Gets the parameter class name.
- *
- * @return the parameter class name
- */
- public final String getParameterClassName() {
- return parameterClassName;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return "AbstractParameters [parameterClassName=" + parameterClassName + "]";
- }
-}
diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/ParameterService.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/ParameterService.java
deleted file mode 100644
index 062213093..000000000
--- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/service/ParameterService.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
-
-/**
- * The parameter service makes Apex parameters available to all classes in a JVM.
- *
- * The reason for having a parameter service is to avoid having to pass parameters down long call chains in modules such as the Apex engine and editor. The
- * parameter service makes parameters available statically.
- *
- * The parameter service must be used with care because changing a parameter set anywhere in a JVM will affect all users of those parameters anywhere in the
- * JVM.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public abstract class ParameterService {
- // The map holding the parameters
- private static Map<Class<?>, AbstractParameters> parameterMap = new ConcurrentHashMap<>();
-
- /**
- * This class is an abstract static class that cannot be extended.
- */
- private ParameterService() {
- }
-
- /**
- * Register parameters with the parameter service.
- *
- * @param <P> the generic type
- * @param parametersClass the class of the parameter, used to index the parameter
- * @param parameters the parameters
- */
- public static <P extends AbstractParameters> void registerParameters(final Class<P> parametersClass, final P parameters) {
- parameterMap.put(parametersClass, parameters);
- }
-
- /**
- * Remove parameters from the parameter service.
- *
- * @param <P> the generic type
- * @param parametersClass the class of the parameter, used to index the parameter
- */
- public static <P extends AbstractParameters> void deregisterParameters(final Class<P> parametersClass) {
- parameterMap.remove(parametersClass);
- }
-
- /**
- * Get parameters from the parameter service.
- *
- * @param <P> the generic type
- * @param parametersClass the class of the parameter, used to index the parameter
- * @return The parameter
- */
- @SuppressWarnings("unchecked")
- public static <P extends AbstractParameters> P getParameters(final Class<P> parametersClass) {
- final P parameter = (P) parameterMap.get(parametersClass);
-
- if (parameter == null) {
- throw new ApexRuntimeException("Parameters for " + parametersClass.getCanonicalName() + " not found in parameter service");
- }
-
- return parameter;
- }
-
- /**
- * Check if parameters is defined on the parameter service.
- *
- * @param <P> the generic type
- * @param parametersClass the class of the parameter, used to index the parameter
- * @return true if the parameter is defined
- */
- public static <P extends AbstractParameters> boolean existsParameters(final Class<P> parametersClass) {
- return parameterMap.get(parametersClass) != null;
- }
-
- /**
- * Get all the entries in the parameters map.
- *
- * @return The entries
- */
- public static Set<Entry<Class<?>, AbstractParameters>> getAll() {
- return parameterMap.entrySet();
- }
-
- /**
- * Clear all parameters in the parameter service.
- */
- public static void clear() {
- parameterMap.clear();
- }
-}
diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/IllegalParameters.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/IllegalParameters.java
deleted file mode 100644
index 3a7fdf530..000000000
--- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/IllegalParameters.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import org.onap.policy.apex.model.basicmodel.service.AbstractParameters;
-
-/**
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class IllegalParameters extends AbstractParameters {
- public IllegalParameters() {
- super("somewhere.over.the.rainbow");
- }
-}
diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/LegalParameters.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/LegalParameters.java
deleted file mode 100644
index 3de3ecb58..000000000
--- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/LegalParameters.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import org.onap.policy.apex.model.basicmodel.service.AbstractParameters;
-
-/**
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class LegalParameters extends AbstractParameters {
- public LegalParameters() {
- super(LegalParameters.class.getCanonicalName());
- }
-}
diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestAbstractParameters.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestAbstractParameters.java
deleted file mode 100644
index 7afa14440..000000000
--- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestAbstractParameters.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import org.junit.Test;
-
-/**
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class TestAbstractParameters {
-
- @Test
- public void testAbstractParameters() {
- final LegalParameters parameters = new LegalParameters();
- assertNotNull(parameters);
- assertEquals(
- "AbstractParameters [parameterClassName=org.onap.policy.apex.model.basicmodel.service.LegalParameters]",
- parameters.toString());
-
- assertEquals(LegalParameters.class, parameters.getParameterClass());
- assertEquals("org.onap.policy.apex.model.basicmodel.service.LegalParameters",
- parameters.getParameterClassName());
-
- try {
- new IllegalParameters();
- fail("test should throw an exception here");
- } catch (final Exception e) {
- assertEquals(
- "class \"somewhere.over.the.rainbow\" not found or not an instance of \"org.onap.policy.apex.model.basicmodel.service.IllegalParameters\"",
- e.getMessage());
- }
- }
-}
diff --git a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestParameterService.java b/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestParameterService.java
deleted file mode 100644
index e84b3e252..000000000
--- a/model/basic-model/src/test/java/org/onap/policy/apex/model/basicmodel/service/TestParameterService.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.model.basicmodel.service;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-/**
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class TestParameterService {
-
- @Test
- public void testParameterService() {
- ParameterService.clear();
-
- assertFalse(ParameterService.existsParameters(LegalParameters.class));
- try {
- ParameterService.getParameters(LegalParameters.class);
- } catch (final Exception e) {
- assertEquals(
- "Parameters for org.onap.policy.apex.model.basicmodel.service.LegalParameters not found in parameter service",
- e.getMessage());
- }
-
- ParameterService.registerParameters(LegalParameters.class, new LegalParameters());
- assertTrue(ParameterService.existsParameters(LegalParameters.class));
- assertNotNull(ParameterService.getParameters(LegalParameters.class));
-
- ParameterService.deregisterParameters(LegalParameters.class);
-
- assertFalse(ParameterService.existsParameters(LegalParameters.class));
- try {
- ParameterService.getParameters(LegalParameters.class);
- } catch (final Exception e) {
- assertEquals(
- "Parameters for org.onap.policy.apex.model.basicmodel.service.LegalParameters not found in parameter service",
- e.getMessage());
- }
-
- ParameterService.registerParameters(LegalParameters.class, new LegalParameters());
- assertTrue(ParameterService.existsParameters(LegalParameters.class));
- assertNotNull(ParameterService.getParameters(LegalParameters.class));
-
- assertNotNull(ParameterService.getAll());
- ParameterService.clear();
- assertFalse(ParameterService.existsParameters(LegalParameters.class));
- try {
- ParameterService.getParameters(LegalParameters.class);
- } catch (final Exception e) {
- assertEquals(
- "Parameters for org.onap.policy.apex.model.basicmodel.service.LegalParameters not found in parameter service",
- e.getMessage());
- }
-
- }
-}