From 3f300de4a4ab68feef455e43b18cac804323fd8e Mon Sep 17 00:00:00 2001 From: "waqas.ikram" Date: Thu, 5 Jul 2018 18:57:02 +0100 Subject: Refactoring existing integration tests Change-Id: I1aedd94d5197b8c6513fc701e9df2aab4edec088 Issue-ID: POLICY-865 Signed-off-by: waqas.ikram --- .../context-distribution-hazelcast/pom.xml | 6 + .../hazelcast/HazelcastContextDistributorTest.java | 74 +++ .../context-distribution-infinispan/pom.xml | 6 + .../InfinispanContextDistributorTest.java | 93 +++ plugins/plugins-context/context-metrics/pom.xml | 72 --- .../context/metrics/ConcurrentContextMetrics.java | 525 ----------------- .../metrics/ConcurrentContextMetricsJVM.java | 212 ------- .../metrics/ConcurrentContextMetricsJVMThread.java | 187 ------ .../metrics/ConcurrentContextMetricsThread.java | 170 ------ .../apex/plugins/context/metrics/package-info.java | 27 - .../apex/plugins/context/metrics/TestMetrics.java | 57 -- .../src/test/resources/hazelcast/hazelcast.xml | 643 --------------------- .../src/test/resources/infinispan/infinispan.xml | 42 -- .../plugins-context/plugins-context-test/pom.xml | 99 ---- .../context/test/HazelcastContextInjection.java | 162 ------ .../apex/plugins/context/test/package-info.java | 26 - .../test/distribution/TestContextAlbumUpdate.java | 94 --- .../distribution/TestContextInstantiation.java | 86 --- .../test/distribution/TestContextUpdate.java | 94 --- .../TestSequentialContextInstantiation.java | 101 ---- .../context/test/locking/CuratorManagerTest.java | 99 ---- .../test/locking/TestConcurrentContext.java | 313 ---------- plugins/plugins-context/pom.xml | 67 +-- 23 files changed, 186 insertions(+), 3069 deletions(-) create mode 100644 plugins/plugins-context/context-distribution/context-distribution-hazelcast/src/test/java/org/onap/policy/apex/plugins/context/distribution/hazelcast/HazelcastContextDistributorTest.java create mode 100644 plugins/plugins-context/context-distribution/context-distribution-infinispan/src/test/java/org/onap/policy/apex/plugins/context/distribution/infinispan/InfinispanContextDistributorTest.java delete mode 100644 plugins/plugins-context/context-metrics/pom.xml delete mode 100644 plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java delete mode 100644 plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java delete mode 100644 plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java delete mode 100644 plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java delete mode 100644 plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java delete mode 100644 plugins/plugins-context/context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java delete mode 100644 plugins/plugins-context/context-metrics/src/test/resources/hazelcast/hazelcast.xml delete mode 100644 plugins/plugins-context/context-metrics/src/test/resources/infinispan/infinispan.xml delete mode 100644 plugins/plugins-context/plugins-context-test/pom.xml delete mode 100644 plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/HazelcastContextInjection.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/package-info.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextAlbumUpdate.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextInstantiation.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextUpdate.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestSequentialContextInstantiation.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/CuratorManagerTest.java delete mode 100644 plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/TestConcurrentContext.java (limited to 'plugins/plugins-context') diff --git a/plugins/plugins-context/context-distribution/context-distribution-hazelcast/pom.xml b/plugins/plugins-context/context-distribution/context-distribution-hazelcast/pom.xml index ce80a7a89..71806c54f 100644 --- a/plugins/plugins-context/context-distribution/context-distribution-hazelcast/pom.xml +++ b/plugins/plugins-context/context-distribution/context-distribution-hazelcast/pom.xml @@ -36,5 +36,11 @@ hazelcast ${version.hazelcast} + + org.onap.policy.apex-pdp.context + context-test-utils + ${project.version} + test + \ No newline at end of file diff --git a/plugins/plugins-context/context-distribution/context-distribution-hazelcast/src/test/java/org/onap/policy/apex/plugins/context/distribution/hazelcast/HazelcastContextDistributorTest.java b/plugins/plugins-context/context-distribution/context-distribution-hazelcast/src/test/java/org/onap/policy/apex/plugins/context/distribution/hazelcast/HazelcastContextDistributorTest.java new file mode 100644 index 000000000..c999c95f0 --- /dev/null +++ b/plugins/plugins-context/context-distribution/context-distribution-hazelcast/src/test/java/org/onap/policy/apex/plugins/context/distribution/hazelcast/HazelcastContextDistributorTest.java @@ -0,0 +1,74 @@ +/*- + * ============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.plugins.context.distribution.hazelcast; + +import java.io.IOException; + +import org.junit.Test; +import org.onap.policy.apex.context.parameters.ContextParameters; +import org.onap.policy.apex.context.test.distribution.ContextAlbumUpdate; +import org.onap.policy.apex.context.test.distribution.ContextInstantiation; +import org.onap.policy.apex.context.test.distribution.ContextUpdate; +import org.onap.policy.apex.model.basicmodel.concepts.ApexException; +import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; +import org.slf4j.ext.XLogger; +import org.slf4j.ext.XLoggerFactory; + +public class HazelcastContextDistributorTest { + private static final String HAZEL_CAST_PLUGIN_CLASS = HazelcastContextDistributor.class.getCanonicalName(); + // Logger for this class + private static final XLogger logger = XLoggerFactory.getXLogger(HazelcastContextDistributorTest.class); + + + @Test + public void testContextAlbumUpdateHazelcast() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextAlbumUpdateHazelcast test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(HAZEL_CAST_PLUGIN_CLASS); + new ContextAlbumUpdate().testContextAlbumUpdate(); + + logger.debug("Ran testContextAlbumUpdateHazelcast test"); + } + + @Test + public void testContextInstantiationHazelcast() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextInstantiationHazelcast test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(HAZEL_CAST_PLUGIN_CLASS); + new ContextInstantiation().testContextInstantiation(); + + logger.debug("Ran testContextInstantiationHazelcast test"); + } + + @Test + public void testContextUpdateHazelcast() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextUpdateHazelcast test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(HAZEL_CAST_PLUGIN_CLASS); + new ContextUpdate().testContextUpdate(); + + logger.debug("Ran testContextUpdateHazelcast test"); + } + +} diff --git a/plugins/plugins-context/context-distribution/context-distribution-infinispan/pom.xml b/plugins/plugins-context/context-distribution/context-distribution-infinispan/pom.xml index 7592edd91..c6985a952 100644 --- a/plugins/plugins-context/context-distribution/context-distribution-infinispan/pom.xml +++ b/plugins/plugins-context/context-distribution/context-distribution-infinispan/pom.xml @@ -42,6 +42,12 @@ + + org.onap.policy.apex-pdp.context + context-test-utils + ${project.version} + test + \ No newline at end of file diff --git a/plugins/plugins-context/context-distribution/context-distribution-infinispan/src/test/java/org/onap/policy/apex/plugins/context/distribution/infinispan/InfinispanContextDistributorTest.java b/plugins/plugins-context/context-distribution/context-distribution-infinispan/src/test/java/org/onap/policy/apex/plugins/context/distribution/infinispan/InfinispanContextDistributorTest.java new file mode 100644 index 000000000..34fa7d439 --- /dev/null +++ b/plugins/plugins-context/context-distribution/context-distribution-infinispan/src/test/java/org/onap/policy/apex/plugins/context/distribution/infinispan/InfinispanContextDistributorTest.java @@ -0,0 +1,93 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 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.plugins.context.distribution.infinispan; + +import java.io.IOException; + +import org.junit.Test; +import org.onap.policy.apex.context.parameters.ContextParameters; +import org.onap.policy.apex.context.test.distribution.ContextAlbumUpdate; +import org.onap.policy.apex.context.test.distribution.ContextInstantiation; +import org.onap.policy.apex.context.test.distribution.ContextUpdate; +import org.onap.policy.apex.context.test.distribution.SequentialContextInstantiation; +import org.onap.policy.apex.model.basicmodel.concepts.ApexException; +import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; +import org.slf4j.ext.XLogger; +import org.slf4j.ext.XLoggerFactory; + +public class InfinispanContextDistributorTest { + private static final XLogger logger = XLoggerFactory.getXLogger(InfinispanContextDistributorTest.class); + + private static final String PLUGIN_CLASS = InfinispanContextDistributor.class.getCanonicalName(); + + @Test + public void testContextAlbumUpdateInfinispan() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextAlbumUpdateInfinispan test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(PLUGIN_CLASS); + new InfinispanDistributorParameters(); + + new ContextAlbumUpdate().testContextAlbumUpdate(); + + logger.debug("Ran testContextAlbumUpdateInfinispan test"); + } + + @Test + public void testContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextInstantiationInfinispan test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(PLUGIN_CLASS); + new InfinispanDistributorParameters(); + + new ContextInstantiation().testContextInstantiation(); + + logger.debug("Ran testContextInstantiationInfinispan test"); + } + + @Test + public void testContextUpdateInfinispan() throws ApexModelException, IOException, ApexException { + logger.debug("Running testContextUpdateInfinispan test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(PLUGIN_CLASS); + new InfinispanDistributorParameters(); + + new ContextUpdate().testContextUpdate(); + + logger.debug("Ran testContextUpdateInfinispan test"); + } + + @Test + public void testSequentialContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException { + logger.debug("Running testSequentialContextInstantiationInfinispan test . . ."); + + final ContextParameters contextParameters = new ContextParameters(); + contextParameters.getDistributorParameters().setPluginClass(PLUGIN_CLASS); + new InfinispanDistributorParameters(); + + new SequentialContextInstantiation().testSequentialContextInstantiation(); + + logger.debug("Ran testSequentialContextInstantiationInfinispan test"); + } + + +} diff --git a/plugins/plugins-context/context-metrics/pom.xml b/plugins/plugins-context/context-metrics/pom.xml deleted file mode 100644 index 1e5800c5e..000000000 --- a/plugins/plugins-context/context-metrics/pom.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - 4.0.0 - - org.onap.policy.apex-pdp.plugins.plugins-context - plugins-context - 2.0.0-SNAPSHOT - - context-metrics - ${project.artifactId} - [${project.parent.artifactId}] module to calculate metrics using various plugins - - - - - org.onap.policy.apex-pdp.core - core-infrastructure - ${project.version} - - - org.onap.policy.apex-pdp.context - context-test - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution - context-distribution-hazelcast - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution - context-distribution-infinispan - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-locking - context-locking-curator - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-locking - context-locking-hazelcast - ${project.version} - - - org.apache.curator - curator-test - 3.2.0 - test - - - \ No newline at end of file diff --git a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java b/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java deleted file mode 100644 index de719c937..000000000 --- a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java +++ /dev/null @@ -1,525 +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.plugins.context.metrics; - -import java.io.IOException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.onap.policy.apex.context.ContextAlbum; -import org.onap.policy.apex.context.ContextException; -import org.onap.policy.apex.context.Distributor; -import org.onap.policy.apex.context.impl.distribution.DistributorFactory; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.context.parameters.LockManagerParameters; -import org.onap.policy.apex.context.test.concepts.TestContextItem003; -import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory; -import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManagerParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The Class concurrentContextMetrics tests concurrent use of context. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public class ConcurrentContextMetrics { - private static final int NUM_ARGS = 8; - private static final int ARG_LABEL = 0; - private static final int ARG_JVM_COUNT = 1; - private static final int ARG_THREAD_COUNT = 2; - private static final int ARG_ITERATIONS = 3; - private static final int ARG_ARRAY_SIZE = 4; - private static final int ARG_LOCK_TYPE = 5; - private static final int ARG_ZOOKEEPER_ADDRESS = 6; - private static final int ARG_INTERACTIVE = 7; - - private static final int TIME_10_MS = 10; - - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetrics.class); - - // Test parameters - private String testLabel = null; - private int jvmCount = -1; - private int threadCount = -1; - private int threadLoops = -1; - private int longArraySize = -1; - private int lockType = -1; - private String zookeeperAddress = null; - private long total = -1; - private boolean interactive = false; - - // The context distributor and map used by each test - private Distributor contextDistributor = null; - private ContextAlbum lTypeAlbum = null; - - private final DateFormat dateFormat = new SimpleDateFormat("yyyy,MM,dd,HH,mm,ss,S"); - - /** - * The main method. - * - * @param args the args - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - public static void main(final String[] args) throws ApexModelException, IOException, ApexException { - if (args.length != NUM_ARGS) { - System.err.println( - "usage: ConcurrentContextMetrics testLabel jvmCount threadCount threadLoops longArraySize lockType zookeeperAddress interactive"); - return; - } - // @formatter:off - final ConcurrentContextMetrics concurrentContextMetrics = new ConcurrentContextMetrics( - args[ARG_LABEL], - Integer.valueOf(args[ARG_JVM_COUNT]), - Integer.valueOf(args[ARG_THREAD_COUNT]), - Integer.valueOf(args[ARG_ITERATIONS]), - Integer.valueOf(args[ARG_ARRAY_SIZE]), - Integer.valueOf(args[ARG_LOCK_TYPE]), - args[ARG_ZOOKEEPER_ADDRESS], - Boolean.valueOf(args[ARG_INTERACTIVE])); - // @formatter:on - - concurrentContextMetrics.concurrentContextMetricsJVMLocal(); - concurrentContextMetrics.concurrentContextMetricsCurator(); - concurrentContextMetrics.concurrentContextMetricsHazelcast(); - concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJVMHazelcastLock(); - concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJVMHazelcastlock(); - concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJVMCuratorLock(); - concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJVMCuratorLock(); - } - - /** - * The Constructor. - * - * @param testLabel the test label - * @param jvmCount the jvm count - * @param threadCount the thread count - * @param threadLoops the thread loops - * @param longArraySize the long array size - * @param lockType the lock type - * @param zookeeperAddress the zookeeper address - * @param interactive the interactive - */ - // CHECKSTYLE:OFF: checkstyle:parameterNumber - public ConcurrentContextMetrics(final String testLabel, final int jvmCount, final int threadCount, - final int threadLoops, final int longArraySize, final int lockType, final String zookeeperAddress, - final boolean interactive) { - // CHECKSTYLE:ON: checkstyle:parameterNumber - super(); - this.testLabel = testLabel; - this.jvmCount = jvmCount; - this.threadCount = threadCount; - this.threadLoops = threadLoops; - this.longArraySize = longArraySize; - this.lockType = lockType; - this.zookeeperAddress = zookeeperAddress; - this.interactive = interactive; - } - - /** - * Concurrent context metrics JVM local. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsJVMLocal() throws ApexModelException, IOException, ApexException { - if (jvmCount != 1) { - return; - } - - LOGGER.debug("Running concurrentContextMetricsJVMLocalVarSet metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - contextParameters.getLockManagerParameters() - .setPluginClass(LockManagerParameters.DEFAULT_LOCK_MANAGER_PLUGIN_CLASS); - runConcurrentContextMetrics("JVMLocal"); - - LOGGER.debug("Ran concurrentContextMetricsJVMLocalVarSet metrics"); - } - - /** - * Concurrent context metrics hazelcast. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsHazelcast() throws ApexModelException, IOException, ApexException { - if (jvmCount != 1) { - return; - } - - LOGGER.debug("Running concurrentContextMetricsHazelcast metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - runConcurrentContextMetrics("Hazelcast"); - - LOGGER.debug("Ran concurrentContextMetricsHazelcast metrics"); - } - - /** - * Concurrent context metrics curator. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsCurator() throws ApexModelException, IOException, ApexException { - if (jvmCount != 1) { - return; - } - - LOGGER.debug("Running concurrentContextMetricsCurator metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - contextParameters.setLockManagerParameters(curatorParameters); - curatorParameters.setZookeeperAddress(zookeeperAddress); - - runConcurrentContextMetrics("Curator"); - - LOGGER.debug("Ran concurrentContextMetricsCurator metrics"); - } - - /** - * Concurrent context metrics hazelcast multi JVM hazelcast lock. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsHazelcastMultiJVMHazelcastLock() - throws ApexModelException, IOException, ApexException { - LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMHazelcastLock metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - runConcurrentContextMetrics("HazelcastMultiJVMHazelcastLock"); - - LOGGER.debug("Ran concurrentContextMetricsHazelcastMultiJVMHazelcastLock metrics"); - } - - /** - * Concurrent context metrics infinispan multi JVM hazelcastlock. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsInfinispanMultiJVMHazelcastlock() - throws ApexModelException, IOException, ApexException { - LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMHazelcastlock metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - - final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters(); - contextParameters.setDistributorParameters(infinispanParameters); - - runConcurrentContextMetrics("InfinispanMultiJVMHazelcastlock"); - - LOGGER.debug("Ran concurrentContextMetricsInfinispanMultiJVMHazelcastlock metrics"); - } - - /** - * Concurrent context metrics infinispan multi JVM curator lock. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsInfinispanMultiJVMCuratorLock() - throws ApexModelException, IOException, ApexException { - LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMCuratorLock metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - contextParameters.setLockManagerParameters(curatorParameters); - curatorParameters.setZookeeperAddress(zookeeperAddress); - - final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters(); - contextParameters.setDistributorParameters(infinispanParameters); - - runConcurrentContextMetrics("InfinispanMultiJVMCuratorLock"); - - LOGGER.debug("Ran concurrentContextMetricsInfinispanMultiJVMCuratorLock metrics"); - } - - /** - * Concurrent context metrics hazelcast multi JVM curator lock. - * - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void concurrentContextMetricsHazelcastMultiJVMCuratorLock() - throws ApexModelException, IOException, ApexException { - LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMCuratorLock metrics . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - contextParameters.setLockManagerParameters(curatorParameters); - curatorParameters.setZookeeperAddress(zookeeperAddress); - - runConcurrentContextMetrics("HazelcastMultiJVMCuratorLock"); - - LOGGER.debug("Ran concurrentContextMetricsHazelcastMultiJVMCuratorLock metrics"); - } - - /** - * Run concurrent context metrics. - * - * @param testName the test name - * @throws ApexModelException the apex model exception - * @throws IOException the IO exception - * @throws ApexException the apex exception - */ - private void runConcurrentContextMetrics(final String testName) - throws ApexModelException, IOException, ApexException { - total = -1; - outMetricLine(testName, "Init"); - - try { - setupContext(); - } catch (final Exception e) { - e.printStackTrace(); - throw e; - } - - outMetricLine(testName, "Start"); - - Thread[] threadArray; - - // Check if we have a single JVM or multiple JVMs - int runningThreadCount = -1; - if (jvmCount == 1) { - threadArray = new Thread[threadCount]; - - // Run everything in this JVM - for (int t = 0; t < threadCount; t++) { - threadArray[t] = - new Thread(new ConcurrentContextMetricsThread(0, t, threadLoops, longArraySize, lockType)); - threadArray[t].setName(testLabel + "_" + testName + ":concurrentContextMetricsThread_0_" + t); - threadArray[t].start(); - } - - outMetricLine(testName, "Running"); - runningThreadCount = threadCount; - } else { - threadArray = new Thread[jvmCount]; - - final ConcurrentContextMetricsJVMThread[] jvmArray = new ConcurrentContextMetricsJVMThread[jvmCount]; - // Spawn JVMs to run the tests - for (int j = 0; j < jvmCount; j++) { - jvmArray[j] = new ConcurrentContextMetricsJVMThread(testLabel + "_" + testName, j, threadCount, - threadLoops, longArraySize, lockType); - threadArray[j] = new Thread(jvmArray[j]); - threadArray[j].setName(testLabel + "_" + testName + ":concurrentContextMetricsJVMThread_" + j); - threadArray[j].start(); - } - - boolean allReadyToGo; - do { - ThreadUtilities.sleep(TIME_10_MS); - allReadyToGo = true; - for (int j = 0; j < jvmCount; j++) { - if (!jvmArray[j].isReadyToGo()) { - allReadyToGo = false; - break; - } - } - } while (!allReadyToGo); - - outMetricLine(testName, "Ready"); - if (interactive) { - System.in.read(); - } - outMetricLine(testName, "Running"); - - for (int j = 0; j < jvmCount; j++) { - jvmArray[j].offYouGo(); - } - - boolean allFinished; - do { - ThreadUtilities.sleep(TIME_10_MS); - allFinished = true; - for (int j = 0; j < jvmCount; j++) { - if (!jvmArray[j].isAllFinished()) { - allFinished = false; - break; - } - } - } while (!allFinished); - - outMetricLine(testName, "Completed"); - - verifyContext(testName); - - for (int j = 0; j < jvmCount; j++) { - jvmArray[j].finishItOut(); - } - - runningThreadCount = jvmCount; - } - - boolean allFinished; - do { - ThreadUtilities.sleep(TIME_10_MS); - allFinished = true; - for (int i = 0; i < runningThreadCount; i++) { - if (threadArray[i].isAlive()) { - allFinished = false; - break; - } - } - } while (!allFinished); - - if (jvmCount == 1) { - outMetricLine(testName, "Completed"); - verifyContext(testName); - } - - clearContext(testName); - } - - /** - * Setup context. - * - * @throws ContextException the context exception - */ - private void setupContext() throws ContextException { - final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1"); - contextDistributor = new DistributorFactory().getDistributor(distributorKey); - - final AxArtifactKey[] usedArtifactStackArray = {new AxArtifactKey("testC-top", "0.0.1"), - new AxArtifactKey("testC-next", "0.0.1"), new AxArtifactKey("testC-bot", "0.0.1")}; - - final AxContextModel albumsModel = TestContextAlbumFactory.createMultiAlbumsContextModel(); - contextDistributor.registerModel(albumsModel); - - lTypeAlbum = contextDistributor.createContextAlbum(new AxArtifactKey("LTypeContextAlbum", "0.0.1")); - assert (lTypeAlbum != null); - lTypeAlbum.setUserArtifactStack(usedArtifactStackArray); - - for (int i = 0; i < longArraySize; i++) { - final String longKey = Integer.toString(i); - final TestContextItem003 longItem = new TestContextItem003(); - longItem.setLongValue(0); - lTypeAlbum.put(longKey, longItem); - } - } - - /** - * Verify context. - * - * @param testName the test name - * @throws ContextException the context exception - */ - private void verifyContext(final String testName) throws ContextException { - total = 0; - - try { - for (int i = 0; i < longArraySize; i++) { - total += ((TestContextItem003) lTypeAlbum.get(Integer.toString(i))).getLongValue(); - } - - outMetricLine(testName, "Totaled"); - } catch (final Exception e) { - e.printStackTrace(); - } - - if (lockType == 2) { - if (total == jvmCount * threadCount * threadLoops) { - outMetricLine(testName, "VerifiedOK"); - } else { - outMetricLine(testName, "VerifiedFail"); - } - } else { - if (total == 0) { - outMetricLine(testName, "VerifiedOK"); - } else { - outMetricLine(testName, "VerifiedFail"); - } - } - } - - /** - * Clear context. - * - * @param testName the test name - * @throws ContextException the context exception - */ - private void clearContext(final String testName) throws ContextException { - contextDistributor.clear(); - contextDistributor = null; - - outMetricLine(testName, "Cleared"); - } - - /** - * Out metric line. - * - * @param testName the test name - * @param testPhase the test phase - */ - public void outMetricLine(final String testName, final String testPhase) { - System.out.println("ContextMetrics," + dateFormat.format(new Date()) + "," + System.currentTimeMillis() + "," - + testLabel + "," + testName + "," + testPhase + "," + jvmCount + "," + threadCount + "," + threadLoops - + "," + longArraySize + "," + lockType + "," + total); - } -} diff --git a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java b/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java deleted file mode 100644 index ed81e39a1..000000000 --- a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java +++ /dev/null @@ -1,212 +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.plugins.context.metrics; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.Arrays; - -import org.onap.policy.apex.context.ContextAlbum; -import org.onap.policy.apex.context.Distributor; -import org.onap.policy.apex.context.impl.distribution.DistributorFactory; -import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory; -import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.model.basicmodel.service.AbstractParameters; -import org.onap.policy.apex.model.basicmodel.service.ParameterService; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel; -import org.onap.policy.apex.model.utilities.Assertions; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.JsonSyntaxException; - -/** - * The Class ConcurrentContextMetricsJVM rins in its own JVM to test concurrent context updates and - * lockings across JVMs. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public final class ConcurrentContextMetricsJVM { - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsJVM.class); - - private static final int NUM_ARGS = 6; - private static final int ARG_JVM_NO = 1; - private static final int ARG_THREAD_COUNT = 2; - private static final int ARG_ITERATIONS = 3; - private static final int ARG_ARRAY_SIZE = 4; - private static final int ARG_LOCK_TYPE = 5; - - private static final int WAIT_10_MS = 10; - - /** - * The Constructor for this class. - * - * @param testType the test type - * @param jvmNo the jvm no - * @param threadCount the thread count - * @param threadLoops the thread loops - * @param longArraySize the long array size - * @param lockType the lock type - * @throws ApexException the apex exception - * @throws IOException the IO exception - */ - private ConcurrentContextMetricsJVM(final String testType, final int jvmNo, final int threadCount, - final int threadLoops, final int longArraySize, final int lockType) throws ApexException, IOException { - LOGGER.debug("starting JVMs and threads . . ."); - - final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); - - // Set up the distributor for this JVM - final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1"); - final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey); - - final AxArtifactKey[] usedArtifactStackArray = {new AxArtifactKey("testC-top_" + jvmNo, "0.0.1"), - new AxArtifactKey("testC-next_" + jvmNo, "0.0.1"), new AxArtifactKey("testC-bot_" + jvmNo, "0.0.1")}; - - final AxContextModel testAxContextModel = TestContextAlbumFactory.createLongContextModel(); - contextDistributor.registerModel(testAxContextModel); - final ContextAlbum testContextAlbum = - contextDistributor.createContextAlbum(new AxArtifactKey("LongSameTypeContextAlbum", "0.0.1")); - Assertions.argumentNotNull(testContextAlbum, "testContextAlbum may not be null"); - testContextAlbum.setUserArtifactStack(usedArtifactStackArray); - - final Thread[] threadArray = new Thread[threadCount]; - - for (int t = 0; t < threadCount; t++) { - threadArray[t] = - new Thread(new ConcurrentContextMetricsThread(jvmNo, t, threadLoops, longArraySize, lockType)); - threadArray[t].setName(testType + ":ConcurrentContextMetricsThread_" + jvmNo + "_" + t); - threadArray[t].start(); - LOGGER.debug("started thread " + threadArray[t].getName()); - } - - System.out.println("ReadyToGo"); - while (true) { - final String goLine = bufferedReader.readLine(); - if (!goLine.trim().equals("OffYouGo")) { - throw new IOException("Expected OffYouGo"); - } - break; - } - - boolean allFinished; - do { - allFinished = true; - for (int t = 0; t < threadCount; t++) { - if (threadArray[t].isAlive()) { - allFinished = false; - ThreadUtilities.sleep(WAIT_10_MS); - break; - } - } - } while (!allFinished); - - System.out.println("AllFinished"); - while (true) { - final String goLine = bufferedReader.readLine(); - if (!goLine.trim().equals("FinishItOut")) { - throw new IOException("Expected FinishItOut"); - } - break; - } - - LOGGER.debug("threads finished"); - contextDistributor.clear(); - } - - /** - * The main method. - * - * @param args the args - * @throws JsonSyntaxException the json syntax exception - * @throws ClassNotFoundException the class not found exception - */ - @SuppressWarnings("unchecked") - public static void main(final String[] args) throws JsonSyntaxException, ClassNotFoundException { - if (args.length < NUM_ARGS || (args.length % 2 != 0)) { - LOGGER.error("invalid arguments: " + Arrays.toString(args)); - LOGGER.error( - "usage: ConcurrentContextMetricsJVM testLabel jvmNo threadCount threadLoops longArraySize lockType [parameterKey parameterJson].... "); - return; - } - - int jvmNo = -1; - int threadCount = -1; - int threadLoops = -1; - int longArraySize = -1; - int lockType = -1; - - try { - jvmNo = Integer.parseInt(args[ARG_JVM_NO]); - } catch (final Exception e) { - LOGGER.error("invalid argument jvmNo", e); - return; - } - - try { - threadCount = Integer.parseInt(args[ARG_THREAD_COUNT]); - } catch (final Exception e) { - LOGGER.error("invalid argument threadCount", e); - return; - } - - try { - threadLoops = Integer.parseInt(args[ARG_ITERATIONS]); - } catch (final Exception e) { - LOGGER.error("invalid argument threadLoops", e); - return; - } - - try { - longArraySize = Integer.parseInt(args[ARG_ARRAY_SIZE]); - } catch (final Exception e) { - LOGGER.error("invalid argument longArraySize", e); - return; - } - - try { - lockType = Integer.parseInt(args[ARG_LOCK_TYPE]); - } catch (final Exception e) { - LOGGER.error("invalid argument lockType", e); - return; - } - - for (int p = NUM_ARGS; p < args.length - 1; p += 2) { - @SuppressWarnings("rawtypes") - final Class parametersClass = Class.forName(args[p]); - final AbstractParameters parameters = - (AbstractParameters) new Gson().fromJson(args[p + 1], parametersClass); - ParameterService.registerParameters(parametersClass, parameters); - } - - try { - new ConcurrentContextMetricsJVM(args[0], jvmNo, threadCount, threadLoops, longArraySize, lockType); - } catch (final Exception e) { - LOGGER.error("error running test in JVM", e); - return; - } - } -} diff --git a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java b/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java deleted file mode 100644 index 64bc0cab6..000000000 --- a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java +++ /dev/null @@ -1,187 +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.plugins.context.metrics; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; - -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.service.AbstractParameters; -import org.onap.policy.apex.model.basicmodel.service.ParameterService; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -import com.google.gson.Gson; - -/** - * The Class ConcurrentContextMetricsJVMThread gets metrics for concurrent use of context. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public class ConcurrentContextMetricsJVMThread implements Runnable { - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsJVMThread.class); - - private final String testType; - private final int jvm; - private final int threadCount; - private final int threadLoops; - private final int longArraySize; - private final int lockType; - - private boolean readyToGo = false; - private boolean allFinished = false; - - private PrintWriter processWriter; - - /** - * The Constructor. - * - * @param testType the test type - * @param jvm the jvm - * @param threadCount the thread count - * @param threadLoops the thread loops - * @param longArraySize the long array size - * @param lockType the lock type - * @throws ApexException the apex exception - */ - public ConcurrentContextMetricsJVMThread(final String testType, final int jvm, final int threadCount, - final int threadLoops, final int longArraySize, final int lockType) throws ApexException { - this.testType = testType; - this.jvm = jvm; - this.threadCount = threadCount; - this.threadLoops = threadLoops; - this.longArraySize = longArraySize; - this.lockType = lockType; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - final List commandList = new ArrayList<>(); - commandList.add(System.getProperty("java.home") + System.getProperty("file.separator") + "bin" - + System.getProperty("file.separator") + "java"); - commandList.add("-cp"); - commandList.add(System.getProperty("java.class.path")); - for (final Entry property : System.getProperties().entrySet()) { - if (property.getKey().toString().startsWith("APEX") - || property.getKey().toString().equals("java.net.preferIPv4Stack") - || property.getKey().toString().equals("jgroups.bind_addr")) { - commandList.add("-D" + property.getKey().toString() + "=" + property.getValue().toString()); - } - } - commandList.add("org.onap.policy.apex.plugins.context.metrics.ConcurrentContextMetricsJVM"); - commandList.add(testType); - commandList.add(new Integer(jvm).toString()); - commandList.add(new Integer(threadCount).toString()); - commandList.add(new Integer(threadLoops).toString()); - commandList.add(new Integer(longArraySize).toString()); - commandList.add(new Integer(lockType).toString()); - - for (final Entry, AbstractParameters> parameterServiceEntry : ParameterService.getAll()) { - commandList.add(parameterServiceEntry.getKey().getCanonicalName()); - commandList.add(new Gson().toJson(parameterServiceEntry.getValue())); - } - - LOGGER.info("starting JVM " + jvm); - - // Run the JVM - final ProcessBuilder processBuilder = new ProcessBuilder(commandList); - processBuilder.redirectErrorStream(true); - Process process; - - try { - process = processBuilder.start(); - - final InputStream is = process.getInputStream(); - processWriter = new PrintWriter(process.getOutputStream()); - final InputStreamReader isr = new InputStreamReader(is); - final BufferedReader br = new BufferedReader(isr); - - String line; - - LOGGER.info("JVM Output for command " + commandList + "\n"); - while ((line = br.readLine()) != null) { - LOGGER.info(line); - - if (line.trim().equals("ReadyToGo")) { - readyToGo = true; - } else if (line.trim().equals("AllFinished")) { - allFinished = true; - } - } - - // Wait to get exit value - try { - final int exitValue = process.waitFor(); - LOGGER.info("\n\nJVM " + jvm + " finished, exit value is " + exitValue); - } catch (final InterruptedException e) { - e.printStackTrace(); - } - } catch (final IOException e1) { - e1.printStackTrace(); - } - } - - /** - * Checks if is ready to go. - * - * @return true, if checks if is ready to go - */ - public boolean isReadyToGo() { - return readyToGo; - } - - /** - * Checks if is all finished. - * - * @return true, if checks if is all finished - */ - public boolean isAllFinished() { - return allFinished; - } - - /** - * Off you go. - */ - public void offYouGo() { - processWriter.println("OffYouGo"); - processWriter.flush(); - } - - /** - * Finish it out. - */ - public void finishItOut() { - processWriter.println("FinishItOut"); - processWriter.flush(); - } -} diff --git a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java b/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java deleted file mode 100644 index 2752536e9..000000000 --- a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java +++ /dev/null @@ -1,170 +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.plugins.context.metrics; - -import java.util.Random; - -import org.onap.policy.apex.context.ContextAlbum; -import org.onap.policy.apex.context.ContextException; -import org.onap.policy.apex.context.Distributor; -import org.onap.policy.apex.context.impl.distribution.DistributorFactory; -import org.onap.policy.apex.context.test.concepts.TestContextItem003; -import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The Class ConcurrentContextMetricsThread gets metrics for concurrent use of context. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public class ConcurrentContextMetricsThread implements Runnable { - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsThread.class); - private final Distributor contextDistributor; - private final int jvm; - private final int instance; - private final int threadLoops; - private final int longArraySize; - private final int lockType; - - /** - * The Constructor. - * - * @param jvm the jvm - * @param instance the instance - * @param threadLoops the thread loops - * @param longArraySize the long array size - * @param lockType the lock type - * @throws ApexException the apex exception - */ - public ConcurrentContextMetricsThread(final int jvm, final int instance, final int threadLoops, - final int longArraySize, final int lockType) throws ApexException { - this.jvm = jvm; - this.instance = instance; - this.threadLoops = threadLoops; - this.longArraySize = longArraySize; - this.lockType = lockType; - - final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor_" + jvm + "_" + instance, "0.0.1"); - contextDistributor = new DistributorFactory().getDistributor(distributorKey); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - LOGGER.info("running ConcurrentContextMetricsThread_" + jvm + "_" + instance + " . . ."); - - ContextAlbum lTypeAlbum = null; - try { - final AxContextModel axTestContextModel = TestContextAlbumFactory.createMultiAlbumsContextModel(); - contextDistributor.registerModel(axTestContextModel); - lTypeAlbum = contextDistributor.createContextAlbum(new AxArtifactKey("LTypeContextAlbum", "0.0.1")); - } catch (final Exception e) { - LOGGER.error("could not get the test context album", e); - LOGGER.error("failed ConcurrentContextMetricsThread_" + jvm + "_" + instance); - return; - } - - if (lTypeAlbum == null) { - LOGGER.error("could not find the test context album"); - LOGGER.error("failed ConcurrentContextMetricsThread_" + jvm + "_" + instance); - return; - } - - final AxArtifactKey[] usedArtifactStackArray = - {new AxArtifactKey("testCC-top", "0.0.1"), new AxArtifactKey("testCC-" + instance, "0.0.1")}; - - lTypeAlbum.setUserArtifactStack(usedArtifactStackArray); - - final Random rand = new Random(); - - for (int i = 0; i < threadLoops; i++) { - // Get the next random entry to use - final String nextLongKey = Integer.toString(rand.nextInt(longArraySize)); - - if (lockType == 0) { - final TestContextItem003 item = (TestContextItem003) lTypeAlbum.get(nextLongKey); - final long value = item.getLongValue(); - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("lock type=" + lockType + ", value=" + value); - } - continue; - } - - if (lockType == 1) { - try { - lTypeAlbum.lockForReading(nextLongKey); - } catch (final ContextException e) { - LOGGER.error("could not acquire read lock on context album, key=" + nextLongKey, e); - continue; - } - - final TestContextItem003 item = (TestContextItem003) lTypeAlbum.get(nextLongKey); - final long value = item.getLongValue(); - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("lock type=" + lockType + ", value=" + value); - } - - try { - lTypeAlbum.unlockForReading(nextLongKey); - } catch (final ContextException e) { - LOGGER.error("could not release read lock on context album, key=" + nextLongKey, e); - } - - continue; - } - - if (lockType == 2) { - try { - lTypeAlbum.lockForWriting(nextLongKey); - } catch (final ContextException e) { - LOGGER.error("could not acquire write lock on context album, key=" + nextLongKey, e); - continue; - } - - final TestContextItem003 item = (TestContextItem003) lTypeAlbum.get(nextLongKey); - long value = item.getLongValue(); - if (LOGGER.isTraceEnabled()) { - LOGGER.trace("lock type=" + lockType + ", value=" + value); - } - item.setLongValue(++value); - lTypeAlbum.put(nextLongKey, item); - - try { - lTypeAlbum.unlockForWriting(nextLongKey); - } catch (final ContextException e) { - LOGGER.error("could not release write lock on context album, key=" + nextLongKey, e); - } - continue; - } - } - - LOGGER.info("completed ConcurrentContextMetricsThread_" + jvm + "_" + instance); - } -} diff --git a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java b/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java deleted file mode 100644 index 5e916b6db..000000000 --- a/plugins/plugins-context/context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java +++ /dev/null @@ -1,27 +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========================================================= - */ - -/** - * Used to get metrics on the performance of Context Album performance for various types of - * distribution and locking mechanisms in APEX. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -package org.onap.policy.apex.plugins.context.metrics; diff --git a/plugins/plugins-context/context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java b/plugins/plugins-context/context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java deleted file mode 100644 index 5607f8711..000000000 --- a/plugins/plugins-context/context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java +++ /dev/null @@ -1,57 +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.plugins.context.metrics; - -import static org.junit.Assert.fail; - -import java.io.IOException; - -import org.apache.curator.test.TestingServer; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class TestMetrics { - // Zookeeper test server - TestingServer zkTestServer; - - @Before - public void beforeTest() throws Exception { - zkTestServer = new TestingServer(62181); - } - - @After - public void afterTest() throws IOException { - zkTestServer.stop(); - } - - @Test - public void getSingleJVMMetrics() { - final String[] args = {"singleJVMTestNL", "1", "32", "1000", "65536", "0", "localhost:62181", "false"}; - - try { - ConcurrentContextMetrics.main(args); - } catch (final Exception e) { - fail("Metrics test failed"); - e.printStackTrace(); - } - } -} diff --git a/plugins/plugins-context/context-metrics/src/test/resources/hazelcast/hazelcast.xml b/plugins/plugins-context/context-metrics/src/test/resources/hazelcast/hazelcast.xml deleted file mode 100644 index 84da4951e..000000000 --- a/plugins/plugins-context/context-metrics/src/test/resources/hazelcast/hazelcast.xml +++ /dev/null @@ -1,643 +0,0 @@ - - - - - - HazelcastGroup3.0EVAL - password3.0EVAL - - - 5706 - - - 224.2.2.10 - 54327 - - - 10.0.0.0 - - - - - - 127.0.0.* - - - - true - slf4j - - false - 60 - - - 16 - - - - 100000 - - - - - 1 - - NONE - - 0 - - 25 - - - - 1 - - LRU - - 1000000 - - 5 - - - 0 - - - - - - - - 1 - - LRU - - 1000000 - - 5 - - - 7200 - - - - - - - 1 - - LRU - - 1000000 - - 5 - - - 3600 - - - - - - - - - 1 - - LRU - - 1000000 - - 5 - - - 7200 - - - - - - - - - - 1 - - - true - - LRU - - 3000000 - - 5 - - - 7200 - - - - - - - - - - - 2 - - NONE - - 10000000 - - 0 - - - - 0 - - - - - - - - - - 0 - - - 0 - - - NONE - - - 2000 - - - true - - - - - - - - - - 1 - - NONE - - 10000000 - - 0 - - - - 60 - - - - - - - 2 - - 0 - - - - NONE - - 1000 - - - - 0 - - - - - 2 - - 0 - - - - NONE - - 10000 - - - 0 - - - - - - - 2 - - NONE - - 10000000 - - 0 - - - - 0 - - - - - - - - - - 2 - - NONE - - 10000000 - - 0 - - - - 0 - - - - - - - - - - - 1 - - - true - - LRU - - 3000000 - - 5 - - - 7200 - - - - - - - - - - 100000 - - - - - 0 - - - - - 2 - NONE - 50 - 0 - 0 - - - - - 0 - 100000 - - - - - 3 - - true - - NONE - - 1000 - - 0 - - - - - 0 - - - - 3 - - true - - NONE - - 1000 - - 0 - - - - - 0 - - - - 100000 - - - - - 1 - NONE - 0 - - - diff --git a/plugins/plugins-context/context-metrics/src/test/resources/infinispan/infinispan.xml b/plugins/plugins-context/context-metrics/src/test/resources/infinispan/infinispan.xml deleted file mode 100644 index a8541333e..000000000 --- a/plugins/plugins-context/context-metrics/src/test/resources/infinispan/infinispan.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/plugins-context/plugins-context-test/pom.xml b/plugins/plugins-context/plugins-context-test/pom.xml deleted file mode 100644 index 7239abe66..000000000 --- a/plugins/plugins-context/plugins-context-test/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - 4.0.0 - - org.onap.policy.apex-pdp.plugins.plugins-context - plugins-context - 2.0.0-SNAPSHOT - - - plugins-context-test - ${project.artifactId} - [${project.parent.artifactId}] module to run context tests using various plugins - - - - org.onap.policy.apex-pdp.core - core-infrastructure - ${project.version} - test - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution - context-distribution-hazelcast - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution - context-distribution-infinispan - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-locking - context-locking-curator - ${project.version} - - - org.onap.policy.apex-pdp.plugins.plugins-context.context-locking - context-locking-hazelcast - ${project.version} - - - org.onap.policy.apex-pdp.context - context-test - ${project.version} - test - - - org.apache.curator - curator-test - 4.0.0 - test - - - log4j - log4j - - - - - - - - - org.apache.maven.plugins - maven-site-plugin - - true - true - - - - org.apache.maven.plugins - maven-surefire-plugin - - always - - - - - \ No newline at end of file diff --git a/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/HazelcastContextInjection.java b/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/HazelcastContextInjection.java deleted file mode 100644 index 4c21103c3..000000000 --- a/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/HazelcastContextInjection.java +++ /dev/null @@ -1,162 +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.plugins.context.test; - -import java.util.Map.Entry; -import java.util.Random; - -import org.onap.policy.apex.context.ContextAlbum; -import org.onap.policy.apex.context.ContextException; -import org.onap.policy.apex.context.Distributor; -import org.onap.policy.apex.context.impl.distribution.DistributorFactory; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation; -import org.onap.policy.apex.model.basicmodel.service.ModelService; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema; -import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas; - -/** - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public final class HazelcastContextInjection { - private static final int ONE_SECOND = 1000; - private static final int SIXTY_SECONDS = 60; - private static final int MAX_INT_10000 = 10000; - - /** - * Default constructor is private to avoid subclassing. - */ - private HazelcastContextInjection() {} - - /** - * The main method. - * - * @param args the arguments to the method - * @throws ContextException exceptions thrown on context injection - */ - public static void main(final String[] args) throws ContextException { - // For convenience, I created model programmatically, it can of course be read in from a - // policy model - final AxContextModel contextModel = createContextModel(); - - // The model must be registered in the model service. - ModelService.registerModel(AxContextSchemas.class, contextModel.getSchemas()); - ModelService.registerModel(AxContextAlbums.class, contextModel.getAlbums()); - - // Configure APex to use Hazelcast distribution and locking - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass("com.ericsson.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - contextParameters.getLockManagerParameters() - .setPluginClass("com.ericsson.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - - // Fire up our distribution - final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1"); - final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey); - contextDistributor.init(distributorKey); - - // Now, get a handle on the album - final ContextAlbum myContextAlbum = - contextDistributor.createContextAlbum(new AxArtifactKey("LongContextAlbum", "0.0.1")); - - final int jvmID = new Random().nextInt(MAX_INT_10000); - final String myLongKey = "MyLong_" + jvmID; - final String commonLongKey = "CommonLong"; - - // Put the long value for this JVM into the map - myContextAlbum.put(myLongKey, new Long(0L)); - - // Put the common long value to be used across JVMS in the map if its not htere already - myContextAlbum.lockForWriting(commonLongKey); - if (myContextAlbum.get(commonLongKey) == null) { - myContextAlbum.put(commonLongKey, new Long(0L)); - } - myContextAlbum.unlockForWriting(commonLongKey); - - // Run for 60 seconds to show multi JVM - for (int i = 0; i < SIXTY_SECONDS; i++) { - System.out.println("JVM " + jvmID + " iteration " + i); - - for (final Entry albumEntry : myContextAlbum.entrySet()) { - myContextAlbum.lockForReading(albumEntry.getKey()); - System.out.println(albumEntry.getKey() + "-->" + albumEntry.getValue()); - myContextAlbum.unlockForReading(albumEntry.getKey()); - } - System.out.println("old " + myLongKey + ": " + myContextAlbum.get(myLongKey)); - - myContextAlbum.lockForReading(commonLongKey); - System.out.println("old CommonLong: " + myContextAlbum.get(commonLongKey)); - myContextAlbum.unlockForReading(commonLongKey); - - Long myLong = (Long) myContextAlbum.get(myLongKey); - myLong++; - myContextAlbum.put(myLongKey, myLong); - - myContextAlbum.lockForWriting(commonLongKey); - Long commonLong = (Long) myContextAlbum.get(commonLongKey); - commonLong++; - myContextAlbum.put(commonLongKey, commonLong); - myContextAlbum.unlockForWriting(commonLongKey); - - System.out.println("new myLong: " + myContextAlbum.get(myLongKey)); - System.out.println("new commonLong: " + myContextAlbum.get(commonLongKey)); - - try { - Thread.sleep(ONE_SECOND); - } catch (final Exception e) { - e.printStackTrace(); - } - } - - contextDistributor.clear(); - } - - /** - * This method just creates a simple context model programatically. - * - * @return a context model - */ - public static AxContextModel createContextModel() { - final AxContextSchema longSchema = - new AxContextSchema(new AxArtifactKey("LongSchema", "0.0.1"), "Java", "java.lang.Long"); - - final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1")); - schemas.getSchemasMap().put(longSchema.getKey(), longSchema); - - final AxContextAlbum longAlbumDefinition = new AxContextAlbum(new AxArtifactKey("LongContextAlbum", "0.0.1"), - "APPLICATION", true, longSchema.getKey()); - - final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey("context", "0.0.1")); - albums.getAlbumsMap().put(longAlbumDefinition.getKey(), longAlbumDefinition); - - final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1")); - final AxContextModel contextModel = - new AxContextModel(new AxArtifactKey("LongContextModel", "0.0.1"), schemas, albums, keyInformation); - contextModel.setKeyInformation(keyInformation); - keyInformation.generateKeyInfo(contextModel); - - return contextModel; - } -} diff --git a/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/package-info.java b/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/package-info.java deleted file mode 100644 index eab36189d..000000000 --- a/plugins/plugins-context/plugins-context-test/src/main/java/org/onap/policy/apex/plugins/context/test/package-info.java +++ /dev/null @@ -1,26 +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========================================================= - */ - -/** - * Is used to inject context into context maps for test purposes. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -package org.onap.policy.apex.plugins.context.test; diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextAlbumUpdate.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextAlbumUpdate.java deleted file mode 100644 index c24ef40e4..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextAlbumUpdate.java +++ /dev/null @@ -1,94 +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.plugins.context.test.distribution; - -import java.io.IOException; - -import org.junit.After; -import org.junit.Test; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -import org.onap.policy.apex.context.test.distribution.ContextAlbumUpdate; - -public class TestContextAlbumUpdate { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(TestContextAlbumUpdate.class); - - @Test - public void testContextAlbumUpdateJVMLocalVarSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextAlbumUpdateJVMLocalVarSet test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - new ContextAlbumUpdate().testContextAlbumUpdate(); - - logger.debug("Ran testContextAlbumUpdateJVMLocalVarSet test"); - } - - @Test - public void testContextAlbumUpdateHazelcast() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextAlbumUpdateHazelcast test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - new ContextAlbumUpdate().testContextAlbumUpdate(); - - logger.debug("Ran testContextAlbumUpdateHazelcast test"); - } - - @Test - public void testContextAlbumUpdateInfinispan() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextAlbumUpdateInfinispan test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - new InfinispanDistributorParameters(); - - new ContextAlbumUpdate().testContextAlbumUpdate(); - - logger.debug("Ran testContextAlbumUpdateInfinispan test"); - } - - @Test - public void testContextAlbumUpdateJVMLocalVarNotSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextAlbumUpdateJVMLocalVarNotSet test . . ."); - - new ContextParameters(); - new ContextAlbumUpdate().testContextAlbumUpdate(); - - logger.debug("Ran testContextAlbumUpdateJVMLocalVarNotSet test"); - } - - /** - * Test context update cleardown. - */ - @After - public void testContextAlbumUpdateCleardown() {} -} diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextInstantiation.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextInstantiation.java deleted file mode 100644 index a13b798ef..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextInstantiation.java +++ /dev/null @@ -1,86 +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.plugins.context.test.distribution; - -import java.io.IOException; - -import org.junit.Test; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.context.test.distribution.ContextInstantiation; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -public class TestContextInstantiation { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(TestContextInstantiation.class); - - @Test - public void testContextInstantiationJVMLocalVarSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextInstantiationJVMLocalVarSet test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - new ContextInstantiation().testContextInstantiation(); - - logger.debug("Ran testContextInstantiationJVMLocalVarSet test"); - } - - @Test - public void testContextInstantiationHazelcast() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextInstantiationHazelcast test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - new ContextInstantiation().testContextInstantiation(); - - logger.debug("Ran testContextInstantiationHazelcast test"); - } - - @Test - public void testContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextInstantiationInfinispan test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - new InfinispanDistributorParameters(); - - new ContextInstantiation().testContextInstantiation(); - - logger.debug("Ran testContextInstantiationInfinispan test"); - } - - @Test - public void testContextInstantiationJVMLocalVarNotSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextInstantiationJVMLocalVarNotSet test . . ."); - - new ContextParameters(); - new ContextInstantiation().testContextInstantiation(); - - logger.debug("Ran testContextInstantiationJVMLocalVarNotSet test"); - } -} diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextUpdate.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextUpdate.java deleted file mode 100644 index 3abfd1873..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestContextUpdate.java +++ /dev/null @@ -1,94 +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.plugins.context.test.distribution; - -import java.io.IOException; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.context.test.distribution.ContextUpdate; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -public class TestContextUpdate { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(TestContextUpdate.class); - - @Before - public void beforeTest() {} - - @After - public void afterTest() {} - - @Test - public void testContextUpdateJVMLocalVarSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextUpdateJVMLocalVarSet test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - new ContextUpdate().testContextUpdate(); - - logger.debug("Ran testContextUpdateJVMLocalVarSet test"); - } - - @Test - public void testContextUpdateHazelcast() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextUpdateHazelcast test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - new ContextUpdate().testContextUpdate(); - - logger.debug("Ran testContextUpdateHazelcast test"); - } - - @Test - public void testContextUpdateInfinispan() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextUpdateInfinispan test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - new InfinispanDistributorParameters(); - - new ContextUpdate().testContextUpdate(); - - logger.debug("Ran testContextUpdateInfinispan test"); - } - - @Test - public void testContextUpdateJVMLocalVarNotSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testContextUpdateJVMLocalVarNotSet test . . ."); - - new ContextParameters(); - new ContextUpdate().testContextUpdate(); - - logger.debug("Ran testContextUpdateJVMLocalVarNotSet test"); - } -} diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestSequentialContextInstantiation.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestSequentialContextInstantiation.java deleted file mode 100644 index cc3f52015..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/distribution/TestSequentialContextInstantiation.java +++ /dev/null @@ -1,101 +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.plugins.context.test.distribution; - -import java.io.IOException; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.context.test.distribution.SequentialContextInstantiation; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The Class TestContextInstantiation. - * - * @author Sergey Sachkov (sergey.sachkov@ericsson.com) - */ -public class TestSequentialContextInstantiation { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(TestSequentialContextInstantiation.class); - - @Before - public void beforeTest() {} - - @After - public void afterTest() {} - - @Test - public void testSequentialContextInstantiationJVMLocalVarSet() - throws ApexModelException, IOException, ApexException { - logger.debug("Running testSequentialContextInstantiationJVMLocalVarSet test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - new SequentialContextInstantiation().testSequentialContextInstantiation(); - - logger.debug("Ran testSequentialContextInstantiationJVMLocalVarSet test"); - } - - @Test - public void testSequentialContextInstantiationHazelcast() throws ApexModelException, IOException, ApexException { - logger.debug("Running testSequentialContextInstantiationHazelcast test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - new SequentialContextInstantiation().testSequentialContextInstantiation(); - - logger.debug("Ran testSequentialContextInstantiationHazelcast test"); - } - - @Test - public void testSequentialContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException { - logger.debug("Running testSequentialContextInstantiationInfinispan test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - new InfinispanDistributorParameters(); - - new SequentialContextInstantiation().testSequentialContextInstantiation(); - - logger.debug("Ran testSequentialContextInstantiationInfinispan test"); - } - - @Test - public void testSequentialContextInstantiationJVMLocalVarNotSet() - throws ApexModelException, IOException, ApexException { - logger.debug("Running testSequentialContextInstantiationJVMLocalVarNotSet test . . ."); - - new ContextParameters(); - new SequentialContextInstantiation().testSequentialContextInstantiation(); - - logger.debug("Ran testSequentialContextInstantiationJVMLocalVarNotSet test"); - } -} diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/CuratorManagerTest.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/CuratorManagerTest.java deleted file mode 100644 index 0b9d60673..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/CuratorManagerTest.java +++ /dev/null @@ -1,99 +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.plugins.context.test.locking; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; - -import java.io.IOException; - -import org.apache.curator.test.TestingServer; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.apex.context.ContextException; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager; -import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManagerParameters; - -public class CuratorManagerTest { - // Zookeeper test server - TestingServer zkTestServer; - - @Before - public void beforeTest() throws Exception { - zkTestServer = new TestingServer(62181); - } - - @After - public void afterTest() throws IOException { - zkTestServer.stop(); - } - - @Test - public void testCuratorManagerConfigProperty() { - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.setLockManagerParameters(new CuratorLockManagerParameters()); - - ((CuratorLockManagerParameters) contextParameters.getLockManagerParameters()).setZookeeperAddress(null); - - try { - final CuratorLockManager curatorManager = new CuratorLockManager(); - curatorManager.init(new AxArtifactKey()); - assertNull(curatorManager); - } catch (final ContextException e) { - assertEquals(e.getMessage(), - "could not set up Curator locking, check if the curator Zookeeper address parameter is set correctly"); - } - - ((CuratorLockManagerParameters) contextParameters.getLockManagerParameters()).setZookeeperAddress("zooby"); - - try { - final CuratorLockManager curatorManager = new CuratorLockManager(); - curatorManager.init(new AxArtifactKey()); - fail("Curator manager test should fail"); - } catch (final ContextException e) { - assertEquals(e.getMessage(), - "could not connect to Zookeeper server at \"zooby\", see error log for details"); - } - - ((CuratorLockManagerParameters) contextParameters.getLockManagerParameters()) - .setZookeeperAddress("localhost:62181"); - - try { - final CuratorLockManager curatorManager0 = new CuratorLockManager(); - curatorManager0.init(new AxArtifactKey()); - assertNotNull(curatorManager0); - - final CuratorLockManager curatorManager1 = new CuratorLockManager(); - curatorManager1.init(new AxArtifactKey()); - assertNotNull(curatorManager1); - - curatorManager0.shutdown(); - curatorManager1.shutdown(); - } catch (final ContextException e) { - assertNull(e); - } - } -} diff --git a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/TestConcurrentContext.java b/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/TestConcurrentContext.java deleted file mode 100644 index e02009a55..000000000 --- a/plugins/plugins-context/plugins-context-test/src/test/java/org/onap/policy/apex/plugins/context/test/locking/TestConcurrentContext.java +++ /dev/null @@ -1,313 +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.plugins.context.test.locking; - -import static org.junit.Assert.assertEquals; - -import java.io.File; -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.util.Collections; -import java.util.Enumeration; -import java.util.TreeSet; - -import org.apache.curator.shaded.com.google.common.io.Files; -import org.apache.zookeeper.server.NIOServerCnxnFactory; -import org.apache.zookeeper.server.ZooKeeperServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.onap.policy.apex.context.parameters.ContextParameters; -import org.onap.policy.apex.context.parameters.DistributorParameters; -import org.onap.policy.apex.context.parameters.LockManagerParameters; -import org.onap.policy.apex.context.test.locking.ConcurrentContext; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.handling.ApexModelException; -import org.onap.policy.apex.model.basicmodel.service.ParameterService; -import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters; -import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManagerParameters; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -import com.hazelcast.config.Config; - -/** - * The Class TestConcurrentContext tests concurrent use of context. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public class TestConcurrentContext { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(TestConcurrentContext.class); - - // Test parameters - private static final int ZOOKEEPER_START_PORT = 62181; - private static final int TEST_JVM_COUNT_SINGLE_JVM = 1; - private static final int TEST_JVM_COUNT_MULTI_JVM = 3; - private static final int TEST_THREAD_COUNT_SINGLE_JVM = 64; - private static final int TEST_THREAD_COUNT_MULTI_JVM = 20; - private static final int TEST_THREAD_LOOPS = 100; - - private NIOServerCnxnFactory zookeeperFactory; - - // We need to increment the Zookeeper port because sometimes the port is not released at the end - // of the test for a few seconds. - private static int nextZookeeperPort = ZOOKEEPER_START_PORT; - private int zookeeperPort; - - @BeforeClass - public static void configure() throws Exception { - System.setProperty("java.net.preferIPv4Stack", "true"); - System.setProperty("hazelcast.config", "src/test/resources/hazelcast/hazelcast.xml"); - - // The JGroups IP address must be set to a real (not loopback) IP address for Infinispan to - // work. IN order to ensure that all - // the JVMs in a test pick up the same IP address, this function sets the address to be the - // first non-loopback IPv4 address - // on a host - final TreeSet ipAddressSet = new TreeSet(); - - final Enumeration nets = NetworkInterface.getNetworkInterfaces(); - for (final NetworkInterface netint : Collections.list(nets)) { - final Enumeration inetAddresses = netint.getInetAddresses(); - for (final InetAddress inetAddress : Collections.list(inetAddresses)) { - // Look for real IPv4 internet addresses - if (!inetAddress.isLoopbackAddress() && inetAddress.getAddress().length == 4) { - ipAddressSet.add(inetAddress.getHostAddress()); - } - } - } - - if (ipAddressSet.size() == 0) { - throw new Exception("cound not find real IP address for test"); - } - System.out.println("For Infinispan, setting jgroups.tcp.address to: " + ipAddressSet.first()); - System.setProperty("jgroups.tcp.address", ipAddressSet.first()); - - final Config config = new Config(); - config.getNetworkConfig().setPublicAddress(ipAddressSet.first()); - config.getNetworkConfig().getInterfaces().addInterface(ipAddressSet.first()); - } - - @AfterClass - public static void teardown() throws IOException {} - - private void startZookeeperServer() throws IOException, InterruptedException { - final File zookeeperDirectory = Files.createTempDir(); - - zookeeperPort = nextZookeeperPort++; - - final ZooKeeperServer server = new ZooKeeperServer(zookeeperDirectory, zookeeperDirectory, 5000); - zookeeperFactory = new NIOServerCnxnFactory(); - zookeeperFactory.configure(new InetSocketAddress(zookeeperPort), 100); - - zookeeperFactory.startup(server); - } - - private void stopZookeeperServer() { - zookeeperFactory.shutdown(); - } - - @Test - public void testConcurrentContextJVMLocalVarSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextJVMLocalVarSet test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.context.impl.locking.jvmlocal.JVMLocalLockManager"); - final long result = new ConcurrentContext().testConcurrentContext("JVMLocalVarSet", TEST_JVM_COUNT_SINGLE_JVM, - TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS, result); - - logger.debug("Ran testConcurrentContextJVMLocalVarSet test"); - } - - @Test - public void testConcurrentContextJVMLocalNoVarSet() throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextJVMLocalNoVarSet test . . ."); - - new ContextParameters(); - final long result = new ConcurrentContext().testConcurrentContext("JVMLocalNoVarSet", TEST_JVM_COUNT_SINGLE_JVM, - TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS, result); - - logger.debug("Ran testConcurrentContextJVMLocalNoVarSet test"); - } - - @Test - public void testConcurrentContextMultiJVMNoLock() throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextMultiJVMNoLock test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass("org.onap.policy.apex.context.impl.distribution.jvmlocal.JVMLocalDistributor"); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.context.impl.locking.jvmlocal.JVMLocalLockManager"); - - final long result = new ConcurrentContext().testConcurrentContext("testConcurrentContextMultiJVMNoLock", - TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS); - - // No concurrent map so result will be zero - assertEquals(0, result); - - logger.debug("Ran testConcurrentContextMultiJVMNoLock test"); - } - - @Test - public void testConcurrentContextHazelcastLock() throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextHazelcastLock test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - final long result = new ConcurrentContext().testConcurrentContext("HazelcastLock", TEST_JVM_COUNT_SINGLE_JVM, - TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS, result); - logger.debug("Ran testConcurrentContextHazelcastLock test"); - } - - @Test - public void testConcurrentContextCuratorLock() - throws ApexModelException, IOException, ApexException, InterruptedException { - logger.debug("Running testConcurrentContextCuratorLock test . . ."); - - startZookeeperServer(); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters() - .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - curatorParameters.setZookeeperAddress("127.0.0.1:" + zookeeperPort); - contextParameters.setLockManagerParameters(curatorParameters); - ParameterService.registerParameters(LockManagerParameters.class, curatorParameters); - - final long result = new ConcurrentContext().testConcurrentContext("CuratorLock", TEST_JVM_COUNT_SINGLE_JVM, - TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS, result); - - stopZookeeperServer(); - logger.debug("Ran testConcurrentContextCuratorLock test"); - } - - @Test - public void testConcurrentContextHazelcastMultiJVMHazelcastLock() - throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextHazelcastMultiJVMHazelcastLock test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - final long result = new ConcurrentContext().testConcurrentContext("HazelcastMultiHazelcastlock", - TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS, result); - logger.debug("Ran testConcurrentContextHazelcastMultiJVMHazelcastLock test"); - } - - @Test - public void testConcurrentContextInfinispanMultiJVMHazelcastlock() - throws ApexModelException, IOException, ApexException { - logger.debug("Running testConcurrentContextInfinispanMultiJVMHazelcastlock test . . ."); - - final ContextParameters contextParameters = new ContextParameters(); - final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters(); - infinispanParameters.setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - infinispanParameters.setConfigFile("infinispan/infinispan-context-test.xml"); - contextParameters.setDistributorParameters(infinispanParameters); - contextParameters.getLockManagerParameters() - .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager"); - - final long result = new ConcurrentContext().testConcurrentContext("InfinispanMultiHazelcastlock", - TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS, result); - logger.debug("Ran testConcurrentContextInfinispanMultiJVMHazelcastlock test"); - } - - @Test - public void testConcurrentContextInfinispanMultiJVMCuratorLock() - throws ApexModelException, IOException, ApexException, InterruptedException { - logger.debug("Running testConcurrentContextInfinispanMultiJVMCuratorLock test . . ."); - - startZookeeperServer(); - - final ContextParameters contextParameters = new ContextParameters(); - final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters(); - infinispanParameters.setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor"); - infinispanParameters.setConfigFile("infinispan/infinispan-context-test.xml"); - contextParameters.setDistributorParameters(infinispanParameters); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - curatorParameters.setZookeeperAddress("127.0.0.1:" + zookeeperPort); - contextParameters.setLockManagerParameters(curatorParameters); - ParameterService.registerParameters(LockManagerParameters.class, curatorParameters); - - final long result = new ConcurrentContext().testConcurrentContext("InfinispanMultiCuratorLock", - TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS, result); - - stopZookeeperServer(); - - logger.debug("Ran testConcurrentContextInfinispanMultiJVMCuratorLock test"); - } - - @Test - public void testConcurrentContextHazelcastMultiJVMCuratorLock() - throws ApexModelException, IOException, ApexException, InterruptedException { - logger.debug("Running testConcurrentContextHazelcastMultiJVMCuratorLock test . . ."); - - startZookeeperServer(); - - final ContextParameters contextParameters = new ContextParameters(); - contextParameters.getDistributorParameters().setPluginClass( - "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor"); - - final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters(); - curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager"); - curatorParameters.setZookeeperAddress("127.0.0.1:" + zookeeperPort); - contextParameters.setLockManagerParameters(curatorParameters); - ParameterService.registerParameters(LockManagerParameters.class, curatorParameters); - - final long result = new ConcurrentContext().testConcurrentContext("HazelcastMultiCuratorLock", - TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS); - - assertEquals(TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS, result); - - stopZookeeperServer(); - logger.debug("Ran testConcurrentContextHazelcastMultiJVMCuratorLock test"); - } -} diff --git a/plugins/plugins-context/pom.xml b/plugins/plugins-context/pom.xml index 7be78433f..8e3c72870 100644 --- a/plugins/plugins-context/pom.xml +++ b/plugins/plugins-context/pom.xml @@ -41,64 +41,11 @@ - - - apexDefault - - true - - - context-schema - context-distribution - context-locking - context-persistence - - - - apexTests - - - apexTests - - - - context-schema - context-distribution - context-locking - context-persistence - plugins-context-test - - - - apexMetrics - - - apexMetrics - - - - context-schema - context-distribution - context-locking - context-persistence - context-metrics - - - - apexAll - - - apexAll - - - - context-schema - context-distribution - context-locking - context-persistence - plugins-context-test - context-metrics - - - + + context-schema + context-distribution + context-locking + context-persistence + + \ No newline at end of file -- cgit 1.2.3-korg