diff options
7 files changed, 100 insertions, 82 deletions
diff --git a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/stringmessaging/WsStringMessageListener.java b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/stringmessaging/WsStringMessageListener.java index 0a5e147cc..fd8a3a365 100644 --- a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/stringmessaging/WsStringMessageListener.java +++ b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/stringmessaging/WsStringMessageListener.java @@ -25,6 +25,7 @@ package org.onap.policy.apex.core.infrastructure.messaging.stringmessaging; * * @author Liam Fallon (liam.fallon@ericsson.com) */ +@FunctionalInterface public interface WsStringMessageListener { /** diff --git a/examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java b/examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java index d60b04c00..32387d047 100644 --- a/examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java +++ b/examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java @@ -119,17 +119,7 @@ public class AutoLearnPolicyDecideTaskSelectionLogic { closestdowni = i; } } - if (closestupi == -1 || closestdowni == -1) { - return r; - } - if (closestupi == closestdowni) { - return closestupi; - } - if (Math.abs(closestdown - diff) > Math.abs(closestup - diff)) { - return closestupi; - } else { - return closestdowni; - } + return calculateReturnValue(diff, r, closestupi, closestdowni, closestup, closestdown); } /** @@ -154,4 +144,30 @@ public class AutoLearnPolicyDecideTaskSelectionLogic { autoLearn.setAvDiffs(Arrays.asList(avdiffs)); autoLearn.setCounts(Arrays.asList(counts)); } + + + /** + * Calculate the return value of the learning + * @param diff the difference + * @param r the random value + * @param closestupi closest to i upwards + * @param closestdowni closest to i downwards + * @param closestup closest up value + * @param closestdown closest down value + * @return the return value + */ + private int calculateReturnValue(final double diff, final int r, int closestupi, int closestdowni, double closestup, + double closestdown) { + if (closestupi == -1 || closestdowni == -1) { + return r; + } + if (closestupi == closestdowni) { + return closestupi; + } + if (Math.abs(closestdown - diff) > Math.abs(closestup - diff)) { + return closestupi; + } else { + return closestdowni; + } + } } diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexActivator.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexActivator.java index c39be64fc..08c0e6910 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexActivator.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/main/ApexActivator.java @@ -127,30 +127,7 @@ public class ApexActivator { unmarshaller.init(engineServiceHandler); } - // Set up unmarshaler/marshaler pairing for synchronized event handling. We only need to - // traverse the unmarshalers because the - // unmarshalers and marshalers are paired one to one uniquely so if we find a - // synchronized unmarshaler we'll also find its - // paired marshaler - for (final Entry<String, EventHandlerParameters> inputParameters : apexParameters.getEventInputParameters() - .entrySet()) { - final ApexEventUnmarshaller unmarshaller = unmarshallerMap.get(inputParameters.getKey()); - - // Pair up peered unmarshalers and marshalers - for (final EventHandlerPeeredMode peeredMode : EventHandlerPeeredMode.values()) { - // Check if the unmarshaler is synchronized with a marshaler - if (inputParameters.getValue().isPeeredMode(peeredMode)) { - // Find the unmarshaler and marshaler - final ApexEventMarshaller peeredMarshaler = - marshallerMap.get(inputParameters.getValue().getPeer(peeredMode)); - - // Connect the unmarshaler and marshaler - unmarshaller.connectMarshaler(peeredMode, peeredMarshaler); - } - } - // Now let's get events flowing - unmarshaller.start(); - } + setUpmarshalerPairings(); } catch (final Exception e) { LOGGER.debug("Apex engine failed to start as a service", e); throw new ApexActivatorException("Apex engine failed to start as a service", e); @@ -160,6 +137,35 @@ public class ApexActivator { } /** + * Set up unmarshaler/marshaler pairing for synchronized event handling. We only need to + * traverse the unmarshalers because the + * unmarshalers and marshalers are paired one to one uniquely so if we find a + * synchronized unmarshaler we'll also find its + * paired marshaler + */ + private void setUpmarshalerPairings() { + for (final Entry<String, EventHandlerParameters> inputParameters : apexParameters.getEventInputParameters() + .entrySet()) { + final ApexEventUnmarshaller unmarshaller = unmarshallerMap.get(inputParameters.getKey()); + + // Pair up peered unmarshalers and marshalers + for (final EventHandlerPeeredMode peeredMode : EventHandlerPeeredMode.values()) { + // Check if the unmarshaler is synchronized with a marshaler + if (inputParameters.getValue().isPeeredMode(peeredMode)) { + // Find the unmarshaler and marshaler + final ApexEventMarshaller peeredMarshaler = + marshallerMap.get(inputParameters.getValue().getPeer(peeredMode)); + + // Connect the unmarshaler and marshaler + unmarshaller.connectMarshaler(peeredMode, peeredMarshaler); + } + } + // Now let's get events flowing + unmarshaller.start(); + } + } + + /** * Terminate the Apex engine. * * @throws ApexException on termination errors diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/DefaultTaskLogic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/DefaultTaskLogic.java index 08ad008f4..e860da7c1 100644 --- a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/DefaultTaskLogic.java +++ b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/DefaultTaskLogic.java @@ -23,7 +23,6 @@ package org.onap.policy.apex.testsuites.integration.common.model.java; import java.util.Random; import org.onap.policy.apex.core.engine.executor.context.TaskExecutionContext; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; /** * The Class DefaultTask_Logic is default task logic in Java. diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/EvalTaskLogic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/EvalTaskLogic.java index 8ba4b879f..f4c4945aa 100644 --- a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/EvalTaskLogic.java +++ b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/testsuites/integration/common/model/java/EvalTaskLogic.java @@ -21,7 +21,6 @@ package org.onap.policy.apex.testsuites.integration.common.model.java; import org.onap.policy.apex.core.engine.executor.context.TaskExecutionContext; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; /** * The Class EvalTask_Logic is default evaluation task logic in Java. diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/testsuites/performance/context/metrics/ConcurrentContextMetrics.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/testsuites/performance/context/metrics/ConcurrentContextMetrics.java index c4e4de480..b0bfb1ce7 100644 --- a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/testsuites/performance/context/metrics/ConcurrentContextMetrics.java +++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/testsuites/performance/context/metrics/ConcurrentContextMetrics.java @@ -73,39 +73,6 @@ public class ConcurrentContextMetrics { private final int zookeeperPort; /** - * The main method. - * - * @param args the args - * @throws Exception the exception - */ - public static void main(final String[] args) throws Exception { - if (args.length != NUM_ARGS) { - String errorMessage = "Args: " + Arrays.toString(args) - + "\nusage: testLabel jvmCount threadCount threadLoops longArraySize lockType " - + "zookeeperAddress zookeeperPort zookeeperDirectory"; - LOGGER.info(errorMessage); - return; - } - - final ConfigrationProvider configrationProvider = new ConfigrationProviderImpl(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])); - - final ConcurrentContextMetrics concurrentContextMetrics = new ConcurrentContextMetrics(configrationProvider, - args[ARG_ZOOKEEPER_ADDRESS], Integer.valueOf(args[ARG_ZOOKEEPER_PORT]), - args[ARG_ZOOKEEPER_DIRECTORY]); - - concurrentContextMetrics.concurrentContextMetricsJvmLocal(); - concurrentContextMetrics.concurrentContextMetricsCurator(); - concurrentContextMetrics.concurrentContextMetricsHazelcast(); - concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJvmHazelcastLock(); - concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJvmHazelcastlock(); - concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJvmCuratorLock(); - concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJvmCuratorLock(); - } - - /** * Construct a concurrent context object. * * @param configrationProvider Configuration for the context metrics @@ -128,7 +95,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void concurrentContextMetricsJvmLocal() throws IOException, ApexException { + private void concurrentContextMetricsJvmLocal() throws ApexException { if (configrationProvider.getJvmCount() != 1) { return; } @@ -149,7 +116,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void concurrentContextMetricsHazelcast() throws IOException, ApexException { + private void concurrentContextMetricsHazelcast() throws ApexException { if (configrationProvider.getJvmCount() != 1) { return; } @@ -170,7 +137,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void concurrentContextMetricsCurator() throws IOException, ApexException { + private void concurrentContextMetricsCurator() throws ApexException { if (configrationProvider.getJvmCount() != 1) { return; } @@ -196,7 +163,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void concurrentContextMetricsHazelcastMultiJvmHazelcastLock() throws IOException, ApexException { + private void concurrentContextMetricsHazelcastMultiJvmHazelcastLock() throws ApexException { LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMHazelcastLock metrics . . ."); final ContextParameters contextParameters = new ContextParameters(); @@ -214,7 +181,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void concurrentContextMetricsInfinispanMultiJvmHazelcastlock() throws IOException, ApexException { + private void concurrentContextMetricsInfinispanMultiJvmHazelcastlock() throws ApexException { LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMHazelcastlock metrics . . ."); final ContextParameters contextParameters = new ContextParameters(); @@ -238,7 +205,7 @@ public class ConcurrentContextMetrics { * @throws InterruptedException on interrupts */ private void concurrentContextMetricsInfinispanMultiJvmCuratorLock() - throws IOException, ApexException, InterruptedException { + throws ApexException { LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMCuratorLock metrics . . ."); @@ -273,7 +240,7 @@ public class ConcurrentContextMetrics { * @throws InterruptedException on interrupts */ private void concurrentContextMetricsHazelcastMultiJvmCuratorLock() - throws IOException, ApexException, InterruptedException { + throws ApexException { LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMCuratorLock metrics . . ."); final ZooKeeperServerServiceProvider zooKeeperServerServiceProvider = new ZooKeeperServerServiceProvider( @@ -304,7 +271,7 @@ public class ConcurrentContextMetrics { * @throws IOException the IO exception * @throws ApexException the apex exception */ - private void runConcurrentContextMetrics(final String testName) throws IOException, ApexException { + private void runConcurrentContextMetrics(final String testName) throws ApexException { final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider); LOGGER.info("Running {} ...", testName); @@ -320,4 +287,36 @@ public class ConcurrentContextMetrics { LOGGER.info("Completed {} ...", testName); } + /** + * The main method. + * + * @param args the args + * @throws Exception the exception + */ + public static void main(final String[] args) throws Exception { + if (args.length != NUM_ARGS) { + String errorMessage = "Args: " + Arrays.toString(args) + + "\nusage: testLabel jvmCount threadCount threadLoops longArraySize lockType " + + "zookeeperAddress zookeeperPort zookeeperDirectory"; + LOGGER.info(errorMessage); + return; + } + + final ConfigrationProvider configrationProvider = new ConfigrationProviderImpl(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])); + + final ConcurrentContextMetrics concurrentContextMetrics = new ConcurrentContextMetrics(configrationProvider, + args[ARG_ZOOKEEPER_ADDRESS], Integer.valueOf(args[ARG_ZOOKEEPER_PORT]), + args[ARG_ZOOKEEPER_DIRECTORY]); + + concurrentContextMetrics.concurrentContextMetricsJvmLocal(); + concurrentContextMetrics.concurrentContextMetricsCurator(); + concurrentContextMetrics.concurrentContextMetricsHazelcast(); + concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJvmHazelcastLock(); + concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJvmHazelcastlock(); + concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJvmCuratorLock(); + concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJvmCuratorLock(); + } } diff --git a/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2event/Model2JsonEventSchema.java b/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2event/Model2JsonEventSchema.java index 86a826bd1..9041a8067 100644 --- a/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2event/Model2JsonEventSchema.java +++ b/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2event/Model2JsonEventSchema.java @@ -150,13 +150,11 @@ public class Model2JsonEventSchema { case FLOAT: case INT: case LONG: - case STRING: { + case STRING: return true; - } - default: { + default: return false; - } } } |