aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java41
-rw-r--r--auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java34
-rw-r--r--auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java8
-rw-r--r--auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java2
-rw-r--r--context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java55
-rw-r--r--context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java46
-rw-r--r--core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java2
-rw-r--r--core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java11
-rw-r--r--examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java41
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java11
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java61
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java29
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java48
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java154
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java301
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java97
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java135
-rw-r--r--model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java42
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java6
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java4
-rw-r--r--pom.xml7
-rw-r--r--testsuites/integration/integration-context-test/pom.xml74
-rw-r--r--testsuites/integration/integration-context-test/pom.xml.versionsBackup74
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/TestConcurrentContext.java507
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextAlbumUpdate.java121
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextInstantiation.java496
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java147
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/HazelcastContextDistributorTest.java135
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/InfinispanContextDistributorTest.java153
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java329
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/package-info.java28
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ArtifactKeyTestEntity.java146
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ReferenceKeyTestEntity.java146
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/package-info.java27
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/TestContextAlbumFactory.java216
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/package-info.java28
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/AlbumModifier.java43
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/LockType.java102
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/NoLockAlbumModifier.java52
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/ReadLockAlbumModifier.java67
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/SingleValueWriteLockAlbumModifier.java72
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/WriteLockAlbumModifier.java69
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/package-info.java26
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContext.java165
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvm.java231
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvmThread.java132
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextThread.java92
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/package-info.java28
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProvider.java145
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProviderImpl.java176
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/Constants.java79
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/IntegrationThreadFactory.java59
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/NetworkUtils.java65
-rw-r--r--testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ZooKeeperServerServiceProvider.java105
-rwxr-xr-xtestsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/package-info.java28
-rw-r--r--testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml63
-rw-r--r--testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-tcp.xml76
-rw-r--r--testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-udp.xml87
-rw-r--r--testsuites/integration/integration-context-test/src/test/resources/infinispan/infinispan-context-test.xml35
-rw-r--r--testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java25
-rw-r--r--testsuites/integration/integration-uservice-test/pom.xml1
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java4
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java4
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java6
-rw-r--r--testsuites/integration/pom.xml16
65 files changed, 526 insertions, 5289 deletions
diff --git a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java
index dfb3a3865..23820207f 100644
--- a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java
+++ b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2021-2022 Nordix Foundation.
+ * Modifications Copyright (C) 2021-2022, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -53,7 +53,7 @@ public class ApexModelHandler {
/**
* Create the Apex Model with the properties specified and load it from a file.
*
- * @param properties The properties of the Apex model
+ * @param properties The properties of the Apex model
* @param modelFileName The name of the model file to edit
*/
public ApexModelHandler(final Properties properties, final String modelFileName) {
@@ -72,13 +72,14 @@ public class ApexModelHandler {
/**
* Execute a command on the Apex model.
*
- * @param command The command to execute
+ * @param command The command to execute
* @param argumentValues Arguments of the command
- * @param writer A writer to which to write output
+ * @param writer A writer to which to write output
* @return the result of the executed command
*/
public Result executeCommand(final CommandLineCommand command,
- final SortedMap<String, CommandLineArgumentValue> argumentValues, final PrintWriter writer) {
+ final SortedMap<String, CommandLineArgumentValue> argumentValues,
+ final PrintWriter writer) {
// Get the method
final var apiMethod = getCommandMethod(command);
@@ -88,27 +89,26 @@ public class ApexModelHandler {
try {
final var returnObject = apiMethod.invoke(apexModel, parameterArray);
- if (returnObject instanceof ApexApiResult) {
- final ApexApiResult result = (ApexApiResult) returnObject;
+ if (returnObject instanceof ApexApiResult result) {
writer.println(result);
return result.getResult();
} else {
throw new CommandLineException(INVOCATION_OF_SPECIFIED_METHOD + command.getApiMethod()
- + FAILED_FOR_COMMAND + command.getName()
- + "\" the returned object is not an instance of ApexAPIResult");
+ + FAILED_FOR_COMMAND + command.getName()
+ + "\" the returned object is not an instance of ApexAPIResult");
}
} catch (IllegalAccessException | IllegalArgumentException e) {
writer.println(INVOCATION_OF_SPECIFIED_METHOD + command.getApiMethod() + FAILED_FOR_COMMAND
- + command.getName() + "\"");
+ + command.getName() + "\"");
e.printStackTrace(writer);
throw new CommandLineException(INVOCATION_OF_SPECIFIED_METHOD + command.getApiMethod() + FAILED_FOR_COMMAND
- + command.getName() + "\"", e);
+ + command.getName() + "\"", e);
} catch (final InvocationTargetException e) {
writer.println(INVOCATION_OF_SPECIFIED_METHOD + command.getApiMethod() + FAILED_FOR_COMMAND
- + command.getName() + "\"");
+ + command.getName() + "\"");
e.getCause().printStackTrace(writer);
throw new CommandLineException(INVOCATION_OF_SPECIFIED_METHOD + command.getApiMethod() + FAILED_FOR_COMMAND
- + command.getName() + "\"", e);
+ + command.getName() + "\"", e);
}
}
@@ -130,30 +130,31 @@ public class ApexModelHandler {
}
}
throw new CommandLineException("specified method \"" + command.getApiMethod()
- + "\" not found for command \"" + command.getName() + "\"");
+ + "\" not found for command \"" + command.getName() + "\"");
} catch (final ClassNotFoundException e) {
throw new CommandLineException("specified class \"" + command.getApiMethod() + "\" not found for command \""
- + command.getName() + "\"", e);
+ + command.getName() + "\"", e);
}
}
/**
* Get the arguments of the command as an ordered array of objects ready for the method.
*
- * @param command the command that invoked the method
+ * @param command the command that invoked the method
* @param argumentValues the argument values for the method
- * @param apiMethod the method itself
+ * @param apiMethod the method itself
* @return the argument list
*/
private Object[] getParameterArray(final CommandLineCommand command,
- final SortedMap<String, CommandLineArgumentValue> argumentValues, final Method apiMethod) {
+ final SortedMap<String, CommandLineArgumentValue> argumentValues,
+ final Method apiMethod) {
final var parameterArray = new Object[argumentValues.size()];
var item = 0;
try {
for (final Class<?> parametertype : apiMethod.getParameterTypes()) {
final String parameterValue = argumentValues.get(command.getArgumentList().get(item).getArgumentName())
- .getValue();
+ .getValue();
if (parametertype.equals(boolean.class)) {
parameterArray[item] = Boolean.valueOf(parameterValue);
@@ -164,7 +165,7 @@ public class ApexModelHandler {
}
} catch (final Exception e) {
throw new CommandLineException("number of argument mismatch on method \"" + command.getApiMethod()
- + "\" for command \"" + command.getName() + "\"", e);
+ + "\" for command \"" + command.getName() + "\"", e);
}
return parameterArray;
diff --git a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java
index fcbf571ca..2910c041e 100644
--- a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java
+++ b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2020-2021 Nordix Foundation.
+ * Modifications Copyright (C) 2020-2021, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -42,15 +42,15 @@ public class CommandLineParser {
*
* <p>Examples entity create name=hello description="description of hello" help entity list
*
- * @param line The line to parse
+ * @param line The line to parse
* @param logicBlock A block of logic code to be taken literally
* @return the string array list
*/
public List<String> parse(final String line, final String logicBlock) {
return checkFormat(
- mergeArguments(mergeEquals(splitOnEquals(
- stripAndSplitWords(mergeQuotes(splitOnChar(stripComments(line), '\"')))))),
- logicBlock);
+ mergeArguments(mergeEquals(splitOnEquals(
+ stripAndSplitWords(mergeQuotes(splitOnChar(stripComments(line), '\"')))))),
+ logicBlock);
}
/**
@@ -90,13 +90,13 @@ public class CommandLineParser {
/**
* This method merges the next set of quotes.
*
- * @param wordsSplitOnQuotes the words split on quotes
+ * @param wordsSplitOnQuotes the words split on quotes
* @param wordsWithQuotesMerged the merged words
- * @param wordIndex the current word index
+ * @param wordIndex the current word index
* @return the next word index
*/
private int mergeQuote(final ArrayList<String> wordsSplitOnQuotes, final ArrayList<String> wordsWithQuotesMerged,
- int wordIndex) {
+ int wordIndex) {
if ("\"".equals(wordsSplitOnQuotes.get(wordIndex))) {
var quotedWord = new StringBuilder(wordsSplitOnQuotes.get(wordIndex++));
@@ -167,9 +167,9 @@ public class CommandLineParser {
if ("=".equals(wordsSplitOnEquals.get(wordIndex))) {
if (wordIndex < wordsSplitOnEquals.size() - 1
- && !wordsSplitOnEquals.get(wordIndex + 1).startsWith("=")) {
+ && !wordsSplitOnEquals.get(wordIndex + 1).startsWith("=")) {
wordsWithEqualsMerged.add(
- wordsSplitOnEquals.get(wordIndex) + wordsSplitOnEquals.get(wordIndex + 1));
+ wordsSplitOnEquals.get(wordIndex) + wordsSplitOnEquals.get(wordIndex + 1));
wordIndex += 2;
} else {
wordsWithEqualsMerged.add(wordsSplitOnEquals.get(wordIndex++));
@@ -243,14 +243,14 @@ public class CommandLineParser {
* @param word the word to split
* @return the array of split words
*/
- private Collection<? extends String> stripAndSplitWord(final String word) {
+ private Collection<String> stripAndSplitWord(final String word) {
final ArrayList<String> strippedAndSplitWords = new ArrayList<>();
// Strip white space by replacing all white space with blanks and then removing leading
// and trailing blanks
String singleSpaceWord = word.replaceAll("\\s+", " ").trim();
- if (singleSpaceWord.length() == 0) {
+ if (singleSpaceWord.isEmpty()) {
return strippedAndSplitWords;
}
@@ -267,7 +267,7 @@ public class CommandLineParser {
* Dumpty had ""a "great" fall becomes [Humpty ],["],[Dumpty sat on the wall],["],[, Humpty Dumpty had ],["],["],a
* ["],[great],["],[ fall].
*
- * @param line the input line
+ * @param line the input line
* @param splitChar the split char
* @return the split array list
*/
@@ -300,7 +300,7 @@ public class CommandLineParser {
* This method checks that an array list containing a command is in the correct format.
*
* @param commandWords the command words
- * @param logicBlock A block of logic code to be taken literally
+ * @param logicBlock A block of logic code to be taken literally
* @return the checked array list
*/
private ArrayList<String> checkFormat(final ArrayList<String> commandWords, final String logicBlock) {
@@ -312,7 +312,7 @@ public class CommandLineParser {
// The first word must be alphanumeric, that is a command
if (!commandWords.get(0).matches("^[a-zA-Z0-9]*$")) {
throw new CommandLineException(
- "first command word is not alphanumeric or is not a command: " + commandWords.get(0));
+ "first command word is not alphanumeric or is not a command: " + commandWords.get(0));
}
// Now check that we have a sequence of commands at the beginning
@@ -330,12 +330,12 @@ public class CommandLineParser {
commandWords.set(currentWordPos, commandWords.get(currentWordPos) + logicBlock);
} else {
throw new CommandLineException(
- "command argument is not properly formed: " + commandWords.get(currentWordPos));
+ "command argument is not properly formed: " + commandWords.get(currentWordPos));
}
} else if (!commandWords.get(currentWordPos).matches("^[a-zA-Z0-9]+=[a-zA-Z0-9/\"].*$")) {
// Not a last command, or the last command, but there is no logic block - wrong pattern
throw new CommandLineException(
- "command argument is not properly formed: " + commandWords.get(currentWordPos));
+ "command argument is not properly formed: " + commandWords.get(currentWordPos));
}
}
diff --git a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java
index d407e5a4e..443727236 100644
--- a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java
+++ b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java
@@ -46,6 +46,8 @@ class FileMacroTest {
private File tempModelFile;
private File tempLogFile;
+ private static final String WHITESPACE_REGEX = "(\\s+){1,4}";
+
/**
* Creates the temp files.
*
@@ -101,11 +103,13 @@ class FileMacroTest {
final File outputLogFile = new File(tempLogFile.getCanonicalPath());
final String outputLogString = TextFileUtils.getTextFileAsString(outputLogFile.getCanonicalPath())
- .replace(Paths.get("").toAbsolutePath() + File.separator, "").replaceAll("\\s+", "");
+ .replace(Paths.get("").toAbsolutePath() + File.separator, "")
+ .replaceAll(WHITESPACE_REGEX, "");
// We compare the log to what we expect to get
final String outputLogCompareString = TextFileUtils
- .getTextFileAsString("src/test/resources/compare/FileMacro_Compare.log").replaceAll("\\s+", "");
+ .getTextFileAsString("src/test/resources/compare/FileMacro_Compare.log")
+ .replaceAll(WHITESPACE_REGEX, "");
// Check what we got is what we expected to get
assertEquals(outputLogCompareString, outputLogString);
diff --git a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java
index e30780ca0..982d5195e 100644
--- a/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java
+++ b/auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java
@@ -96,7 +96,7 @@ class LogicBlockTest {
writtenModel.getKeyInformation().getKeyInfoMap().clear();
compareModel.getKeyInformation().getKeyInfoMap().clear();
- assertEquals(writtenModel, compareModel);
+ assertEquals(compareModel, writtenModel);
}
/**
diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java
index e45c47952..096e68889 100644
--- a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java
+++ b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Set;
import lombok.EqualsAndHashCode;
import lombok.Getter;
+import lombok.NonNull;
import lombok.Setter;
import org.onap.policy.apex.context.ContextAlbum;
import org.onap.policy.apex.context.ContextException;
@@ -88,12 +89,12 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
* Constructor, instantiate the context album.
*
* @param albumDefinition The model definition of this context album
- * @param distributor The context distributor passed to us to distribute context across ContextAlbum instances
- * @param albumMap the album map
+ * @param distributor The context distributor passed to us to distribute context across ContextAlbum instances
+ * @param albumMap the album map
* @throws ContextException on errors creating context albums
*/
public ContextAlbumImpl(final AxContextAlbum albumDefinition, final Distributor distributor,
- final Map<String, Object> albumMap) throws ContextException {
+ final Map<String, Object> albumMap) throws ContextException {
Assertions.argumentNotNull(albumDefinition, "Context album definition may not be null");
Assertions.argumentNotNull(distributor, "Distributor may not be null");
Assertions.argumentNotNull(albumMap, "Album map may not be null");
@@ -109,7 +110,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
try {
// Get a schema helper to manage the translations between objects on the album map for this album
schemaHelper = new SchemaHelperFactory().createSchemaHelper(albumDefinition.getKey(),
- albumDefinition.getItemSchema());
+ albumDefinition.getItemSchema());
} catch (final ContextRuntimeException e) {
final var resultString = "could not initiate schema management for context album " + albumDefinition;
LOGGER.warn(resultString, e);
@@ -144,7 +145,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public void lockForReading(final String keyOnAlbum) throws ContextException {
distributor.lockForReading(albumDefinition.getKey(), keyOnAlbum);
monitor.monitorReadLock(albumDefinition.getKey(), albumDefinition.getItemSchema(), keyOnAlbum,
- userArtifactStack);
+ userArtifactStack);
}
/**
@@ -154,7 +155,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public void lockForWriting(final String keyOnAlbum) throws ContextException {
distributor.lockForWriting(albumDefinition.getKey(), keyOnAlbum);
monitor.monitorWriteLock(albumDefinition.getKey(), albumDefinition.getItemSchema(), keyOnAlbum,
- userArtifactStack);
+ userArtifactStack);
}
/**
@@ -164,7 +165,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public void unlockForReading(final String keyOnAlbum) throws ContextException {
distributor.unlockForReading(albumDefinition.getKey(), keyOnAlbum);
monitor.monitorReadUnlock(albumDefinition.getKey(), albumDefinition.getItemSchema(), keyOnAlbum,
- userArtifactStack);
+ userArtifactStack);
}
/**
@@ -174,7 +175,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public void unlockForWriting(final String keyOnAlbum) throws ContextException {
distributor.unlockForWriting(albumDefinition.getKey(), keyOnAlbum);
monitor.monitorWriteUnlock(albumDefinition.getKey(), albumDefinition.getItemSchema(), keyOnAlbum,
- userArtifactStack);
+ userArtifactStack);
}
/**
@@ -238,7 +239,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public Object get(final Object key) {
if (key == null) {
final var returnString =
- ALBUM + albumDefinition.getId() + "\" null keys are illegal on keys for get()";
+ ALBUM + albumDefinition.getId() + "\" null keys are illegal on keys for get()";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -250,7 +251,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
// Get the context value and monitor it
monitor.monitorGet(albumDefinition.getKey(), albumDefinition.getItemSchema(), key.toString(), item,
- userArtifactStack);
+ userArtifactStack);
return item;
}
@@ -273,7 +274,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
for (final Entry<String, Object> contextAlbumEntry : albumMap.entrySet()) {
final Object item = contextAlbumEntry.getValue();
monitor.monitorGet(albumDefinition.getKey(), albumDefinition.getItemSchema(), contextAlbumEntry.getKey(),
- item, userArtifactStack);
+ item, userArtifactStack);
valueList.add(contextAlbumEntry.getValue());
}
@@ -291,7 +292,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
for (final Entry<String, Object> contextAlbumEntry : albumMap.entrySet()) {
final Object item = contextAlbumEntry.getValue();
monitor.monitorGet(albumDefinition.getKey(), albumDefinition.getItemSchema(), contextAlbumEntry.getKey(),
- item, userArtifactStack);
+ item, userArtifactStack);
entrySet.add(new SimpleEntry<>(contextAlbumEntry.getKey(), contextAlbumEntry.getValue()));
}
@@ -305,21 +306,21 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public Object put(final String key, final Object incomingValue) {
if (key == null) {
final var returnString =
- ALBUM + albumDefinition.getId() + "\" null keys are illegal on keys for put()";
+ ALBUM + albumDefinition.getId() + "\" null keys are illegal on keys for put()";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
if (incomingValue == null) {
final var returnString = ALBUM + albumDefinition.getId() + "\" null values are illegal on key \""
- + key + "\" for put()";
+ + key + "\" for put()";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
if (!albumDefinition.isWritable()) {
final var returnString = ALBUM + albumDefinition.getId()
- + "\" put() not allowed on read only albums for key=\"" + key + "\", value=\"" + incomingValue;
+ + "\" put() not allowed on read only albums for key=\"" + key + "\", value=\"" + incomingValue;
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -332,18 +333,18 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
if (albumMap.containsKey(key)) {
// Update the value in the context item and in the context value map
monitor.monitorSet(albumDefinition.getKey(), albumDefinition.getItemSchema(), key, incomingValue,
- userArtifactStack);
+ userArtifactStack);
} else {
// Update the value in the context item and in the context value map
monitor.monitorInit(albumDefinition.getKey(), albumDefinition.getItemSchema(), key, incomingValue,
- userArtifactStack);
+ userArtifactStack);
}
// Put the translated value on the map and return the old map value
return albumMap.put(key, valueToPut);
} catch (final ContextRuntimeException e) {
final var returnString = "Failed to set context value for key \"" + key + "\" in album \""
- + albumDefinition.getId() + "\": " + e.getMessage();
+ + albumDefinition.getId() + "\": " + e.getMessage();
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString, e);
}
@@ -353,17 +354,17 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
* {@inheritDoc}.
*/
@Override
- public void putAll(final Map<? extends String, ? extends Object> incomingContextAlbum) {
+ public void putAll(@NonNull final Map<? extends String, ?> incomingContextAlbum) {
if (!albumDefinition.isWritable()) {
final var returnString =
- ALBUM + albumDefinition.getId() + "\" putAll() not allowed on read only albums";
+ ALBUM + albumDefinition.getId() + "\" putAll() not allowed on read only albums";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
// Sanity check on incoming context
Assertions.argumentOfClassNotNull(incomingContextAlbum, ContextRuntimeException.class,
- "cannot update context, context album is null");
+ "cannot update context, context album is null");
// Iterate over the incoming context
for (final Entry<String, Object> entry : albumMap.entrySet()) {
@@ -378,7 +379,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
}
// Put all the objects on the context album
- for (final Entry<? extends String, ? extends Object> incomingMapEntry : incomingContextAlbum.entrySet()) {
+ for (final Entry<? extends String, ?> incomingMapEntry : incomingContextAlbum.entrySet()) { // NOSONAR
// Put the entry on the map
this.put(incomingMapEntry.getKey(), incomingMapEntry.getValue());
}
@@ -391,7 +392,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public Object remove(final Object key) {
if (!albumDefinition.isWritable()) {
final var returnString = ALBUM + albumDefinition.getId()
- + "\" remove() not allowed on read only albums for key=\"" + key + "\"";
+ + "\" remove() not allowed on read only albums for key=\"" + key + "\"";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -404,7 +405,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
// Delete the item
final Object removedValue = albumMap.remove(key);
monitor.monitorDelete(albumDefinition.getKey(), albumDefinition.getItemSchema(), key.toString(), removedValue,
- userArtifactStack);
+ userArtifactStack);
// Return the value of the deleted item
return removedValue;
@@ -417,7 +418,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
public void clear() {
if (!albumDefinition.isWritable()) {
final var returnString =
- ALBUM + albumDefinition.getId() + "\" clear() not allowed on read only albums";
+ ALBUM + albumDefinition.getId() + "\" clear() not allowed on read only albums";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -426,7 +427,7 @@ public final class ContextAlbumImpl implements ContextAlbum, Comparable<ContextA
for (final Entry<String, Object> contextAlbumEntry : albumMap.entrySet()) {
final Object item = contextAlbumEntry.getValue();
monitor.monitorDelete(albumDefinition.getKey(), albumDefinition.getItemSchema(), contextAlbumEntry.getKey(),
- item, userArtifactStack);
+ item, userArtifactStack);
}
// Clear the map
diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java
index f601062bb..b1a1d36df 100644
--- a/context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java
+++ b/context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -49,7 +49,7 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
// Get a reference to the logger
private static final XLogger LOGGER = XLoggerFactory.getXLogger(JavaSchemaHelper.class);
- // This map defines the built in types in types in Java
+ // This map defines the built-in types in Java
// @formatter:off
private static final Map<String, Class<?>> BUILT_IN_MAP = new HashMap<>();
@@ -81,7 +81,7 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
} catch (final Exception e) {
String resultSting = userKey.getId() + ": class/type " + schema.getSchema() + " for context schema \""
- + schema.getId() + "\" not found.";
+ + schema.getId() + "\" not found.";
if (JavaSchemaHelper.BUILT_IN_MAP.get(javatype) != null) {
resultSting += " Primitive types are not supported. Use the appropriate Java boxing type instead.";
} else {
@@ -103,13 +103,13 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
if (getSchemaClass() == null) {
final var returnString =
- getUserKey().getId() + ": could not create an instance, schema class for the schema is null";
+ getUserKey().getId() + ": could not create an instance, schema class for the schema is null";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
- if (incomingObject instanceof JsonElement) {
- final var elementJsonString = getGson().toJson((JsonElement) incomingObject);
+ if (incomingObject instanceof JsonElement jsonObject) {
+ final var elementJsonString = getGson().toJson(jsonObject);
return getGson().fromJson(elementJsonString, this.getSchemaClass());
}
@@ -118,8 +118,8 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
}
final var returnString = getUserKey().getId() + ": the object \"" + incomingObject + "\" of type \""
- + incomingObject.getClass().getName()
- + "\" is not an instance of JsonObject and is not assignable to \"" + getSchemaClass().getName() + "\"";
+ + incomingObject.getClass().getName()
+ + "\" is not an instance of JsonObject and is not assignable to \"" + getSchemaClass().getName() + "\"";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -165,8 +165,8 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
return getGson().toJson(schemaObject);
} else {
final var returnString = getUserKey().getId() + ": object \"" + schemaObject.toString()
- + "\" of class \"" + schemaObject.getClass().getName() + "\" not compatible with class \""
- + getSchemaClass().getName() + "\"";
+ + "\" of class \"" + schemaObject.getClass().getName() + "\" not compatible with class \""
+ + getSchemaClass().getName() + "\"";
LOGGER.warn(returnString);
throw new ContextRuntimeException(returnString);
}
@@ -189,19 +189,19 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
*/
private Object numericConversion(final Object object) {
// Check if the incoming object is a number, if not do a string conversion
- if (object instanceof Number) {
+ if (object instanceof Number myNumber) {
if (getSchemaClass().isAssignableFrom(Byte.class)) {
- return ((Number) object).byteValue();
+ return myNumber.byteValue();
} else if (getSchemaClass().isAssignableFrom(Short.class)) {
- return ((Number) object).shortValue();
+ return myNumber.shortValue();
} else if (getSchemaClass().isAssignableFrom(Integer.class)) {
- return ((Number) object).intValue();
+ return myNumber.intValue();
} else if (getSchemaClass().isAssignableFrom(Long.class)) {
- return ((Number) object).longValue();
+ return myNumber.longValue();
} else if (getSchemaClass().isAssignableFrom(Float.class)) {
- return ((Number) object).floatValue();
+ return myNumber.floatValue();
} else if (getSchemaClass().isAssignableFrom(Double.class)) {
- return ((Number) object).doubleValue();
+ return myNumber.doubleValue();
}
}
@@ -222,8 +222,8 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
return stringConstructor.newInstance(object.toString());
} catch (final Exception e) {
final var returnString = getUserKey().getId() + ": object \"" + object.toString() + "\" of class \""
- + object.getClass().getName() + "\" not compatible with class \"" + getSchemaClass().getName()
- + "\"";
+ + object.getClass().getName() + "\" not compatible with class \"" + getSchemaClass().getName()
+ + "\"";
LOGGER.warn(returnString, e);
throw new ContextRuntimeException(returnString);
}
@@ -241,22 +241,22 @@ public class JavaSchemaHelper extends AbstractSchemaHelper {
var schemaParameters = (SchemaParameters) ParameterService.get(ContextParameterConstants.SCHEMA_GROUP_NAME);
JavaSchemaHelperParameters javaSchemaHelperParmeters =
- (JavaSchemaHelperParameters) schemaParameters.getSchemaHelperParameterMap().get("Java");
+ (JavaSchemaHelperParameters) schemaParameters.getSchemaHelperParameterMap().get("Java");
if (javaSchemaHelperParmeters == null) {
javaSchemaHelperParmeters = new JavaSchemaHelperParameters();
}
for (JavaSchemaHelperJsonAdapterParameters jsonAdapterEntry : javaSchemaHelperParmeters.getJsonAdapters()
- .values()) {
+ .values()) {
Object adapterObject;
try {
adapterObject = jsonAdapterEntry.getAdaptorClazz().getDeclaredConstructor().newInstance();
} catch (Exception e) {
final var returnString = getUserKey().getId() + ": instantiation of adapter class \""
- + jsonAdapterEntry.getAdaptorClass() + "\" to decode and encode class \""
- + jsonAdapterEntry.getAdaptedClass() + "\" failed: " + e.getMessage();
+ + jsonAdapterEntry.getAdaptorClass() + "\" to decode and encode class \""
+ + jsonAdapterEntry.getAdaptedClass() + "\" failed: " + e.getMessage();
LOGGER.warn(returnString, e);
throw new ContextRuntimeException(returnString);
}
diff --git a/core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java b/core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java
index 773923444..862c357be 100644
--- a/core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java
+++ b/core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java
@@ -385,7 +385,7 @@ public class ApexEngineImpl implements ApexEngine {
}
updateStatePrometheusMetric();
- String message = "execute(): triggered by event " + incomingEvent.toString();
+ String message = "execute(): triggered by event " + incomingEvent;
LOGGER.debug(message);
// By default, we return a null event on errors
diff --git a/core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java b/core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java
index cea505854..a9c3f68c5 100644
--- a/core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java
+++ b/core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java
@@ -3,7 +3,7 @@
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
- * Modifications Copyright (C) 2023 Nordix Foundation.
+ * Modifications Copyright (C) 2023-2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -68,16 +68,15 @@ public class ApplicationThreadFactory implements ThreadFactory {
/**
* Instantiates a new application thread factory with a specified thread priority.
*
- * @param nameLocal the name local
- * @param stackSize the stack size
+ * @param nameLocal the name local
+ * @param stackSize the stack size
* @param threadPriority the thread priority
*/
@SuppressWarnings({
"deprecation", "removal"
})
public ApplicationThreadFactory(final String nameLocal, final long stackSize, final int threadPriority) {
- @SuppressWarnings("removal")
- final var s = System.getSecurityManager();
+ @SuppressWarnings("removal") final var s = System.getSecurityManager();
group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
name = APPLICATION_NAME + nameLocal + HYPHEN + NEXT_POOL_NUMBER.getAndIncrement();
this.stackSize = stackSize;
@@ -118,6 +117,6 @@ public class ApplicationThreadFactory implements ThreadFactory {
@Override
public String toString() {
return "ApplicationThreadFactory [nextPoolNumber=" + NEXT_POOL_NUMBER + ",nextThreadNumber=" + nextThreadNumber
- + ", name=" + name + ", stackSize=" + stackSize + ", threadPriority=" + threadPriority + "]";
+ + ", name=" + name + ", stackSize=" + stackSize + ", threadPriority=" + threadPriority + "]";
}
}
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 317a86349..d1a5970e3 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
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (c) 2021 Nordix Foundation.
+ * Modifications Copyright (c) 2021, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -52,11 +52,12 @@ public class AutoLearnPolicyDecideTaskSelectionLogic {
* @return the task
*/
public boolean getTask(final TaskSelectionExecutionContext executor) {
+ var returnValue = true;
var idString = executor.subject.getId();
- executor.logger.debug(idString);
+ TaskSelectionExecutionContext.logger.debug(idString);
var inFieldsString = executor.inFields.toString();
- executor.logger.debug(inFieldsString);
+ TaskSelectionExecutionContext.logger.debug(inFieldsString);
final List<String> tasks = executor.subject.getTaskNames();
size = tasks.size();
@@ -64,8 +65,8 @@ public class AutoLearnPolicyDecideTaskSelectionLogic {
try {
executor.getContextAlbum(AUTO_LEARN_ALBUM).lockForWriting(AUTO_LEARN);
} catch (final ContextException e) {
- executor.logger.error("Failed to acquire write lock on \"autoLearn\" context", e);
- return false;
+ TaskSelectionExecutionContext.logger.error("Failed to acquire write lock on \"autoLearn\" context", e);
+ returnValue = false;
}
// Get the context object
@@ -89,23 +90,23 @@ public class AutoLearnPolicyDecideTaskSelectionLogic {
try {
executor.getContextAlbum(AUTO_LEARN_ALBUM).unlockForWriting(AUTO_LEARN);
} catch (final ContextException e) {
- executor.logger.error("Failed to acquire write lock on \"autoLearn\" context", e);
- return false;
+ TaskSelectionExecutionContext.logger.error("Failed to acquire write lock on \"autoLearn\" context", e);
+ returnValue = false;
}
executor.subject.getTaskKey(tasks.get(option)).copyTo(executor.selectedTask);
- return true;
+ return returnValue;
}
/**
* Gets the option.
*
- * @param diff the diff
+ * @param diff the diff
* @param autoLearn the auto learn
* @return the option
*/
private int getOption(final double diff, final AutoLearn autoLearn) {
- final Double[] avdiffs = autoLearn.getAvDiffs().toArray(new Double[autoLearn.getAvDiffs().size()]);
+ final Double[] avdiffs = autoLearn.getAvDiffs().toArray(new Double[0]);
final var r = RAND.nextInt(size);
int closestupi = -1;
int closestdowni = -1;
@@ -130,13 +131,13 @@ public class AutoLearnPolicyDecideTaskSelectionLogic {
/**
* Learn.
*
- * @param option the option
- * @param diff the diff
+ * @param option the option
+ * @param diff the diff
* @param autoLearn the auto learn
*/
private void learn(final int option, final double diff, final AutoLearn autoLearn) {
- final Double[] avdiffs = autoLearn.getAvDiffs().toArray(new Double[autoLearn.getAvDiffs().size()]);
- final Long[] counts = autoLearn.getCounts().toArray(new Long[autoLearn.getCounts().size()]);
+ final Double[] avdiffs = autoLearn.getAvDiffs().toArray(new Double[0]);
+ final Long[] counts = autoLearn.getCounts().toArray(new Long[0]);
if (option < 0 || option >= avdiffs.length) {
throw new IllegalArgumentException("Error: option" + option);
}
@@ -153,16 +154,16 @@ public class AutoLearnPolicyDecideTaskSelectionLogic {
/**
* Calculate the return value of the learning.
*
- * @param diff the difference
- * @param random the random value
- * @param closestupi closest to i upwards
+ * @param diff the difference
+ * @param random 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
+ * @param closestup closest up value
+ * @param closestdown closest down value
* @return the return value
*/
private int calculateReturnValue(final double diff, final int random, int closestupi, int closestdowni,
- double closestup, double closestdown) {
+ double closestup, double closestdown) {
if (closestupi == -1 || closestdowni == -1) {
return random;
}
diff --git a/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java b/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java
index 37fe30b33..dc1642bd5 100644
--- a/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java
+++ b/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019,2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019, 2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,18 +22,22 @@
package org.onap.policy.apex.model.basicmodel.concepts;
+import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import org.onap.policy.common.utils.validation.Assertions;
/**
* This class is the base class for all Apex concept classes. It enforces implementation of abstract methods and
- * interfaces on all concepts that are sub-classes of this class.
+ * interfaces on all concepts that are subclasses of this class.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
public abstract class AxConcept implements Serializable, Comparable<AxConcept> {
+
+ @Serial
private static final long serialVersionUID = -7434939557282697490L;
+ public static final String WHITESPACE_REGEX = "(\\s+$){1,4}";
/**
* Default constructor.
@@ -71,8 +75,7 @@ public abstract class AxConcept implements Serializable, Comparable<AxConcept> {
* Validate that this concept is structurally correct.
*
* @param result the parameter in which the result of the validation will be returned
- * @return the validation result that was passed in in the @{link result} field with the result of this validation
- * added
+ * @return the validation result that was passed in the result field with the result of this validation added
*/
public abstract AxValidationResult validate(AxValidationResult result);
diff --git a/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java b/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java
index bd3b18ec9..e158846eb 100644
--- a/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java
+++ b/model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,9 +23,11 @@
package org.onap.policy.apex.model.basicmodel.concepts;
import com.google.gson.annotations.SerializedName;
+import java.io.Serial;
import java.util.List;
import java.util.Random;
import java.util.UUID;
+import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult.ValidationResult;
import org.onap.policy.common.utils.validation.Assertions;
@@ -38,6 +40,8 @@ import org.onap.policy.common.utils.validation.Assertions;
* blank and warns if the UUID is a zero UUID.
*/
public class AxKeyInfo extends AxConcept {
+
+ @Serial
private static final long serialVersionUID = -4023935924068914308L;
private static final int UUID_BYTE_LENGTH_16 = 16;
@@ -49,9 +53,11 @@ public class AxKeyInfo extends AxConcept {
private AxArtifactKey key;
+ @Getter
@SerializedName("UUID")
private UUID uuid;
+ @Getter
private String description;
/**
@@ -82,8 +88,8 @@ public class AxKeyInfo extends AxConcept {
/**
* Constructor to create this concept and set all its fields.
*
- * @param key the key of the concept
- * @param uuid the UUID of the concept
+ * @param key the key of the concept
+ * @param uuid the UUID of the concept
* @param description the description of the concept
*/
public AxKeyInfo(final AxArtifactKey key, final UUID uuid, final String description) {
@@ -124,15 +130,6 @@ public class AxKeyInfo extends AxConcept {
}
/**
- * Gets the UUID of the concept.
- *
- * @return the uuid of the concept
- */
- public UUID getUuid() {
- return uuid;
- }
-
- /**
* Sets the UUID of the concept.
*
* @param uuid the uuid of the concept
@@ -143,15 +140,6 @@ public class AxKeyInfo extends AxConcept {
}
/**
- * Gets the description of the concept.
- *
- * @return the description of the concept
- */
- public String getDescription() {
- return description;
- }
-
- /**
* Sets the description of the concept.
*
* @param description the description of the concept
@@ -170,19 +158,19 @@ public class AxKeyInfo extends AxConcept {
if (key.equals(AxArtifactKey.getNullKey())) {
result.addValidationMessage(
- new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID, "key is a null key"));
+ new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID, "key is a null key"));
}
result = key.validate(result);
- if (description.trim().length() == 0) {
+ if (description.trim().isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.OBSERVATION,
- "description is blank"));
+ "description is blank"));
}
if (uuid.equals(new UUID(0, 0))) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.WARNING,
- "UUID is a zero UUID: " + new UUID(0, 0)));
+ "UUID is a zero UUID: " + new UUID(0, 0)));
}
return result;
@@ -202,17 +190,8 @@ public class AxKeyInfo extends AxConcept {
*/
@Override
public String toString() {
- final var builder = new StringBuilder();
- builder.append(this.getClass().getSimpleName());
- builder.append(":(");
- builder.append("artifactId=");
- builder.append(key);
- builder.append(",uuid=");
- builder.append(uuid);
- builder.append(",description=");
- builder.append(description);
- builder.append(")");
- return builder.toString();
+ return this.getClass().getSimpleName()
+ + ":(artifactId=" + key + ",uuid=" + uuid + ",description=" + description + ")";
}
/**
@@ -222,10 +201,9 @@ public class AxKeyInfo extends AxConcept {
public AxConcept copyTo(final AxConcept target) {
Assertions.argumentNotNull(target, "target may not be null");
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, AxKeyInfo.class);
+ Assertions.instanceOf(target, AxKeyInfo.class);
- final AxKeyInfo copy = ((AxKeyInfo) copyObject);
+ final AxKeyInfo copy = ((AxKeyInfo) target);
copy.setKey(new AxArtifactKey(key));
copy.setUuid(UUID.fromString(uuid.toString()));
copy.setDescription(description);
@@ -265,10 +243,7 @@ public class AxKeyInfo extends AxConcept {
if (!key.equals(other.key)) {
return false;
}
- if (!uuid.equals(other.uuid)) {
- return false;
- }
- return description.equals(description);
+ return uuid.equals(other.uuid);
}
/**
diff --git a/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java b/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
index db64f8847..b7925d43b 100644
--- a/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
+++ b/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,6 +22,7 @@
package org.onap.policy.apex.model.contextmodel.concepts;
+import java.io.Serial;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -64,6 +65,7 @@ import org.onap.policy.common.utils.validation.Assertions;
public class AxContextAlbum extends AxConcept {
private static final String SCOPE_STRING = "scope";
+ @Serial
private static final long serialVersionUID = 4290442590545820316L;
/**
@@ -71,7 +73,9 @@ public class AxContextAlbum extends AxConcept {
*/
public static final String SCOPE_REGEXP = "[A-Za-z0-9\\-_]+";
- /** The value of scope for a context album for which a scope has not been specified. */
+ /**
+ * The value of scope for a context album for which a scope has not been specified.
+ */
public static final String SCOPE_UNDEFINED = "UNDEFINED";
private AxArtifactKey key;
@@ -117,13 +121,13 @@ public class AxContextAlbum extends AxConcept {
/**
* Constructor that sets all the fields of the context album.
*
- * @param key the key of the context album
- * @param scope the scope field, must match the regular expression SCOPE_REGEXP
+ * @param key the key of the context album
+ * @param scope the scope field, must match the regular expression SCOPE_REGEXP
* @param isWritable specifies whether the context album will be writable or not
* @param itemSchema the artifact key of the context schema to use for this context album
*/
public AxContextAlbum(final AxArtifactKey key, final String scope, final boolean isWritable,
- final AxArtifactKey itemSchema) {
+ final AxArtifactKey itemSchema) {
super();
Assertions.argumentNotNull(key, "key may not be null");
Assertions.argumentNotNull(scope, "scope may not be null");
@@ -185,24 +189,24 @@ public class AxContextAlbum extends AxConcept {
if (key.equals(AxArtifactKey.getNullKey())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key is a null key"));
+ "key is a null key"));
}
result = key.validate(result);
- if (scope.replaceAll("\\s+$", "").length() == 0 || scope.equals(SCOPE_UNDEFINED)) {
+ if (scope.replaceAll(WHITESPACE_REGEX, "").isEmpty() || scope.equals(SCOPE_UNDEFINED)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "scope is not defined"));
+ "scope is not defined"));
}
var stringCheckResult = Assertions.getStringParameterValidationMessage(SCOPE_STRING, scope, SCOPE_REGEXP);
if (stringCheckResult != null) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "scope invalid-" + stringCheckResult));
+ "scope invalid-" + stringCheckResult));
}
if (itemSchema.equals(AxArtifactKey.getNullKey())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "itemSchema reference is a null key, an item schema must be specified"));
+ "itemSchema reference is a null key, an item schema must be specified"));
}
result = itemSchema.validate(result);
@@ -226,10 +230,9 @@ public class AxContextAlbum extends AxConcept {
public AxConcept copyTo(final AxConcept target) {
Assertions.argumentNotNull(target, "targetObject may not be null");
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, AxContextAlbum.class);
+ Assertions.instanceOf(target, AxContextAlbum.class);
- final AxContextAlbum copy = ((AxContextAlbum) copyObject);
+ final AxContextAlbum copy = ((AxContextAlbum) target);
copy.setKey(new AxArtifactKey(key));
copy.setScope(scope);
copy.setWritable(isWritable);
diff --git a/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java b/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
index 61434ca67..09a6dd833 100644
--- a/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
+++ b/model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,6 +22,7 @@
package org.onap.policy.apex.model.contextmodel.concepts;
+import java.io.Serial;
import java.util.List;
import lombok.AccessLevel;
import lombok.Getter;
@@ -56,17 +57,23 @@ import org.onap.policy.common.utils.validation.Assertions;
@ToString
public class AxContextSchema extends AxConcept {
private static final String SCHEMA_FLAVOUR = "schemaFlavour";
- private static final String WHITESPACE_REGEXP = "\\s+$";
+ @Serial
private static final long serialVersionUID = -6443016863162692288L;
- /** Regular expression that constrains what values a schema flavour can have. */
+ /**
+ * Regular expression that constrains what values a schema flavour can have.
+ */
public static final String SCHEMA_FLAVOUR_REGEXP = "[A-Za-z0-9\\-_]+";
- /** An undefined schema flavour has this value. */
+ /**
+ * An undefined schema flavour has this value.
+ */
public static final String SCHEMA_FLAVOUR_UNDEFINED = "UNDEFINED";
- /** The maximum permissible size of a schema definition. */
+ /**
+ * The maximum permissible size of a schema definition.
+ */
public static final int MAX_SCHEMA_SIZE = 32672; // The maximum size supported by Apache Derby
private AxArtifactKey key;
@@ -106,8 +113,8 @@ public class AxContextSchema extends AxConcept {
/**
* This Constructor creates a context schema with all of its fields defined.
*
- * @param key the key
- * @param schemaFlavour the schema flavour
+ * @param key the key
+ * @param schemaFlavour the schema flavour
* @param schemaDefinition the schema definition
*/
public AxContextSchema(final AxArtifactKey key, final String schemaFlavour, final String schemaDefinition) {
@@ -118,7 +125,7 @@ public class AxContextSchema extends AxConcept {
this.key = key;
this.schemaFlavour = Assertions.validateStringParameter(SCHEMA_FLAVOUR, schemaFlavour, SCHEMA_FLAVOUR_REGEXP);
- this.schemaDefinition = schemaDefinition.replaceAll(WHITESPACE_REGEXP, "");
+ this.schemaDefinition = schemaDefinition.replaceAll(WHITESPACE_REGEX, "");
}
/**
@@ -164,7 +171,7 @@ public class AxContextSchema extends AxConcept {
*/
public void setSchema(final String schema) {
Assertions.argumentNotNull(schema, "schema may not be null");
- this.schemaDefinition = schema.replaceAll(WHITESPACE_REGEXP, "");
+ this.schemaDefinition = schema.replaceAll(WHITESPACE_REGEX, "");
}
/**
@@ -176,27 +183,27 @@ public class AxContextSchema extends AxConcept {
if (key.equals(AxArtifactKey.getNullKey())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key is a null key"));
+ "key is a null key"));
}
result = key.validate(result);
- if (schemaFlavour.replaceAll(WHITESPACE_REGEXP, "").length() == 0
- || schemaFlavour.equals(SCHEMA_FLAVOUR_UNDEFINED)) {
+ if (schemaFlavour.replaceAll(WHITESPACE_REGEX, "").isEmpty()
+ || schemaFlavour.equals(SCHEMA_FLAVOUR_UNDEFINED)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "schema flavour is not defined"));
+ "schema flavour is not defined"));
}
var flavourValidationResult = Assertions.getStringParameterValidationMessage(SCHEMA_FLAVOUR, schemaFlavour,
- SCHEMA_FLAVOUR_REGEXP);
+ SCHEMA_FLAVOUR_REGEXP);
if (flavourValidationResult != null) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "schema flavour invalid-" + flavourValidationResult));
+ "schema flavour invalid-" + flavourValidationResult));
}
- if (schemaDefinition.replaceAll(WHITESPACE_REGEXP, "").length() == 0) {
+ if (schemaDefinition.replaceAll(WHITESPACE_REGEX, "").isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "no schemaDefinition specified, schemaDefinition may not be blank"));
+ "no schemaDefinition specified, schemaDefinition may not be blank"));
}
return result;
@@ -209,7 +216,7 @@ public class AxContextSchema extends AxConcept {
public void clean() {
key.clean();
schemaFlavour = Assertions.validateStringParameter(SCHEMA_FLAVOUR, schemaFlavour, SCHEMA_FLAVOUR_REGEXP);
- schemaDefinition = schemaDefinition.replaceAll(WHITESPACE_REGEXP, "");
+ schemaDefinition = schemaDefinition.replaceAll(WHITESPACE_REGEX, "");
}
/**
@@ -219,10 +226,9 @@ public class AxContextSchema extends AxConcept {
public AxConcept copyTo(final AxConcept target) {
Assertions.argumentNotNull(target, "target may not be null");
- final Object copyObject = target;
- Assertions.instanceOf(copyObject, AxContextSchema.class);
+ Assertions.instanceOf(target, AxContextSchema.class);
- final AxContextSchema copy = ((AxContextSchema) copyObject);
+ final AxContextSchema copy = ((AxContextSchema) target);
copy.setKey(new AxArtifactKey(key));
copy.setSchemaFlavour(schemaFlavour);
copy.setSchema(schemaDefinition);
diff --git a/model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java b/model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
index a4c0e9db1..652972d13 100644
--- a/model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
+++ b/model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020, 2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2022 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,6 +24,7 @@ package org.onap.policy.apex.model.eventmodel.concepts;
import com.google.common.base.Strings;
import com.google.gson.annotations.SerializedName;
+import java.io.Serial;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -32,6 +33,8 @@ import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.TreeSet;
+import lombok.Getter;
+import lombok.Setter;
import org.apache.commons.lang3.EnumUtils;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
@@ -65,21 +68,32 @@ import org.onap.policy.common.utils.validation.Assertions;
* checked to ensure it matches the event key.
*/
public class AxEvent extends AxConcept {
- private static final long serialVersionUID = -1460388382582984269L;
- private static final String WHITESPACE_REGEXP = "\\s+$";
+ @Serial
+ private static final long serialVersionUID = -1460388382582984269L;
- /** The key of the event, unique in the Apex system. */
+ /**
+ * The key of the event, unique in the Apex system.
+ */
// CHECKSTYLE:OFF: checkstyle:VisibilityMonitor
protected AxArtifactKey key;
// CHECKSTYLE:ON: checkstyle:VisibilityMonitor
+ @Getter
private String nameSpace;
+
+ @Getter
private String source;
+
+ @Getter
private String target;
+ @Getter
@SerializedName("parameter")
private Map<String, AxField> parameterMap;
+
+ @Setter
+ @Getter
private String toscaPolicyState;
/**
@@ -113,7 +127,7 @@ public class AxEvent extends AxConcept {
* This constructor creates an event with the given artifact key and name space. The event source, and target are
* all defined as empty strings and the parameter map is initialized as an empty map.
*
- * @param key the key of the event
+ * @param key the key of the event
* @param nameSpace the name space of the event
*/
public AxEvent(final AxArtifactKey key, final String nameSpace) {
@@ -124,10 +138,10 @@ public class AxEvent extends AxConcept {
* This constructor creates an event with the given artifact key, name space, source and target. The parameter map
* is initialized as an empty map.
*
- * @param key the key of the event
+ * @param key the key of the event
* @param nameSpace the name space of the event
- * @param source the source of the event
- * @param target the target of the event
+ * @param source the source of the event
+ * @param target the target of the event
*/
public AxEvent(final AxArtifactKey key, final String nameSpace, final String source, final String target) {
this(key, nameSpace, source, target, new TreeMap<>(), "");
@@ -136,15 +150,15 @@ public class AxEvent extends AxConcept {
/**
* This constructor creates an event with all its fields defined.
*
- * @param key the key of the event
- * @param nameSpace the name space of the event
- * @param source the source of the event
- * @param target the target of the event
- * @param parameterMap the map of parameters that the event has
+ * @param key the key of the event
+ * @param nameSpace the name space of the event
+ * @param source the source of the event
+ * @param target the target of the event
+ * @param parameterMap the map of parameters that the event has
* @param toscaPolicyState the TOSCA policy processing status that event is flagged with
*/
public AxEvent(final AxArtifactKey key, final String nameSpace, final String source, final String target,
- final SortedMap<String, AxField> parameterMap, final String toscaPolicyState) {
+ final SortedMap<String, AxField> parameterMap, final String toscaPolicyState) {
super();
Assertions.argumentNotNull(key, "key may not be null");
Assertions.argumentNotNull(nameSpace, "nameSpace may not be null");
@@ -216,15 +230,6 @@ public class AxEvent extends AxConcept {
}
/**
- * Gets the name space of the event.
- *
- * @return the name space of the event
- */
- public String getNameSpace() {
- return nameSpace;
- }
-
- /**
* Sets the name space of the event.
*
* @param nameSpace the name space of the event
@@ -235,15 +240,6 @@ public class AxEvent extends AxConcept {
}
/**
- * Gets the source of the event.
- *
- * @return the source of the event
- */
- public String getSource() {
- return source;
- }
-
- /**
* Sets the source of the event.
*
* @param source the source of the event
@@ -254,15 +250,6 @@ public class AxEvent extends AxConcept {
}
/**
- * Gets the target of the event.
- *
- * @return the target of the event
- */
- public String getTarget() {
- return target;
- }
-
- /**
* Sets the target of the event.
*
* @param target the target of the event
@@ -273,15 +260,6 @@ public class AxEvent extends AxConcept {
}
/**
- * Gets the event parameter map.
- *
- * @return the event parameter map
- */
- public Map<String, AxField> getParameterMap() {
- return parameterMap;
- }
-
- /**
* Gets the fields defined on the event as a set.
*
* @return the fields defined on the event as a set
@@ -301,24 +279,6 @@ public class AxEvent extends AxConcept {
}
/**
- * Gets the TOSCA policy processing status from the event.
- *
- * @return the TOSCA policy processing status
- */
- public String getToscaPolicyState() {
- return toscaPolicyState;
- }
-
- /**
- * Sets the TOSCA policy processing status on the event.
- *
- * @param toscaPolicyState the TOSCA policy processing status
- */
- public void setToscaPolicyState(String toscaPolicyState) {
- this.toscaPolicyState = toscaPolicyState;
- }
-
- /**
* {@inheritDoc}.
*/
@Override
@@ -327,43 +287,43 @@ public class AxEvent extends AxConcept {
if (key.equals(AxArtifactKey.getNullKey())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key is a null key"));
+ "key is a null key"));
}
result = key.validate(result);
- if (nameSpace.replaceAll(WHITESPACE_REGEXP, "").length() == 0) {
+ if (nameSpace.replaceAll(WHITESPACE_REGEX, "").isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.WARNING,
- "nameSpace on event is blank"));
+ "nameSpace on event is blank"));
}
- if (source.replaceAll(WHITESPACE_REGEXP, "").length() == 0) {
+ if (source.replaceAll(WHITESPACE_REGEX, "").isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.OBSERVATION,
- "source on event is blank"));
+ "source on event is blank"));
}
- if (target.replaceAll(WHITESPACE_REGEXP, "").length() == 0) {
+ if (target.replaceAll(WHITESPACE_REGEX, "").isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.OBSERVATION,
- "target on event is blank"));
+ "target on event is blank"));
}
for (final Entry<String, AxField> eventParameterEntry : parameterMap.entrySet()) {
if (eventParameterEntry.getKey() == null || eventParameterEntry.getKey().equals(AxKey.NULL_KEY_NAME)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key on parameter " + eventParameterEntry.getKey() + " may not be the null key"));
+ "key on parameter " + eventParameterEntry.getKey() + " may not be the null key"));
} else if (eventParameterEntry.getValue() == null) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "value on parameter " + eventParameterEntry.getKey() + " may not be null"));
+ "value on parameter " + eventParameterEntry.getKey() + " may not be null"));
} else {
result = validateEventParameters(eventParameterEntry, result);
}
}
if (!Strings.isNullOrEmpty(toscaPolicyState)
- && !EnumUtils.isValidEnum(AxToscaPolicyProcessingStatus.class, toscaPolicyState)) {
+ && !EnumUtils.isValidEnum(AxToscaPolicyProcessingStatus.class, toscaPolicyState)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "toscaPolicyState on event is not a valid enum. Valid values are: "
- + Arrays.asList(AxToscaPolicyProcessingStatus.values())));
+ "toscaPolicyState on event is not a valid enum. Valid values are: "
+ + Arrays.asList(AxToscaPolicyProcessingStatus.values())));
}
return result;
@@ -373,22 +333,22 @@ public class AxEvent extends AxConcept {
* Validate an event parameter entry.
*
* @param eventParameterEntry the event parameter entry
- * @param result the validation result to append to
+ * @param result the validation result to append to
* @return The validation result
*/
private AxValidationResult validateEventParameters(final Entry<String, AxField> eventParameterEntry,
- final AxValidationResult result) {
+ final AxValidationResult result) {
if (!eventParameterEntry.getKey().equals(eventParameterEntry.getValue().getKey().getLocalName())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key on parameter " + eventParameterEntry.getKey()
- + " does not equal parameter field local name "
- + eventParameterEntry.getValue().getKey().getLocalName()));
+ "key on parameter " + eventParameterEntry.getKey()
+ + " does not equal parameter field local name "
+ + eventParameterEntry.getValue().getKey().getLocalName()));
}
if (!eventParameterEntry.getValue().getKey().getParentArtifactKey().equals(key)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "parent key on parameter field " + eventParameterEntry.getValue().getKey()
- + " does not equal event key"));
+ "parent key on parameter field " + eventParameterEntry.getValue().getKey()
+ + " does not equal event key"));
}
return eventParameterEntry.getValue().validate(result);
@@ -410,23 +370,9 @@ public class AxEvent extends AxConcept {
*/
@Override
public String toString() {
- final StringBuilder builder = new StringBuilder();
- builder.append(this.getClass().getSimpleName());
- builder.append(":(");
- builder.append("key=");
- builder.append(key);
- builder.append(",nameSpace=");
- builder.append(nameSpace);
- builder.append(",source=");
- builder.append(source);
- builder.append(",target=");
- builder.append(target);
- builder.append(",parameter=");
- builder.append(parameterMap);
- builder.append(",toscaPolicyState=");
- builder.append(toscaPolicyState);
- builder.append(")");
- return builder.toString();
+ return this.getClass().getSimpleName()
+ + ":(" + "key=" + key + ",nameSpace=" + nameSpace + ",source=" + source + ",target=" + target
+ + ",parameter=" + parameterMap + ",toscaPolicyState=" + toscaPolicyState + ")";
}
/**
diff --git a/model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java b/model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java
index 408f0913f..51778e54e 100644
--- a/model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java
+++ b/model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019,2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019, 2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
@@ -75,7 +75,7 @@ public class PolicyFacade {
/**
* Constructor that creates a policy facade for the Apex Model API.
*
- * @param apexModel the apex model
+ * @param apexModel the apex model
* @param apexProperties Properties for the model
*/
public PolicyFacade(final ApexModel apexModel, final Properties apexProperties) {
@@ -88,16 +88,16 @@ public class PolicyFacade {
/**
* Create a policy.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the default version
- * @param template template used to create the policy, set to null to use the default template
- * @param firstState the first state of the policy
- * @param uuid policy UUID, set to null to generate a UUID
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the default version
+ * @param template template used to create the policy, set to null to use the default template
+ * @param firstState the first state of the policy
+ * @param uuid policy UUID, set to null to generate a UUID
* @param description policy description, set to null to generate a description
* @return result of the operation
*/
public ApexApiResult createPolicy(final String name, final String version, final String template,
- final String firstState, final String uuid, final String description) {
+ final String firstState, final String uuid, final String description) {
try {
final AxArtifactKey key = new AxArtifactKey();
key.setName(name);
@@ -135,16 +135,16 @@ public class PolicyFacade {
/**
* Update a policy.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param template template used to create the policy, set to null to not update
- * @param firstState the first state of the policy
- * @param uuid policy UUID, set to null to not update
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param template template used to create the policy, set to null to not update
+ * @param firstState the first state of the policy
+ * @param uuid policy UUID, set to null to not update
* @param description policy description, set to null to not update
* @return result of the operation
*/
public ApexApiResult updatePolicy(final String name, final String version, final String template,
- final String firstState, final String uuid, final String description) {
+ final String firstState, final String uuid, final String description) {
try {
final AxPolicy policy = apexModel.getPolicyModel().getPolicies().get(name, version);
if (policy == null) {
@@ -168,7 +168,7 @@ public class PolicyFacade {
/**
* List policies.
*
- * @param name name of the policy, set to null to list all
+ * @param name name of the policy, set to null to list all
* @param version starting version of the policy, set to null to list all versions
* @return result of the operation
*/
@@ -193,7 +193,7 @@ public class PolicyFacade {
/**
* Delete a policy.
*
- * @param name name of the policy
+ * @param name name of the policy
* @param version version of the policy, set to null to use the latest version
* @return result of the operation
*/
@@ -232,7 +232,7 @@ public class PolicyFacade {
/**
* Validate policies.
*
- * @param name name of the policy, set to null to list all
+ * @param name name of the policy, set to null to list all
* @param version starting version of the policy, set to null to list all versions
* @return result of the operation
*/
@@ -260,19 +260,20 @@ public class PolicyFacade {
/**
* Create a policy state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param triggerName name of the trigger event for this state
- * @param triggerVersion version of the trigger event for this state, set to null to use the
- * latest version
- * @param defaultTaskName the default task name
- * @param defaltTaskVersion the default task version, set to null to use the latest version
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param triggerName name of the trigger event for this state
+ * @param triggerVersion version of the trigger event for this state, set to null to use the
+ * latest version
+ * @param defaultTaskName the default task name
+ * @param defaultTaskVersion the default task version, set to null to use the latest version
* @return result of the operation
*/
public ApexApiResult createPolicyState(final String name, final String version, final String stateName,
- final String triggerName, final String triggerVersion, final String defaultTaskName,
- final String defaltTaskVersion) {
+ final String triggerName, final String triggerVersion,
+ final String defaultTaskName,
+ final String defaultTaskVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -295,10 +296,10 @@ public class PolicyFacade {
CONCEPT + triggerName + ':' + triggerVersion + DOES_NOT_EXIST);
}
- final AxTask defaultTask = apexModel.getPolicyModel().getTasks().get(defaultTaskName, defaltTaskVersion);
+ final AxTask defaultTask = apexModel.getPolicyModel().getTasks().get(defaultTaskName, defaultTaskVersion);
if (defaultTask == null) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
- CONCEPT + defaultTaskName + ':' + defaltTaskVersion + DOES_NOT_EXIST);
+ CONCEPT + defaultTaskName + ':' + defaultTaskVersion + DOES_NOT_EXIST);
}
final AxState state = new AxState(refKey);
@@ -315,19 +316,20 @@ public class PolicyFacade {
/**
* Update a policy state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param triggerName name of the trigger event for this state, set to null to not update
- * @param triggerVersion version of the trigger event for this state, set to use latest version
- * of trigger event
- * @param defaultTaskName the default task name, set to null to not update
- * @param defaltTaskVersion the default task version, set to use latest version of default task
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param triggerName name of the trigger event for this state, set to null to not update
+ * @param triggerVersion version of the trigger event for this state, set to use latest version
+ * of trigger event
+ * @param defaultTaskName the default task name, set to null to not update
+ * @param defaultTaskVersion the default task version, set to use latest version of default task
* @return result of the operation
*/
public ApexApiResult updatePolicyState(final String name, final String version, final String stateName,
- final String triggerName, final String triggerVersion, final String defaultTaskName,
- final String defaltTaskVersion) {
+ final String triggerName, final String triggerVersion,
+ final String defaultTaskName,
+ final String defaultTaskVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -354,10 +356,10 @@ public class PolicyFacade {
if (defaultTaskName != null) {
final AxTask defaultTask =
- apexModel.getPolicyModel().getTasks().get(defaultTaskName, defaltTaskVersion);
+ apexModel.getPolicyModel().getTasks().get(defaultTaskName, defaultTaskVersion);
if (defaultTask == null) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
- CONCEPT + defaultTaskName + ':' + defaltTaskVersion + DOES_NOT_EXIST);
+ CONCEPT + defaultTaskName + ':' + defaultTaskVersion + DOES_NOT_EXIST);
}
state.setDefaultTask(defaultTask.getKey());
}
@@ -371,8 +373,8 @@ public class PolicyFacade {
/**
* List policy states.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
* @param stateName of the state, set to null to list all states of the policy
* @return result of the operation
*/
@@ -412,8 +414,8 @@ public class PolicyFacade {
/**
* Delete a policy state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
* @param stateName of the state, set to null to delete all states
* @return result of the operation
*/
@@ -455,16 +457,17 @@ public class PolicyFacade {
/**
* Create task selection logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param logicFlavour the task selection logic flavour for the state, set to null to use the
- * default task logic flavour
- * @param logic the source code for the logic of the state
+ * default task logic flavour
+ * @param logic the source code for the logic of the state
* @return result of the operation
*/
public ApexApiResult createPolicyStateTaskSelectionLogic(final String name, final String version,
- final String stateName, final String logicFlavour, final String logic) {
+ final String stateName, final String logicFlavour,
+ final String logic) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -480,8 +483,7 @@ public class PolicyFacade {
CONCEPT + policy.getKey().getId() + ':' + stateName + DOES_NOT_EXIST);
}
- // There is only one logic item associated with a state so we use a hard coded logic
- // name
+ // There is only one logic item associated with a state, so we use a hard coded logic name
final AxReferenceKey refKey = new AxReferenceKey(state.getKey(), "TaskSelectionLogic");
if (!state.getTaskSelectionLogic().getKey().getLocalName().equals(AxKey.NULL_KEY_NAME)) {
@@ -499,15 +501,16 @@ public class PolicyFacade {
/**
* Update task selection logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param logicFlavour the task selection logic flavour for the state, set to null to not update
- * @param logic the source code for the logic of the state, set to null to not update
+ * @param logic the source code for the logic of the state, set to null to not update
* @return result of the operation
*/
public ApexApiResult updatePolicyStateTaskSelectionLogic(final String name, final String version,
- final String stateName, final String logicFlavour, final String logic) {
+ final String stateName, final String logicFlavour,
+ final String logic) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -545,13 +548,13 @@ public class PolicyFacade {
/**
* List task selection logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
* @param stateName of the state
* @return result of the operation
*/
public ApexApiResult listPolicyStateTaskSelectionLogic(final String name, final String version,
- final String stateName) {
+ final String stateName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -578,13 +581,13 @@ public class PolicyFacade {
/**
* Delete task selection logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
* @param stateName of the state
* @return result of the operation
*/
public ApexApiResult deletePolicyStateTaskSelectionLogic(final String name, final String version,
- final String stateName) {
+ final String stateName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -618,19 +621,20 @@ public class PolicyFacade {
/**
* Create a policy state output.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param outputName of the state output
- * @param eventName name of the output event for this state output
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param outputName of the state output
+ * @param eventName name of the output event for this state output
* @param eventVersion version of the output event for this state output, set to null to use the
- * latest version
- * @param nextState for this state to transition to, set to null if this is the last state that
- * the policy transitions to on this branch
+ * latest version
+ * @param nextState for this state to transition to, set to null if this is the last state that
+ * the policy transitions to on this branch
* @return result of the operation
*/
public ApexApiResult createPolicyStateOutput(final String name, final String version, final String stateName,
- final String outputName, final String eventName, final String eventVersion, final String nextState) {
+ final String outputName, final String eventName,
+ final String eventVersion, final String nextState) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
Assertions.argumentNotNull(outputName, "outputName may not be null");
@@ -648,7 +652,7 @@ public class PolicyFacade {
}
final AxReferenceKey refKey = new AxReferenceKey(state.getKey(), outputName);
- // There can be multipe state outputs only when the current state is the final state
+ // There can be multiple state outputs only when the current state is the final state
if (nextState != null && !AxReferenceKey.getNullKey().getLocalName().equals(nextState)
&& state.getStateOutputs().containsKey(refKey.getLocalName())) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_EXISTS,
@@ -683,7 +687,7 @@ public class PolicyFacade {
}
private void populateStateOuputInfo(final String nextState, final AxState state, final AxReferenceKey refKey,
- final AxEvent event, AxReferenceKey nextStateKey) {
+ final AxEvent event, AxReferenceKey nextStateKey) {
// nextState is null. There could be multiple events coming out of the state
if ((nextState == null || AxReferenceKey.getNullKey().getLocalName().equals(nextState))
&& state.getStateOutputs().containsKey(refKey.getLocalName())) {
@@ -707,14 +711,14 @@ public class PolicyFacade {
/**
* List policy state outputs.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param outputName of the state output, set to null to list all outputs of the state
* @return result of the operation
*/
public ApexApiResult listPolicyStateOutput(final String name, final String version, final String stateName,
- final String outputName) {
+ final String outputName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -740,7 +744,7 @@ public class PolicyFacade {
CONCEPT + state.getKey().getId() + ':' + outputName + DOES_NOT_EXIST);
}
} else {
- if (state.getStateOutputs().size() == 0) {
+ if (state.getStateOutputs().isEmpty()) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
"no state output concepts exist for state " + state.getKey().getId());
}
@@ -761,14 +765,14 @@ public class PolicyFacade {
/**
* Delete a policy state output.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param outputName of the state output, set to null to delete all state outputs
* @return result of the operation
*/
public ApexApiResult deletePolicyStateOutput(final String name, final String version, final String stateName,
- final String outputName) {
+ final String outputName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -796,7 +800,7 @@ public class PolicyFacade {
CONCEPT + state.getKey().getId() + ':' + outputName + DOES_NOT_EXIST);
}
} else {
- if (state.getStateOutputs().size() == 0) {
+ if (state.getStateOutputs().isEmpty()) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
"no state output concepts exist for state " + state.getKey().getId());
}
@@ -818,17 +822,18 @@ public class PolicyFacade {
/**
* Create policy finalizer logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param finalizerLogicName name of the state finalizer logic
- * @param logicFlavour the policy finalizer logic flavour for the state, set to null to use the
- * default task logic flavour
- * @param logic the source code for the logic of the state
+ * @param logicFlavour the policy finalizer logic flavour for the state, set to null to use the
+ * default task logic flavour
+ * @param logic the source code for the logic of the state
* @return result of the operation
*/
public ApexApiResult createPolicyStateFinalizerLogic(final String name, final String version,
- final String stateName, final String finalizerLogicName, final String logicFlavour, final String logic) {
+ final String stateName, final String finalizerLogicName,
+ final String logicFlavour, final String logic) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
Assertions.argumentNotNull(finalizerLogicName, "finalizerlogicName may not be null");
@@ -863,17 +868,18 @@ public class PolicyFacade {
/**
* Update policy finalizer logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param finalizerLogicName name of the state finalizer logic
- * @param logicFlavour the policy finalizer logic flavour for the state, set to null to not
- * update
- * @param logic the source code for the logic of the state, set to null to not update
+ * @param logicFlavour the policy finalizer logic flavour for the state, set to null to not
+ * update
+ * @param logic the source code for the logic of the state, set to null to not update
* @return result of the operation
*/
public ApexApiResult updatePolicyStateFinalizerLogic(final String name, final String version,
- final String stateName, final String finalizerLogicName, final String logicFlavour, final String logic) {
+ final String stateName, final String finalizerLogicName,
+ final String logicFlavour, final String logic) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
Assertions.argumentNotNull(finalizerLogicName, "finalizerLogicName may not be null");
@@ -914,14 +920,14 @@ public class PolicyFacade {
/**
* List policy finalizer logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param finalizerLogicName name of the state finalizer logic
* @return result of the operation
*/
public ApexApiResult listPolicyStateFinalizerLogic(final String name, final String version, final String stateName,
- final String finalizerLogicName) {
+ final String finalizerLogicName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -950,7 +956,7 @@ public class PolicyFacade {
new ApexModelStringWriter<AxStateFinalizerLogic>(false).writeString(stateFinalizerLogic,
AxStateFinalizerLogic.class));
} else {
- if (state.getStateFinalizerLogicMap().size() == 0) {
+ if (state.getStateFinalizerLogicMap().isEmpty()) {
return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
"no state finalizer logic defined on state " + state.getKey().getId());
}
@@ -969,14 +975,14 @@ public class PolicyFacade {
/**
* Delete policy finalizer logic for a state.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
* @param finalizerLogicName name of the state finalizer logic
* @return result of the operation
*/
public ApexApiResult deletePolicyStateFinalizerLogic(final String name, final String version,
- final String stateName, final String finalizerLogicName) {
+ final String stateName, final String finalizerLogicName) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -1007,17 +1013,18 @@ public class PolicyFacade {
state.getStateFinalizerLogicMap().remove(refKey.getLocalName());
return result;
} else {
- if (state.getStateFinalizerLogicMap().size() == 0) {
- return new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
- "no state finalizer logic defined on state " + state.getKey().getId());
- }
+ ApexApiResult result = new ApexApiResult();
- final ApexApiResult result = new ApexApiResult();
- for (final AxStateFinalizerLogic stateFinalizerLogic : state.getStateFinalizerLogicMap().values()) {
- result.addMessage(new ApexModelStringWriter<AxStateFinalizerLogic>(false)
- .writeString(stateFinalizerLogic, AxStateFinalizerLogic.class));
+ if (state.getStateFinalizerLogicMap().isEmpty()) {
+ result = new ApexApiResult(ApexApiResult.Result.CONCEPT_DOES_NOT_EXIST,
+ "no state finalizer logic defined on state " + state.getKey().getId());
+ } else {
+ for (final AxStateFinalizerLogic stateFinalizerLogic : state.getStateFinalizerLogicMap().values()) {
+ result.addMessage(new ApexModelStringWriter<AxStateFinalizerLogic>(false)
+ .writeString(stateFinalizerLogic, AxStateFinalizerLogic.class));
+ }
+ state.getStateFinalizerLogicMap().clear();
}
- state.getStateFinalizerLogicMap().clear();
return result;
}
} catch (final Exception e) {
@@ -1124,15 +1131,15 @@ public class PolicyFacade {
/**
* List policy state task references.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param taskName name of the task, set to null to list all task references
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param taskName name of the task, set to null to list all task references
* @param taskVersion version of the task, set to null to use the latest version
* @return result of the operation
*/
public ApexApiResult listPolicyStateTaskRef(final String name, final String version, final String stateName,
- final String taskName, final String taskVersion) {
+ final String taskName, final String taskVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -1179,15 +1186,15 @@ public class PolicyFacade {
/**
* Delete a policy state task reference.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param taskName name of the task, set to null to delete all task references
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param taskName name of the task, set to null to delete all task references
* @param taskVersion version of the task, set to null to use the latest version
* @return result of the operation
*/
public ApexApiResult deletePolicyStateTaskRef(final String name, final String version, final String stateName,
- final String taskName, final String taskVersion) {
+ final String taskName, final String taskVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -1232,16 +1239,16 @@ public class PolicyFacade {
/**
* Create a policy state context album reference.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param contextAlbumName name of the context album for the context album reference
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param contextAlbumName name of the context album for the context album reference
* @param contextAlbumVersion version of the context album for the context album reference, set
- * to null to use the latest version
+ * to null to use the latest version
* @return result of the operation
*/
public ApexApiResult createPolicyStateContextRef(final String name, final String version, final String stateName,
- final String contextAlbumName, final String contextAlbumVersion) {
+ final String contextAlbumName, final String contextAlbumVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -1279,17 +1286,17 @@ public class PolicyFacade {
/**
* List policy state context album references.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the latest version
- * @param stateName of the state
- * @param contextAlbumName name of the context album for the context album reference, set to
- * null to list all task context album references
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the latest version
+ * @param stateName of the state
+ * @param contextAlbumName name of the context album for the context album reference, set to
+ * null to list all task context album references
* @param contextAlbumVersion version of the context album for the context album reference, set
- * to null to use the latest version
+ * to null to use the latest version
* @return result of the operation
*/
public ApexApiResult listPolicyStateContextRef(final String name, final String version, final String stateName,
- final String contextAlbumName, final String contextAlbumVersion) {
+ final String contextAlbumName, final String contextAlbumVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
@@ -1329,17 +1336,17 @@ public class PolicyFacade {
/**
* Delete a policy state context album reference.
*
- * @param name name of the policy
- * @param version version of the policy, set to null to use the default version
- * @param stateName of the state
- * @param contextAlbumName name of the context album for the context album reference, set to
- * null to delete all task context album references
+ * @param name name of the policy
+ * @param version version of the policy, set to null to use the default version
+ * @param stateName of the state
+ * @param contextAlbumName name of the context album for the context album reference, set to
+ * null to delete all task context album references
* @param contextAlbumVersion version of the context album for the context album reference, set
- * to null to use the latest version
+ * to null to use the latest version
* @return result of the operation
*/
public ApexApiResult deletePolicyStateContextRef(final String name, final String version, final String stateName,
- final String contextAlbumName, final String contextAlbumVersion) {
+ final String contextAlbumName, final String contextAlbumVersion) {
try {
Assertions.argumentNotNull(stateName, STATE_NAME_MAY_NOT_BE_NULL);
diff --git a/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java b/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java
index 0564d5854..50d6771b5 100644
--- a/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java
+++ b/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2020, 2022, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,7 +21,9 @@
package org.onap.policy.apex.model.policymodel.concepts;
+import java.io.Serial;
import java.util.List;
+import lombok.Getter;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
@@ -43,26 +45,31 @@ import org.onap.policy.common.utils.validation.Assertions;
* the {@code LOGIC_FLAVOUR_REGEXP} regular expression, and that the specified logic string is not null or blank.
*/
public class AxLogic extends AxConcept {
- private static final long serialVersionUID = -4260562004005697328L;
- private static final String WHITESPACE_REGEXP = "\\s+$";
+ @Serial
+ private static final long serialVersionUID = -4260562004005697328L;
private static final String LOGIC_FLAVOUR_TOKEN = "logicFlavour";
private static final String KEY_NULL_MESSAGE = "key may not be null";
private static final String LOGIC_FLAVOUR_NULL_MESSAGE = "logicFlavour may not be null";
private static final String LOGIC_NULL_MESSAGE = "logic may not be null";
- /** Regular expression that specifies the allowed characters in logic flavour tokens. */
+ /**
+ * Regular expression that specifies the allowed characters in logic flavour tokens.
+ */
public static final String LOGIC_FLAVOUR_REGEXP = "[A-Za-z0-9\\-_]+";
- /** When logic flavour is undefined, it has this value. */
+ /**
+ * When logic flavour is undefined, it has this value.
+ */
public static final String LOGIC_FLAVOUR_UNDEFINED = "UNDEFINED";
- /** The maximum permissible size of a logic definition. */
- public static final int MAX_LOGIC_SIZE = 32672; // The maximum size supported by Apache Derby
-
private AxReferenceKey key;
+
+ @Getter
private String logicFlavour;
+
+ @Getter
private String logic;
/**
@@ -97,22 +104,22 @@ public class AxLogic extends AxConcept {
* This Constructor creates a logic instance with a reference key constructed from the parents key and the logic
* local name and all of its fields defined.
*
- * @param parentKey the reference key of the parent of this logic
- * @param logicName the logic name, held as the local name of the reference key of this logic
+ * @param parentKey the reference key of the parent of this logic
+ * @param logicName the logic name, held as the local name of the reference key of this logic
* @param logicFlavour the flavour of this logic
- * @param logic the actual logic as a string
+ * @param logic the actual logic as a string
*/
public AxLogic(final AxReferenceKey parentKey, final String logicName, final String logicFlavour,
- final String logic) {
+ final String logic) {
this(new AxReferenceKey(parentKey, logicName), logicFlavour, logic);
}
/**
* This Constructor creates a logic instance with the given reference key and all of its fields defined.
*
- * @param key the reference key of this logic
+ * @param key the reference key of this logic
* @param logicFlavour the flavour of this logic
- * @param logic the actual logic as a string
+ * @param logic the actual logic as a string
*/
public AxLogic(final AxReferenceKey key, final String logicFlavour, final String logic) {
super();
@@ -122,16 +129,16 @@ public class AxLogic extends AxConcept {
this.key = key;
this.logicFlavour = Assertions.validateStringParameter(LOGIC_FLAVOUR_TOKEN, logicFlavour, LOGIC_FLAVOUR_REGEXP);
- this.logic = logic.replaceAll(WHITESPACE_REGEXP, "");
+ this.logic = logic.replaceAll(WHITESPACE_REGEX, "");
}
/**
* This Constructor creates a logic instance with the given reference key and logic flavour, the logic is provided
* by the given logic reader instance.
*
- * @param key the reference key of this logic
+ * @param key the reference key of this logic
* @param logicFlavour the flavour of this logic
- * @param logicReader the logic reader to use to read the logic for this logic instance
+ * @param logicReader the logic reader to use to read the logic for this logic instance
*/
public AxLogic(final AxReferenceKey key, final String logicFlavour, final AxLogicReader logicReader) {
super();
@@ -171,15 +178,6 @@ public class AxLogic extends AxConcept {
}
/**
- * Gets the logic flavour.
- *
- * @return the logic flavour
- */
- public String getLogicFlavour() {
- return logicFlavour;
- }
-
- /**
* Sets the logic flavour.
*
* @param logicFlavour the logic flavour
@@ -189,22 +187,13 @@ public class AxLogic extends AxConcept {
}
/**
- * Gets the logic.
- *
- * @return the logic
- */
- public String getLogic() {
- return logic;
- }
-
- /**
* Sets the logic.
*
* @param logic the logic
*/
public void setLogic(final String logic) {
Assertions.argumentNotNull(logic, LOGIC_NULL_MESSAGE);
- this.logic = logic.replaceAll(WHITESPACE_REGEXP, "");
+ this.logic = logic.replaceAll(WHITESPACE_REGEX, "");
}
/**
@@ -216,27 +205,27 @@ public class AxLogic extends AxConcept {
if (key.equals(AxReferenceKey.getNullKey())) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "key is a null key"));
+ "key is a null key"));
}
result = key.validate(result);
- if (logicFlavour.replaceAll(WHITESPACE_REGEXP, "").length() == 0
- || logicFlavour.equals(LOGIC_FLAVOUR_UNDEFINED)) {
+ if (logicFlavour.replaceAll(WHITESPACE_REGEX, "").isEmpty()
+ || logicFlavour.equals(LOGIC_FLAVOUR_UNDEFINED)) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "logic flavour is not defined"));
+ "logic flavour is not defined"));
}
String flavourValidationString = Assertions.getStringParameterValidationMessage(LOGIC_FLAVOUR_TOKEN,
- logicFlavour, LOGIC_FLAVOUR_REGEXP);
+ logicFlavour, LOGIC_FLAVOUR_REGEXP);
if (flavourValidationString != null) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "logic flavour invalid-" + flavourValidationString));
+ "logic flavour invalid-" + flavourValidationString));
}
- if (logic.replaceAll(WHITESPACE_REGEXP, "").length() == 0) {
+ if (logic.replaceAll(WHITESPACE_REGEX, "").isEmpty()) {
result.addValidationMessage(new AxValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "no logic specified, logic may not be blank"));
+ "no logic specified, logic may not be blank"));
}
return result;
@@ -251,7 +240,7 @@ public class AxLogic extends AxConcept {
key.clean();
}
logicFlavour = Assertions.validateStringParameter(LOGIC_FLAVOUR_TOKEN, logicFlavour, LOGIC_FLAVOUR_REGEXP);
- logic = logic.replaceAll(WHITESPACE_REGEXP, "");
+ logic = logic.replaceAll(WHITESPACE_REGEX, "");
}
/**
@@ -259,17 +248,8 @@ public class AxLogic extends AxConcept {
*/
@Override
public String toString() {
- final StringBuilder builder = new StringBuilder();
- builder.append(this.getClass().getSimpleName());
- builder.append(":(");
- builder.append("key=");
- builder.append(key);
- builder.append(",logicFlavour=");
- builder.append(logicFlavour);
- builder.append(",logic=");
- builder.append(logic);
- builder.append(")");
- return builder.toString();
+ return this.getClass().getSimpleName()
+ + ":(" + "key=" + key + ",logicFlavour=" + logicFlavour + ",logic=" + logic + ")";
}
/**
@@ -279,10 +259,9 @@ public class AxLogic extends AxConcept {
public AxConcept copyTo(final AxConcept targetObject) {
Assertions.argumentNotNull(targetObject, "target may not be null");
- final Object copyObject = targetObject;
- Assertions.instanceOf(copyObject, AxLogic.class);
+ Assertions.instanceOf(targetObject, AxLogic.class);
- final AxLogic copy = ((AxLogic) copyObject);
+ final AxLogic copy = ((AxLogic) targetObject);
copy.setKey(new AxReferenceKey(key));
copy.setLogicFlavour(logicFlavour);
copy.setLogic(logic);
diff --git a/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java b/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java
index e119536fb..049757599 100644
--- a/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java
+++ b/model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019,2022 Nordix Foundation.
+ * Modifications Copyright (C) 2019, 2022, 2024 Nordix Foundation.
* Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
* ================================================================================
@@ -23,8 +23,10 @@
package org.onap.policy.apex.model.policymodel.concepts;
+import java.io.Serial;
import java.util.List;
import java.util.Map.Entry;
+import lombok.Getter;
import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
@@ -88,17 +90,19 @@ import org.onap.policy.common.utils.validation.Assertions;
* <li>All events referred to on direct state outputs must exist
* </ol>
*/
+@Getter
public class AxPolicyModel extends AxModel {
- // @formatter:off
- private static final String SCHEMAS_TOKEN = "_Schemas";
- private static final String KEY_INFO_TOKEN = "_KeyInfo";
- private static final String EVENTS_TOKEN = "_Events";
- private static final String ALBUMS_TOKEN = "_Albums";
- private static final String TASKS_TOKEN = "_Tasks";
+
+ private static final String SCHEMAS_TOKEN = "_Schemas";
+ private static final String KEY_INFO_TOKEN = "_KeyInfo";
+ private static final String EVENTS_TOKEN = "_Events";
+ private static final String ALBUMS_TOKEN = "_Albums";
+ private static final String TASKS_TOKEN = "_Tasks";
private static final String POLICIESS_TOKEN = "_Policies";
private static final String DOES_NOT_EXIST = " does not exist";
+ @Serial
private static final long serialVersionUID = 8800599637708309945L;
private AxPolicies policies;
@@ -136,23 +140,24 @@ public class AxPolicyModel extends AxModel {
new AxKeyInformation(new AxArtifactKey(key.getName() + KEY_INFO_TOKEN, key.getVersion())),
new AxEvents(new AxArtifactKey(key.getName() + EVENTS_TOKEN, key.getVersion())),
new AxContextAlbums(new AxArtifactKey(key.getName() + ALBUMS_TOKEN, key.getVersion())),
- new AxTasks(new AxArtifactKey(key.getName() + TASKS_TOKEN, key.getVersion())),
+ new AxTasks(new AxArtifactKey(key.getName() + TASKS_TOKEN, key.getVersion())),
new AxPolicies(new AxArtifactKey(key.getName() + POLICIESS_TOKEN, key.getVersion())));
}
/**
* This Constructor creates a policy model with all of its fields specified.
*
- * @param key the key of the policy model
- * @param schemas the context schema container for the policy model
+ * @param key the key of the policy model
+ * @param schemas the context schema container for the policy model
* @param keyInformation the key information container for the policy model
- * @param events the event container for the policy model
- * @param albums the context album container for the policy model
- * @param tasks the task container for the policy model
- * @param policies the policy container for the policy model
- */
- public AxPolicyModel(final AxArtifactKey key, final AxContextSchemas schemas, final AxKeyInformation keyInformation,
- final AxEvents events, final AxContextAlbums albums, final AxTasks tasks, final AxPolicies policies) {
+ * @param events the event container for the policy model
+ * @param albums the context album container for the policy model
+ * @param tasks the task container for the policy model
+ * @param policies the policy container for the policy model
+ */
+ public AxPolicyModel(final AxArtifactKey key, final AxContextSchemas schemas,
+ final AxKeyInformation keyInformation, final AxEvents events, final AxContextAlbums albums,
+ final AxTasks tasks, final AxPolicies policies) {
super(key, keyInformation);
Assertions.argumentNotNull(schemas, "schemas may not be null");
Assertions.argumentNotNull(events, "events may not be null");
@@ -203,17 +208,8 @@ public class AxPolicyModel extends AxModel {
* @return the context model
*/
public AxContextModel getContextModel() {
- return new AxContextModel(new AxArtifactKey(albums.getKey().getName() + "_Model", albums.getKey().getVersion()),
- getSchemas(), getAlbums(), getKeyInformation());
- }
-
- /**
- * Gets the policy container from the policy model.
- *
- * @return the policy container with all the policies in the model
- */
- public AxPolicies getPolicies() {
- return policies;
+ return new AxContextModel(new AxArtifactKey(albums.getKey().getName() + "_Model",
+ albums.getKey().getVersion()), getSchemas(), getAlbums(), getKeyInformation());
}
/**
@@ -227,15 +223,6 @@ public class AxPolicyModel extends AxModel {
}
/**
- * Gets the task container from the policy model.
- *
- * @return the task container with all the tasks in the model
- */
- public AxTasks getTasks() {
- return tasks;
- }
-
- /**
* Sets the task container from the policy model.
*
* @param tasks the task container with all the tasks in the model
@@ -246,15 +233,6 @@ public class AxPolicyModel extends AxModel {
}
/**
- * Gets the event container from the policy model.
- *
- * @return the event container with all the events in the model
- */
- public AxEvents getEvents() {
- return events;
- }
-
- /**
* Sets the event container from the policy model.
*
* @param events the event container with all the events in the model
@@ -265,15 +243,6 @@ public class AxPolicyModel extends AxModel {
}
/**
- * Gets the context album container from the policy model.
- *
- * @return the context album container with all the context albums in the model
- */
- public AxContextAlbums getAlbums() {
- return albums;
- }
-
- /**
* Sets the context album container from the policy model.
*
* @param albums the context album container with all the context albums in the model
@@ -284,15 +253,6 @@ public class AxPolicyModel extends AxModel {
}
/**
- * Gets the context schema container from the policy model.
- *
- * @return the context schema container with all the context schemas in the model
- */
- public AxContextSchemas getSchemas() {
- return schemas;
- }
-
- /**
* Sets the context schema container from the policy model.
*
* @param schemas the context schema container with all the context schemas in the model
@@ -376,7 +336,7 @@ public class AxPolicyModel extends AxModel {
/**
* Validate all fundamental concepts keyed in tasks exist.
*
- * @param task The task to validate the keys of
+ * @param task The task to validate the keys of
* @param result the validation result to return
* @return the result
*/
@@ -409,7 +369,7 @@ public class AxPolicyModel extends AxModel {
/**
* Validate that the references used on a state are valid.
*
- * @param state The state to check
+ * @param state The state to check
* @param result the validation result to append to
*/
private void validateStateReferences(AxState state, AxValidationResult result) {
@@ -436,7 +396,7 @@ public class AxPolicyModel extends AxModel {
if (events.getEventMap().get(stateOutput.getOutgoingEvent()) == null) {
result.addValidationMessage(new AxValidationMessage(stateOutput.getKey(), this.getClass(),
ValidationResult.INVALID, "output event " + stateOutput.getOutgoingEvent().getId()
- + " for state output " + stateOutput.getId() + DOES_NOT_EXIST));
+ + " for state output " + stateOutput.getId() + DOES_NOT_EXIST));
}
}
@@ -447,7 +407,7 @@ public class AxPolicyModel extends AxModel {
* Validate that the fields on tasks and events that trigger them and are output by them are
* compatible for all tasks used on a state.
*
- * @param state The state to check
+ * @param state The state to check
* @param result the validation result to append to
*/
private void validateEventTaskFieldCompatibilityOnState(AxState state, AxValidationResult result) {
@@ -474,13 +434,14 @@ public class AxPolicyModel extends AxModel {
* Validate that the fields on a task of a state output and the events that trigger it are
* compatible.
*
- * @param state The state to check
- * @param task The task to check
+ * @param state The state to check
+ * @param task The task to check
* @param stateOutput The state output to check
- * @param result the validation result to append to
+ * @param result the validation result to append to
*/
private void validateEventTaskFieldCompatibilityOnStateOutput(final AxState state, final AxTask task,
- final AxStateOutput stateOutput, AxValidationResult result) {
+ final AxStateOutput stateOutput,
+ AxValidationResult result) {
if (stateOutput == null) {
result.addValidationMessage(new AxValidationMessage(state.getKey(), this.getClass(),
ValidationResult.INVALID, "state output on task reference for task " + task.getId() + " is null"));
@@ -490,7 +451,7 @@ public class AxPolicyModel extends AxModel {
if (usedEvent == null) {
result.addValidationMessage(new AxValidationMessage(stateOutput.getKey(), this.getClass(),
ValidationResult.INVALID, "output event " + stateOutput.getOutgoingEvent().getId()
- + " for state output " + stateOutput.getId() + DOES_NOT_EXIST));
+ + " for state output " + stateOutput.getId() + DOES_NOT_EXIST));
}
}
}
@@ -509,10 +470,10 @@ public class AxPolicyModel extends AxModel {
getPolicies().buildReferences();
getKeyInformation().buildReferences();
- AxArtifactKey nullAlbumskey = new AxArtifactKey(AxKey.NULL_KEY_NAME + ALBUMS_TOKEN, AxKey.NULL_KEY_VERSION);
+ AxArtifactKey nullAlbumsKey = new AxArtifactKey(AxKey.NULL_KEY_NAME + ALBUMS_TOKEN, AxKey.NULL_KEY_VERSION);
if (AxArtifactKey.getNullKey().equals(getAlbums().getKey())
- || nullAlbumskey.equals(getAlbums().getKey())) {
+ || nullAlbumsKey.equals(getAlbums().getKey())) {
getAlbums().setKey(new AxArtifactKey(getKey().getName() + ALBUMS_TOKEN, getKey().getVersion()));
getKeyInformation().generateKeyInfo(getAlbums());
}
@@ -536,22 +497,9 @@ public class AxPolicyModel extends AxModel {
*/
@Override
public String toString() {
- final StringBuilder builder = new StringBuilder();
- builder.append(this.getClass().getSimpleName());
- builder.append(":(");
- builder.append(super.toString());
- builder.append(",policies=");
- builder.append(policies);
- builder.append(",tasks=");
- builder.append(tasks);
- builder.append(",events=");
- builder.append(events);
- builder.append(",albums=");
- builder.append(albums);
- builder.append(",schemas=");
- builder.append(schemas);
- builder.append(")");
- return builder.toString();
+ return this.getClass().getSimpleName()
+ + ":(" + super.toString() + ",policies=" + policies + ",tasks=" + tasks + ",events=" + events + ",albums="
+ + albums + ",schemas=" + schemas + ")";
}
/**
@@ -561,10 +509,9 @@ public class AxPolicyModel extends AxModel {
public AxConcept copyTo(final AxConcept targetObject) {
Assertions.argumentNotNull(targetObject, "target may not be null");
- final Object copyObject = targetObject;
- Assertions.instanceOf(copyObject, AxPolicyModel.class);
+ Assertions.instanceOf(targetObject, AxPolicyModel.class);
- final AxPolicyModel copy = ((AxPolicyModel) copyObject);
+ final AxPolicyModel copy = ((AxPolicyModel) targetObject);
super.copyTo(targetObject);
copy.setPolicies(new AxPolicies(policies));
copy.setTasks(new AxTasks(tasks));
diff --git a/model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java b/model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java
index f70068454..8b0dec7b7 100644
--- a/model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java
+++ b/model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2020 Nordix Foundation.
+ * Modifications Copyright (C) 2020, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,9 @@
package org.onap.policy.apex.model.policymodel.handling;
+import static org.onap.policy.apex.model.basicmodel.concepts.AxConcept.WHITESPACE_REGEX;
+
+import org.jetbrains.annotations.NotNull;
import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
import org.onap.policy.apex.model.policymodel.concepts.AxLogic;
import org.onap.policy.apex.model.policymodel.concepts.AxLogicReader;
@@ -96,19 +99,35 @@ public class PolicyLogicReader implements AxLogicReader {
// Return the java class name for the logic
if (axLogic.getKey().getParentLocalName().equals(AxKey.NULL_KEY_NAME)) {
return logicPackage + DOT_JAVA + axLogic.getKey().getParentKeyName()
- + axLogic.getKey().getLocalName();
+ + axLogic.getKey().getLocalName();
} else {
return logicPackage + DOT_JAVA + axLogic.getKey().getParentKeyName()
- + axLogic.getKey().getParentLocalName() + axLogic.getKey().getLocalName();
+ + axLogic.getKey().getParentLocalName() + axLogic.getKey().getLocalName();
}
}
}
// Now, we read in the script
// Get the package name of the current package and convert dots to slashes for the file path
+ String fullLogicFilePath = getFullLogicFilePath(axLogic);
+
+ final String logicString = ResourceUtils.getResourceAsString(fullLogicFilePath);
+
+ // Check if the logic was found
+ if (logicString == null || logicString.isEmpty()) {
+ String errorMessage = "logic not found for logic \"" + fullLogicFilePath + "\"";
+ LOGGER.warn(errorMessage);
+ throw new PolicyRuntimeException(errorMessage);
+ }
+
+ // Return the right trimmed logic string
+ return logicString.replaceAll(WHITESPACE_REGEX, "");
+ }
+
+ private @NotNull String getFullLogicFilePath(AxLogic axLogic) {
String fullLogicFilePath = logicPackage.replace(".", "/");
- // Now, the logic should be in a sub directory for the logic executor type
+ // Now, the logic should be in a subdirectory for the logic executor type
fullLogicFilePath += "/" + axLogic.getLogicFlavour().toLowerCase();
// Check if we're using the default logic
@@ -120,23 +139,12 @@ public class PolicyLogicReader implements AxLogicReader {
fullLogicFilePath += "/" + axLogic.getKey().getParentKeyName() + axLogic.getKey().getLocalName();
} else {
fullLogicFilePath += "/" + axLogic.getKey().getParentKeyName()
- + axLogic.getKey().getParentLocalName() + axLogic.getKey().getLocalName();
+ + axLogic.getKey().getParentLocalName() + axLogic.getKey().getLocalName();
}
}
// Now get the type of executor to find the extension of the file
fullLogicFilePath += "." + axLogic.getLogicFlavour().toLowerCase();
-
- final String logicString = ResourceUtils.getResourceAsString(fullLogicFilePath);
-
- // Check if the logic was found
- if (logicString == null || logicString.length() == 0) {
- String errorMessage = "logic not found for logic \"" + fullLogicFilePath + "\"";
- LOGGER.warn(errorMessage);
- throw new PolicyRuntimeException(errorMessage);
- }
-
- // Return the right trimmed logic string
- return logicString.replaceAll("\\s+$", "");
+ return fullLogicFilePath;
}
}
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
index ec454af00..928b1c72b 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
@@ -35,10 +35,8 @@ import java.util.Properties;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.jupiter.MockitoExtension;
import org.onap.policy.apex.service.engine.event.ApexEventConsumer;
import org.onap.policy.apex.service.engine.event.ApexEventException;
@@ -214,7 +212,7 @@ class ApexRestClientProducerTest {
properties.put("tag", "exist");
properties.put("key", "that");
Mockito.doReturn(Response.Status.ACCEPTED.getStatusCode()).when(responseMock).getStatus();
- Mockito.doReturn(responseMock).when(builderMock).put(Mockito.any());
+ closeable = Mockito.doReturn(responseMock).when(builderMock).put(Mockito.any());
Mockito.doReturn(builderMock).when(targetMock).request("application/json");
Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any());
Mockito.doReturn(targetMock).when(httpClientMock).target("http://some.place.that.does.not/exist");
@@ -246,7 +244,7 @@ class ApexRestClientProducerTest {
rcctp.setUrl("http://some.place.that.does.not/exist");
Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus();
- Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any());
+ closeable = Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any());
Mockito.doReturn(builderMock).when(targetMock).request("application/json");
Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any());
Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl());
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java
index f82add13f..2bbc7b9ef 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java
@@ -21,8 +21,8 @@
package org.onap.policy.apex.plugins.event.carrier.restrequestor;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.gson.Gson;
import jakarta.ws.rs.DELETE;
diff --git a/pom.xml b/pom.xml
index 4418b4c0b..94eedf31c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,7 @@
<version.avro>1.11.3</version.avro>
<version.caffeine>3.1.8</version.caffeine>
<version.curator>5.5.0</version.curator>
- <version.hazelcast>5.3.1</version.hazelcast>
+ <version.hazelcast>5.3.5</version.hazelcast>
<version.infinispan>14.0.13.Final</version.infinispan>
<version.jgroups>5.2.18.Final</version.jgroups>
<version.jms>3.1.0</version.jms>
@@ -83,11 +83,6 @@
<dependencies>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
diff --git a/testsuites/integration/integration-context-test/pom.xml b/testsuites/integration/integration-context-test/pom.xml
deleted file mode 100644
index 52340b01a..000000000
--- a/testsuites/integration/integration-context-test/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2018 Ericsson. All rights reserved.
- Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- SPDX-License-Identifier: Apache-2.0
- ============LICENSE_END=========================================================
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
- <artifactId>apex-integration</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>integration-context-test</artifactId>
- <name>${project.artifactId}</name>
- <description>[${project.parent.artifactId}] module to run context tests using various plugins, multi-threads and multi-JVMs</description>
-
-
- <dependencies>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>utils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
- <artifactId>integration-common</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId>
- <artifactId>plugins-context-distribution-hazelcast</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId>
- <artifactId>plugins-context-distribution-infinispan</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId>
- <artifactId>plugins-context-locking-curator</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId>
- <artifactId>plugins-context-locking-hazelcast</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/testsuites/integration/integration-context-test/pom.xml.versionsBackup b/testsuites/integration/integration-context-test/pom.xml.versionsBackup
deleted file mode 100644
index 4bc571f7d..000000000
--- a/testsuites/integration/integration-context-test/pom.xml.versionsBackup
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2018 Ericsson. All rights reserved.
- Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- SPDX-License-Identifier: Apache-2.0
- ============LICENSE_END=========================================================
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
- <artifactId>apex-integration</artifactId>
- <version>3.1.2-SNAPSHOT</version>
- </parent>
-
- <artifactId>integration-context-test</artifactId>
- <name>${project.artifactId}</name>
- <description>[${project.parent.artifactId}] module to run context tests using various plugins, multi-threads and multi-JVMs</description>
-
-
- <dependencies>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>utils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
- <artifactId>integration-common</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId>
- <artifactId>plugins-context-distribution-hazelcast</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId>
- <artifactId>plugins-context-distribution-infinispan</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId>
- <artifactId>plugins-context-locking-curator</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId>
- <artifactId>plugins-context-locking-hazelcast</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/TestConcurrentContext.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/TestConcurrentContext.java
deleted file mode 100644
index 8af964985..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/TestConcurrentContext.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.onap.policy.apex.context.parameters.DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TEST_VALUE;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.util.Map;
-import java.util.SortedSet;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.onap.policy.apex.context.impl.distribution.jvmlocal.JvmLocalDistributor;
-import org.onap.policy.apex.context.impl.locking.jvmlocal.JvmLocalLockManager;
-import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
-import org.onap.policy.apex.context.parameters.ContextParameterConstants;
-import org.onap.policy.apex.context.parameters.ContextParameters;
-import org.onap.policy.apex.context.parameters.DistributorParameters;
-import org.onap.policy.apex.context.parameters.SchemaParameters;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-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.hazelcast.HazelcastContextDistributor;
-import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor;
-import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters;
-import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager;
-import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManagerParameters;
-import org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.LockType;
-import org.onap.policy.apex.testsuites.integration.context.locking.ConcurrentContext;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProvider;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProviderImpl;
-import org.onap.policy.apex.testsuites.integration.context.utils.Constants;
-import org.onap.policy.apex.testsuites.integration.context.utils.NetworkUtils;
-import org.onap.policy.apex.testsuites.integration.context.utils.ZooKeeperServerServiceProvider;
-import org.onap.policy.common.parameters.ParameterService;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class TestConcurrentContext tests concurrent use of context.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class TestConcurrentContext {
- private static final String HAZELCAST_CONFIG = "hazelcast.config";
-
- private static final String JAVA_NET_PREFER_IPV4_STACK = "java.net.preferIPv4Stack";
- private static final String HAZELCAST_XML_FILE = "src/test/resources/hazelcast/hazelcast.xml";
-
- // Logger for this class
- private static final XLogger logger = XLoggerFactory.getXLogger(TestConcurrentContext.class);
-
- // Test parameters
- private static final String ZOOKEEPER_ADDRESS = "127.0.0.1";
- 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;
-
- // 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;
-
- private static SchemaParameters schemaParameters;
-
- @Rule
- public final TemporaryFolder folder = new TemporaryFolder();
-
- private ZooKeeperServerServiceProvider zooKeeperServerServiceProvider;
-
- /**
- * Configure.
- *
- * @throws Exception the exception
- */
- @BeforeClass
- public static void configure() throws Exception {
- System.setProperty(JAVA_NET_PREFER_IPV4_STACK, "true");
- final String hazelCastfileLocation = ResourceUtils.getFilePath4Resource(HAZELCAST_XML_FILE);
- System.setProperty(HAZELCAST_CONFIG, hazelCastfileLocation);
-
- final SortedSet<String> ipAddressSet = NetworkUtils.getIPv4NonLoopAddresses();
-
- if (ipAddressSet.size() == 0) {
- throw new Exception("cound not find real IP address for test");
- }
- logger.info("For Infinispan, setting jgroups.tcp.address to: {}", ipAddressSet.first());
- System.setProperty("jgroups.tcp.address", ipAddressSet.first());
-
- schemaParameters = new SchemaParameters();
-
- schemaParameters.setName(ContextParameterConstants.SCHEMA_GROUP_NAME);
- schemaParameters.getSchemaHelperParameterMap().put("JAVA", new JavaSchemaHelperParameters());
-
- ParameterService.register(schemaParameters, true);
- }
-
- /**
- * Clear configuration.
- */
- @AfterClass
- public static void clear() {
- ParameterService.deregister(schemaParameters);
- }
-
- /**
- * Start zookeeper server.
- *
- * @throws Exception the exception
- */
- private void startZookeeperServer() throws Exception {
- final File zookeeperDirectory = folder.newFolder("zookeeperDirectory");
-
- zookeeperPort = nextZookeeperPort++;
- final InetSocketAddress addr = new InetSocketAddress(zookeeperPort);
- zooKeeperServerServiceProvider = new ZooKeeperServerServiceProvider(zookeeperDirectory, addr);
- zooKeeperServerServiceProvider.startZookeeperServer();
- }
-
- /**
- * Stop zookeeper server.
- */
- private void stopZookeeperServer() {
- if (zooKeeperServerServiceProvider != null) {
- zooKeeperServerServiceProvider.stopZookeeperServer();
- }
- }
-
- /**
- * Test concurrent context jvm local var set.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextJvmLocalVarSet() throws Exception {
- logger.debug("Running testConcurrentContextJVMLocalVarSet test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- contextParameters.getLockManagerParameters().setPluginClass(JvmLocalLockManager.class.getName());
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("JVMLocalVarSet",
- TEST_JVM_COUNT_SINGLE_JVM, TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- assertFalse(result.isEmpty());
-
- final int expected = TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
-
- logger.debug("Ran testConcurrentContextJVMLocalVarSet test");
- }
-
- /**
- * Test concurrent context jvm local no var set.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextJvmLocalNoVarSet() throws Exception {
- logger.debug("Running testConcurrentContextJVMLocalNoVarSet test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("JVMLocalNoVarSet",
- TEST_JVM_COUNT_SINGLE_JVM, TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(Constants.TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
- logger.debug("Ran testConcurrentContextJVMLocalNoVarSet test");
- }
-
- /**
- * Test concurrent context multi jvm no lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextMultiJvmNoLock() throws Exception {
- logger.debug("Running testConcurrentContextMultiJVMNoLock test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- contextParameters.getDistributorParameters().setPluginClass(JvmLocalDistributor.class.getName());
- contextParameters.getLockManagerParameters().setPluginClass(JvmLocalLockManager.class.getName());
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("testConcurrentContextMultiJVMNoLock",
- TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- // No concurrent map so result will be zero
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(0, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
- logger.debug("Ran testConcurrentContextMultiJVMNoLock test");
- }
-
- /**
- * Test concurrent context hazelcast lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextHazelcastLock() throws Exception {
- logger.debug("Running testConcurrentContextHazelcastLock test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- contextParameters.getDistributorParameters().setPluginClass(DEFAULT_DISTRIBUTOR_PLUGIN_CLASS);
- contextParameters.getLockManagerParameters().setPluginClass(HazelcastLockManager.class.getName());
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("HazelcastLock",
- TEST_JVM_COUNT_SINGLE_JVM, TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
- logger.debug("Ran testConcurrentContextHazelcastLock test");
- }
-
- /**
- * Test concurrent context curator lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextCuratorLock() throws Exception {
- logger.debug("Running testConcurrentContextCuratorLock test . . .");
- final ContextParameters contextParameters = new ContextParameters();
- try {
- startZookeeperServer();
- final DistributorParameters distributorParameters = contextParameters.getDistributorParameters();
- distributorParameters.setPluginClass(DEFAULT_DISTRIBUTOR_PLUGIN_CLASS);
-
- final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
- curatorParameters.setPluginClass(CuratorLockManager.class.getName());
- curatorParameters.setZookeeperAddress(ZOOKEEPER_ADDRESS + ":" + zookeeperPort);
- contextParameters.setLockManagerParameters(curatorParameters);
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("CuratorLock",
- TEST_JVM_COUNT_SINGLE_JVM, TEST_THREAD_COUNT_SINGLE_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_SINGLE_JVM * TEST_THREAD_COUNT_SINGLE_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
- logger.debug("Ran testConcurrentContextCuratorLock test");
- } finally {
- stopZookeeperServer();
- clearContextParmetersInParameterService(contextParameters);
- }
- }
-
- /**
- * Test concurrent context hazelcast multi jvm hazelcast lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextHazelcastMultiJvmHazelcastLock() throws Exception {
- logger.debug("Running testConcurrentContextHazelcastMultiJVMHazelcastLock test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- final DistributorParameters distributorParameters = contextParameters.getDistributorParameters();
- distributorParameters.setPluginClass(HazelcastContextDistributor.class.getName());
- contextParameters.getLockManagerParameters().setPluginClass(HazelcastLockManager.class.getName());
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("HazelcastMultiHazelcastlock",
- TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
- logger.debug("Ran testConcurrentContextHazelcastMultiJVMHazelcastLock test");
- }
-
- /**
- * Test concurrent context infinispan multi jvm hazelcastlock.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @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(InfinispanContextDistributor.class.getName());
- infinispanParameters.setConfigFile("infinispan/infinispan-context-test.xml");
- contextParameters.setDistributorParameters(infinispanParameters);
- contextParameters.getLockManagerParameters().setPluginClass(HazelcastLockManager.class.getName());
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("InfinispanMultiHazelcastlock",
- TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
-
- clearContextParmetersInParameterService(contextParameters);
- logger.debug("Ran testConcurrentContextInfinispanMultiJVMHazelcastlock test");
- }
-
- /**
- * Test concurrent context infinispan multi jvm curator lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextInfinispanMultiJvmCuratorLock() throws Exception {
- logger.debug("Running testConcurrentContextInfinispanMultiJVMCuratorLock test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- try {
- startZookeeperServer();
-
- final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters();
- infinispanParameters.setPluginClass(InfinispanContextDistributor.class.getName());
- infinispanParameters.setConfigFile("infinispan/infinispan-context-test.xml");
- contextParameters.setDistributorParameters(infinispanParameters);
-
- final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
- curatorParameters.setPluginClass(CuratorLockManager.class.getName());
- curatorParameters.setZookeeperAddress(ZOOKEEPER_ADDRESS + ":" + zookeeperPort);
- contextParameters.setLockManagerParameters(curatorParameters);
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("InfinispanMultiCuratorLock",
- TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS);
-
- final ConcurrentContext concurrentContext = new ConcurrentContext(configrationProvider);
- final Map<String, TestContextLongItem> result = concurrentContext.testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
- } finally {
- stopZookeeperServer();
- clearContextParmetersInParameterService(contextParameters);
- }
-
- logger.debug("Ran testConcurrentContextInfinispanMultiJVMCuratorLock test");
- }
-
- /**
- * Test concurrent context hazelcast multi jvm curator lock.
- *
- * @throws Exception the exception
- */
- @Test
- public void testConcurrentContextHazelcastMultiJvmCuratorLock() throws Exception {
- logger.debug("Running testConcurrentContextHazelcastMultiJVMCuratorLock test . . .");
-
- final ContextParameters contextParameters = new ContextParameters();
- try {
- startZookeeperServer();
-
- contextParameters.getDistributorParameters()
- .setPluginClass(HazelcastContextDistributor.class.getName());
-
- final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
- curatorParameters.setPluginClass(CuratorLockManager.class.getName());
- curatorParameters.setZookeeperAddress(ZOOKEEPER_ADDRESS + ":" + zookeeperPort);
- contextParameters.setLockManagerParameters(curatorParameters);
- setContextParmetersInParameterService(contextParameters);
-
- final ConfigrationProvider configrationProvider = getConfigrationProvider("HazelcastMultiCuratorLock",
- TEST_JVM_COUNT_MULTI_JVM, TEST_THREAD_COUNT_MULTI_JVM, TEST_THREAD_LOOPS);
- final Map<String, TestContextLongItem> result =
- new ConcurrentContext(configrationProvider).testConcurrentContext();
-
- final int expected = TEST_JVM_COUNT_MULTI_JVM * TEST_THREAD_COUNT_MULTI_JVM * TEST_THREAD_LOOPS;
- final TestContextLongItem actual = result.get(TEST_VALUE);
- assertNotNull(actual);
- assertEquals(expected, actual.getLongValue());
- } finally {
- stopZookeeperServer();
- clearContextParmetersInParameterService(contextParameters);
- }
- logger.debug("Ran testConcurrentContextHazelcastMultiJVMCuratorLock test");
- }
-
- /**
- * Gets the configration provider.
- *
- * @param testType the test type
- * @param jvmCount the jvm count
- * @param threadCount the thread count
- * @param threadLoops the thread loops
- * @return the configration provider
- */
- ConfigrationProvider getConfigrationProvider(final String testType, final int jvmCount, final int threadCount,
- final int threadLoops) {
- return new ConfigrationProviderImpl(testType, jvmCount, threadCount, threadLoops, 16,
- LockType.WRITE_LOCK_SINGLE_VALUE_UPDATE.getValue()) {
- @Override
- public Map<String, Object> getContextAlbumInitValues() {
- final Map<String, Object> initValues = super.getContextAlbumInitValues();
- initValues.put(TEST_VALUE, new TestContextLongItem(0L));
- return initValues;
- }
-
- };
- }
-
- /**
- * Set the context parameters in the parameter service.
- *
- * @param contextParameters The parameters to set.
- */
- private void setContextParmetersInParameterService(final ContextParameters contextParameters) {
- ParameterService.register(contextParameters);
- ParameterService.register(contextParameters.getDistributorParameters());
- ParameterService.register(contextParameters.getLockManagerParameters());
- ParameterService.register(contextParameters.getPersistorParameters());
- }
-
- /**
- * Clear the context parameters in the parameter service.
- *
- * @param contextParameters The parameters to set.
- */
- private void clearContextParmetersInParameterService(final ContextParameters contextParameters) {
- ParameterService.deregister(contextParameters.getPersistorParameters());
- ParameterService.deregister(contextParameters.getLockManagerParameters());
- ParameterService.deregister(contextParameters.getDistributorParameters());
- ParameterService.deregister(contextParameters);
-
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextAlbumUpdate.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextAlbumUpdate.java
deleted file mode 100644
index 97bfa9efd..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextAlbumUpdate.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.distribution;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.APEX_DISTRIBUTOR;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.VERSION;
-
-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.model.basicmodel.concepts.ApexException;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum;
-import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
-import org.onap.policy.apex.model.utilities.comparison.KeyedMapComparer;
-import org.onap.policy.apex.model.utilities.comparison.KeyedMapDifference;
-import org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class ContextAlbumUpdate is used to test Context Album updates.
- */
-public class ContextAlbumUpdate {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ContextAlbumUpdate.class);
-
- /**
- * Test context album update.
- *
- * @throws ApexException the apex exception
- */
- public void testContextAlbumUpdate() throws ApexException {
- LOGGER.debug("Running TestContextAlbumUpdate test . . .");
-
- final AxArtifactKey distributorKey = new AxArtifactKey(APEX_DISTRIBUTOR, VERSION);
- final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey);
-
- final AxContextModel longModel = TestContextAlbumFactory.createLongContextModel();
- contextDistributor.registerModel(longModel);
-
- final AxContextAlbum longAlbum1Def = longModel.getAlbums().get(new AxArtifactKey("LongContextAlbum1", VERSION));
- final ContextAlbum longAlbum1 = contextDistributor.createContextAlbum(longAlbum1Def.getKey());
-
- assertNotNull(longAlbum1);
-
- final AxContextAlbum longAlbum2Def = longModel.getAlbums().get(new AxArtifactKey("LongContextAlbum2", VERSION));
- final ContextAlbum longAlbum2 = contextDistributor.createContextAlbum(longAlbum2Def.getKey());
-
- assertNotNull(longAlbum2);
-
- longAlbum1.put("0", (long) 0);
- longAlbum1.put("1", (long) 1);
- longAlbum1.put("2", (long) 2);
- longAlbum1.put("3", (long) 3);
-
- final KeyedMapDifference<String, Object> result0 =
- new KeyedMapComparer<String, Object>().compareMaps(longAlbum1, longAlbum2);
-
- assertEquals(0, result0.getDifferentValues().size());
- assertEquals(0, result0.getIdenticalValues().size());
- assertEquals(0, result0.getRightOnly().size());
- assertEquals(4, result0.getLeftOnly().size());
-
- longAlbum2.putAll(longAlbum1);
-
- final KeyedMapDifference<String, Object> result1 =
- new KeyedMapComparer<String, Object>().compareMaps(longAlbum1, longAlbum2);
-
-
- assertEquals(0, result1.getDifferentValues().size());
- assertEquals(4, result1.getIdenticalValues().size());
- assertEquals(0, result1.getRightOnly().size());
- assertEquals(0, result1.getLeftOnly().size());
-
- longAlbum1.put("4", (long) 4);
- longAlbum2.put("5", (long) 5);
- longAlbum1.put("67", (long) 6);
- longAlbum2.put("67", (long) 7);
-
- final KeyedMapDifference<String, Object> result2 =
- new KeyedMapComparer<String, Object>().compareMaps(longAlbum1, longAlbum2);
-
- assertEquals(1, result2.getDifferentValues().size());
- assertEquals(4, result2.getIdenticalValues().size());
- assertEquals(1, result2.getRightOnly().size());
- assertEquals(1, result2.getLeftOnly().size());
-
- longAlbum1.remove("0");
- longAlbum2.remove("3");
-
- final KeyedMapDifference<String, Object> result3 =
- new KeyedMapComparer<String, Object>().compareMaps(longAlbum1, longAlbum2);
-
- assertEquals(1, result3.getDifferentValues().size());
- assertEquals(2, result3.getIdenticalValues().size());
- assertEquals(2, result3.getRightOnly().size());
- assertEquals(2, result3.getLeftOnly().size());
- contextDistributor.clear();
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextInstantiation.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextInstantiation.java
deleted file mode 100644
index fa3612fe9..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextInstantiation.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.distribution;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory.createPolicyContextModel;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.BYTE_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.EXTERNAL_CONTEXT;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.EXTERNAL_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.FLOAT_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.GLOBAL_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.GLOBAL_CONTEXT_KEY;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.INT_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.INT_VAL_2;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.INT_VAL_3;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.PI_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.POLICY_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.STRING_EXT_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.STRING_GLOBAL_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.STRING_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TEST_POLICY_CONTEXT_ITEM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TIME_ZONE;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.VERSION;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeSet;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.ContextRuntimeException;
-import org.onap.policy.apex.context.Distributor;
-import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
-import org.onap.policy.apex.context.test.concepts.TestContextBooleanItem;
-import org.onap.policy.apex.context.test.concepts.TestContextByteItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateLocaleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateTzItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDoubleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextFloatItem;
-import org.onap.policy.apex.context.test.concepts.TestContextIntItem;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.onap.policy.apex.context.test.concepts.TestContextLongObjectItem;
-import org.onap.policy.apex.context.test.concepts.TestContextStringItem;
-import org.onap.policy.apex.context.test.concepts.TestContextTreeMapItem;
-import org.onap.policy.apex.context.test.concepts.TestContextTreeSetItem;
-import org.onap.policy.apex.context.test.concepts.TestExternalContextItem;
-import org.onap.policy.apex.context.test.concepts.TestGlobalContextItem;
-import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
-import org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory;
-import org.onap.policy.apex.testsuites.integration.context.utils.Constants;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class TestContextInstantiation is used to test Apex context insitiation
- * is correct.
- *
- * @author Sergey Sachkov (sergey.sachkov@ericsson.com)
- */
-public class ContextInstantiation {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ContextInstantiation.class);
-
- // Recurring string constants
- private static final String TEST_POLICY_CONTEXT_ITEM000 = "TestPolicyContextItem000";
- private static final String TEST_POLICY_CONTEXT_ITEM005 = "TestPolicyContextItem005";
- private static final String TEST_POLICY_CONTEXT_ITEM004 = "TestPolicyContextItem004";
- private static final String TEST_POLICY_CONTEXT_ITEM003 = "TestPolicyContextItem003";
- private static final String TEST_POLICY_CONTEXT_ITEM002 = "TestPolicyContextItem002";
- private static final String TEST_POLICY_CONTEXT_ITEM001 = "TestPolicyContextItem001";
- private static final String NULL_ILLEGAL = "album \"ExternalContextAlbum:0.0.1\" null values are illegal on key ";
-
- private static final TreeSet<String> TEST_TREE_SET = new TreeSet<>();
- private static final Map<String, String> TEST_HASH_MAP = new HashMap<>();
-
- static {
- TEST_TREE_SET.add("one hundred");
- TEST_TREE_SET.add("one hundred and one");
- TEST_TREE_SET.add("one hundred and two");
- TEST_TREE_SET.add("one hundred and three");
- TEST_TREE_SET.add("one hundred and four");
-
- TEST_HASH_MAP.put("0", "zero");
- TEST_HASH_MAP.put("1", "one");
- TEST_HASH_MAP.put("2", "two");
- TEST_HASH_MAP.put("3", "three");
- TEST_HASH_MAP.put("4", "four");
-
- }
-
- /**
- * Test context instantiation.
- *
- * @throws ContextException the context exception
- */
- public void testContextInstantiation() throws ContextException {
- LOGGER.debug("Running TestContextInstantiation test . . .");
-
- final Distributor contextDistributor = getDistributor();
-
- final ContextAlbum policyContextAlbum = contextDistributor
- .createContextAlbum(new AxArtifactKey(POLICY_CONTEXT_ALBUM, VERSION));
-
- assertNotNull(policyContextAlbum);
- policyContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
-
- final Date testDate = new Date();
-
- final TestContextDateTzItem tci9 = getTestContextDateTzItem(testDate);
- final TestContextDateLocaleItem tciA = getTestContextDateLocaleItem(testDate);
-
- final TestPolicyContextItem policyContext = getTestPolicyContextItem(policyContextAlbum, testDate);
-
- final Map<String, Object> valueMap0 = new HashMap<>();
- valueMap0.put(TEST_POLICY_CONTEXT_ITEM, policyContext);
-
- policyContextAlbum.putAll(valueMap0);
-
- final TestPolicyContextItem contextItem = (TestPolicyContextItem) policyContextAlbum
- .get(TEST_POLICY_CONTEXT_ITEM);
- assertEquals(STRING_VAL, contextItem.getTestPolicyContextItem000().getStringValue());
-
- assertEquals(LONG_VAL, contextItem.getTestPolicyContextItem001().getLongValue());
- assertDouble(contextItem.getTestPolicyContextItem002().getDoubleValue(), PI_VAL);
- assertTrue(contextItem.getTestPolicyContextItem003().isFlag());
- assertEquals(contextItem.getTestPolicyContextItem004().getLongValue(), testDate.getTime());
- assertEquals(TEST_HASH_MAP, contextItem.getTestPolicyContextItem005().getMapValue());
-
- final TestGlobalContextItem globalContext = getTestGlobalContextItem(contextDistributor, testDate, tci9, tciA);
-
- final Map<String, Object> valueMap1 = new HashMap<>();
- valueMap1.put(GLOBAL_CONTEXT_KEY, globalContext);
-
- final ContextAlbum globalContextAlbum = getContextAlbum(contextDistributor);
-
- globalContextAlbum.putAll(valueMap1);
-
- final TestGlobalContextItem globalContextItem = (TestGlobalContextItem) globalContextAlbum
- .get(GLOBAL_CONTEXT_KEY);
-
- assertFalse(globalContextItem.getTestGlobalContextItem000().isFlag());
-
- assertEquals(BYTE_VAL, globalContextItem.getTestGlobalContextItem001().getByteValue());
-
- assertEquals(INT_VAL, globalContextItem.getTestGlobalContextItem002().getIntValue());
- assertEquals(LONG_VAL, globalContextItem.getTestGlobalContextItem003().getLongValue());
- assertFloat(FLOAT_VAL, globalContextItem.getTestGlobalContextItem004().getFloatValue());
-
- assertDouble(PI_VAL, globalContextItem.getTestGlobalContextItem005().getDoubleValue());
- assertEquals(STRING_GLOBAL_VAL, globalContextItem.getTestGlobalContextItem006().getStringValue());
-
- assertEquals((Long) testDate.getTime(), globalContextItem.getTestGlobalContextItem007().getLongValue());
- assertEquals(testDate, globalContextItem.getTestGlobalContextItem008().getDateValue());
- assertEquals(tci9.getDateValue().getTime(),
- globalContextItem.getTestGlobalContextItem009().getDateValue().getTime());
-
- assertEquals(tciA.getDateValue().getTime(),
- globalContextItem.getTestGlobalContextItem00A().getDateValue().getTime());
-
- assertEquals(TEST_TREE_SET, globalContextItem.getTestGlobalContextItem00B().getSetValue());
- assertEquals(TEST_HASH_MAP, globalContextItem.getTestGlobalContextItem00C().getMapValue());
-
- final AxContextModel externalContextModel = TestContextAlbumFactory.createExternalContextModel();
-
- final TestContextDateTzItem tci9A = new TestContextDateTzItem(tci9);
- final TestContextDateLocaleItem tciAa = new TestContextDateLocaleItem(tciA);
- final TestExternalContextItem externalContext = getTestExternalContextItem(testDate, tci9A, tciAa);
-
- final Map<String, Object> valueMap2 = new HashMap<>();
- valueMap2.put(EXTERNAL_CONTEXT, externalContext);
-
- contextDistributor.clear();
- contextDistributor.init(new AxArtifactKey("ClearedandInittedDistributor", VERSION));
- contextDistributor.registerModel(externalContextModel);
-
- final AxArtifactKey axContextAlbumKey = new AxArtifactKey(EXTERNAL_CONTEXT_ALBUM, VERSION);
- final ContextAlbum externalContextAlbum = contextDistributor.createContextAlbum(axContextAlbumKey);
- assertNotNull(externalContextAlbum);
- externalContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
-
- externalContextAlbum.putAll(valueMap2);
- externalContextAlbum.getAlbumDefinition().setWritable(false);
-
- TestExternalContextItem externalContextItem = (TestExternalContextItem) externalContextAlbum
- .get(EXTERNAL_CONTEXT);
-
- assertFalse(externalContextItem.getTestExternalContextItem000().isFlag());
- assertEquals(BYTE_VAL, externalContextItem.getTestExternalContextItem001().getByteValue());
- assertEquals(INT_VAL, externalContextItem.getTestExternalContextItem002().getIntValue());
-
- assertFloat(LONG_VAL, externalContextItem.getTestExternalContextItem003().getLongValue());
- assertFloat(FLOAT_VAL, externalContextItem.getTestExternalContextItem004().getFloatValue());
-
- assertDouble(PI_VAL, externalContextItem.getTestExternalContextItem005().getDoubleValue());
- assertEquals(STRING_EXT_VAL, externalContextItem.getTestExternalContextItem006().getStringValue());
- assertEquals((Long) testDate.getTime(), externalContextItem.getTestExternalContextItem007().getLongValue());
- assertEquals(testDate, externalContextItem.getTestExternalContextItem008().getDateValue());
- assertEquals(tci9A.getDateValue().getTime(),
- externalContextItem.getTestExternalContextItem009().getDateValue().getTime());
-
- assertEquals(tciAa.getDateValue().getTime(),
- externalContextItem.getTestExternalContextItem00A().getDateValue().getTime());
- assertEquals(TEST_TREE_SET, externalContextItem.getTestExternalContextItem00B().getSetValue());
- assertEquals(TEST_HASH_MAP, externalContextItem.getTestExternalContextItem00C().getMapValue());
-
- final Collection<Object> mapValues = externalContextAlbum.values();
- assertTrue(externalContextAlbum.values().containsAll(mapValues));
-
- // Check that clearing does not work
- assertThatThrownBy(() -> externalContextAlbum.clear()).isInstanceOf(ContextRuntimeException.class)
- .hasMessageContaining("album \"ExternalContextAlbum:0.0.1\" clear() not allowed on read only albums");
- assertEquals(1, externalContextAlbum.size());
-
- assertContextAlbumContains(externalContext, externalContextAlbum);
-
- final Set<Entry<String, Object>> entrySet = externalContextAlbum.entrySet();
- assertEquals(1, entrySet.size());
-
- assertThatThrownBy(() -> externalContextAlbum.get(null)).isInstanceOf(ContextRuntimeException.class)
- .hasMessageContaining("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for get()");
- final Object aObject = externalContextAlbum.get(EXTERNAL_CONTEXT);
- assertEquals(aObject, externalContext);
-
- // put null keys should fail, throws a runtime exception
- assertThatThrownBy(() -> externalContextAlbum.put(null, null))
- .hasMessageContaining("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for put()");
- assertThatThrownBy(() -> externalContextAlbum.put("TestExternalContextItem00A", null))
- .hasMessageContaining(NULL_ILLEGAL + "\"TestExternalContextItem00A\" for put()");
- assertEquals(tciAa, externalContextItem.getTestExternalContextItem00A());
-
- // Should return the hash set
- assertEquals(TEST_TREE_SET, externalContextItem.getTestExternalContextItem00B().getSetValue());
-
- assertTrue(externalContextAlbum.values().containsAll(mapValues));
-
- // Set the write flag back as it should be
- externalContextAlbum.getAlbumDefinition().setWritable(true);
-
- // Put should return the previous contextItem
- final TestExternalContextItem externalContextOther = new TestExternalContextItem();
- externalContextOther.setTestExternalContextItem002(new TestContextIntItem());
- externalContextOther.getTestExternalContextItem002().setIntValue(INT_VAL_2);
-
- assertThat(externalContextAlbum.put(EXTERNAL_CONTEXT, externalContextOther)).isEqualTo(externalContext);
- externalContextItem = (TestExternalContextItem) externalContextAlbum.get(EXTERNAL_CONTEXT);
- assertEquals(INT_VAL_2, externalContextItem.getTestExternalContextItem002().getIntValue());
- assertThat(externalContextAlbum.put(EXTERNAL_CONTEXT, externalContext)).isEqualTo(externalContextOther);
- externalContextItem = (TestExternalContextItem) externalContextAlbum.get(EXTERNAL_CONTEXT);
- assertEquals(INT_VAL_3, externalContextItem.getTestExternalContextItem002().getIntValue());
- assertThatThrownBy(() -> externalContextAlbum.put("TestExternalContextItem00A", null))
- .hasMessageContaining(NULL_ILLEGAL + "\"TestExternalContextItem00A\" for put()");
-
- assertThat(externalContextAlbum.get(EXTERNAL_CONTEXT)).isEqualTo(externalContext);
-
- assertThatThrownBy(() -> externalContextAlbum.put("TestExternalContextItemFFF", null))
- .hasMessageContaining(NULL_ILLEGAL + "\"TestExternalContextItemFFF\" for put()");
- assertEquals(1, externalContextAlbum.size());
-
- assertThatThrownBy(() -> externalContextAlbum.put("TestExternalContextItemFFF", null))
- .hasMessageContaining(NULL_ILLEGAL + "\"TestExternalContextItemFFF\" for put()");
- assertEquals(1, externalContextAlbum.size());
-
- // Should ignore remove
- externalContextAlbum.remove("TestExternalContextItem017");
- assertEquals(1, externalContextAlbum.size());
- assertEquals(1, externalContextAlbum.values().size());
- assertTrue(externalContextAlbum.values().containsAll(mapValues));
-
- contextDistributor.clear();
- }
-
- private void assertContextAlbumContains(final TestExternalContextItem externalContext,
- final ContextAlbum externalContextAlbum) {
- assertThatThrownBy(() -> externalContextAlbum.containsKey(null))
- .hasMessageContaining("null values are illegal on method parameter \"key\"");
- assertTrue(externalContextAlbum.containsKey(EXTERNAL_CONTEXT));
- assertTrue(!externalContextAlbum.containsKey(GLOBAL_CONTEXT_KEY));
-
- assertThatThrownBy(() -> externalContextAlbum.containsValue(null))
- .hasMessageContaining("null values are illegal on method parameter \"value\"");
- assertTrue(externalContextAlbum.containsValue(externalContext));
- assertFalse(externalContextAlbum.containsValue("Hello"));
- }
-
- private ContextAlbum getContextAlbum(final Distributor contextDistributor) throws ContextException {
- final ContextAlbum globalContextAlbum = contextDistributor
- .createContextAlbum(new AxArtifactKey(GLOBAL_CONTEXT_ALBUM, VERSION));
- assertNotNull(globalContextAlbum);
- globalContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
- return globalContextAlbum;
- }
-
- private TestGlobalContextItem getTestGlobalContextItem(final Distributor contextDistributor, final Date testDate,
- final TestContextDateTzItem tci9, final TestContextDateLocaleItem tciA) throws ContextException {
- final AxContextModel globalContextModel = TestContextAlbumFactory.createGlobalContextModel();
- final TestGlobalContextItem globalContext = getTestGlobalContextItem(testDate, tci9, tciA);
- contextDistributor.registerModel(globalContextModel);
- return globalContext;
- }
-
- private TestGlobalContextItem getTestGlobalContextItem(final Date testDate, final TestContextDateTzItem tci9,
- final TestContextDateLocaleItem tciA) {
- final TestGlobalContextItem globalContext = new TestGlobalContextItem();
-
- final TestContextBooleanItem testGlobalContextItem000 = new TestContextBooleanItem(false);
- final TestContextByteItem testGlobalContextItem001 = new TestContextByteItem(BYTE_VAL);
- final TestContextIntItem testGlobalContextItem002 = new TestContextIntItem(INT_VAL);
- final TestContextLongItem testGlobalContextItem003 = new TestContextLongItem(LONG_VAL);
- final TestContextFloatItem testGlobalContextItem004 = new TestContextFloatItem(FLOAT_VAL);
- final TestContextDoubleItem testGlobalContextItem005 = new TestContextDoubleItem(PI_VAL);
- final TestContextStringItem testGlobalContextItem006 = new TestContextStringItem(STRING_GLOBAL_VAL);
- final TestContextLongObjectItem testGlobalContextItem007 = new TestContextLongObjectItem(testDate.getTime());
-
- final TestContextDateItem testGlobalContextItem008 = new TestContextDateItem(testDate);
- final TestContextTreeSetItem testGlobalContextItem00B = new TestContextTreeSetItem(TEST_TREE_SET);
- final TestContextTreeMapItem testGlobalContextItem00C = new TestContextTreeMapItem(TEST_HASH_MAP);
-
- globalContext.setTestGlobalContextItem000(testGlobalContextItem000);
- globalContext.setTestGlobalContextItem001(testGlobalContextItem001);
- globalContext.setTestGlobalContextItem002(testGlobalContextItem002);
- globalContext.setTestGlobalContextItem003(testGlobalContextItem003);
- globalContext.setTestGlobalContextItem004(testGlobalContextItem004);
- globalContext.setTestGlobalContextItem005(testGlobalContextItem005);
- globalContext.setTestGlobalContextItem006(testGlobalContextItem006);
- globalContext.setTestGlobalContextItem007(testGlobalContextItem007);
- globalContext.setTestGlobalContextItem008(testGlobalContextItem008);
- globalContext.setTestGlobalContextItem009(tci9);
- globalContext.setTestGlobalContextItem00A(tciA);
- globalContext.setTestGlobalContextItem00B(testGlobalContextItem00B);
- globalContext.setTestGlobalContextItem00C(testGlobalContextItem00C);
- return globalContext;
- }
-
- private TestPolicyContextItem getTestPolicyContextItem(final ContextAlbum policyContextAlbum, final Date testDate) {
- final TestContextStringItem contextStringItem = new TestContextStringItem(STRING_VAL);
- final TestContextLongItem contextLongItem = new TestContextLongItem(LONG_VAL);
- final TestContextDoubleItem contextDoubleItem = new TestContextDoubleItem(PI_VAL);
- final TestContextBooleanItem contextBooleanItem = new TestContextBooleanItem(true);
- final TestContextLongItem contextLongItem2 = new TestContextLongItem(testDate.getTime());
- final TestContextTreeMapItem contextTreeMapItem = new TestContextTreeMapItem(TEST_HASH_MAP);
-
- final Map<String, Object> valueMapA = new LinkedHashMap<>();
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM001, contextLongItem);
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM002, contextDoubleItem);
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM003, contextBooleanItem);
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM004, contextLongItem2);
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM005, contextTreeMapItem);
- valueMapA.put(TEST_POLICY_CONTEXT_ITEM000, contextStringItem);
-
- assertPutMethods(policyContextAlbum, contextStringItem, valueMapA);
-
- final TestPolicyContextItem policyContext = new TestPolicyContextItem();
-
- LOGGER.debug(policyContextAlbum.toString());
-
- policyContext.setTestPolicyContextItem000(contextStringItem);
- policyContext.setTestPolicyContextItem001(contextLongItem);
- policyContext.setTestPolicyContextItem002(contextDoubleItem);
- policyContext.setTestPolicyContextItem003(contextBooleanItem);
- policyContext.setTestPolicyContextItem004(contextLongItem2);
- policyContext.setTestPolicyContextItem005(contextTreeMapItem);
- return policyContext;
- }
-
- private void assertPutMethods(final ContextAlbum policyContextAlbum, final TestContextStringItem contextStringItem,
- final Map<String, Object> valueMapA) {
- assertThatThrownBy(() -> policyContextAlbum.put(TEST_POLICY_CONTEXT_ITEM000, contextStringItem))
- .hasMessageContaining(getMessage(TEST_POLICY_CONTEXT_ITEM000, "TestContextItem006",
- TestContextStringItem.class.getName(), "stringValue=" + STRING_VAL));
- assertThatThrownBy(() -> policyContextAlbum.putAll(valueMapA))
- .hasMessageContaining(getMessage(TEST_POLICY_CONTEXT_ITEM001, "TestContextItem003",
- TestContextLongItem.class.getName(), "longValue=" + INT_VAL_3));
- }
-
- private AxContextModel getAxContextModel() {
- final AxContextModel policyContextModel = createPolicyContextModel();
- final AxValidationResult result = new AxValidationResult();
- policyContextModel.validate(result);
- LOGGER.debug(result.toString());
-
- assertTrue(result.isValid());
- return policyContextModel;
- }
-
- private TestContextDateLocaleItem getTestContextDateLocaleItem(final Date testDate) {
- final TestContextDateLocaleItem tciA = new TestContextDateLocaleItem();
- tciA.setDateValue(new TestContextDateItem(testDate));
- tciA.setTzValue(TIME_ZONE.getDisplayName());
- tciA.setDst(true);
- tciA.setUtcOffset(-600);
- tciA.setLocale(Locale.ENGLISH);
- return tciA;
- }
-
- private TestContextDateTzItem getTestContextDateTzItem(final Date testDate) {
- final TestContextDateTzItem tci9 = new TestContextDateTzItem();
- tci9.setDateValue(new TestContextDateItem(testDate));
- tci9.setTzValue(TIME_ZONE.getDisplayName());
- tci9.setDst(true);
- return tci9;
- }
-
- private TestExternalContextItem getTestExternalContextItem(final Date testDate, final TestContextDateTzItem tci9A,
- final TestContextDateLocaleItem tciAa) {
- final TestExternalContextItem externalContext = new TestExternalContextItem();
-
- final TestContextBooleanItem testExternalContextItem000 = new TestContextBooleanItem(false);
- final TestContextByteItem testExternalContextItem001 = new TestContextByteItem(BYTE_VAL);
- final TestContextIntItem testExternalContextItem002 = new TestContextIntItem(INT_VAL);
- final TestContextLongItem testExternalContextItem003 = new TestContextLongItem(LONG_VAL);
- final TestContextFloatItem testExternalContextItem004 = new TestContextFloatItem(3.14159265359F);
- final TestContextDoubleItem testExternalContextItem005 = new TestContextDoubleItem(PI_VAL);
- final TestContextStringItem testExternalContextItem006 = new TestContextStringItem(STRING_EXT_VAL);
- final TestContextLongObjectItem testExternalContextItem007 = new TestContextLongObjectItem(testDate.getTime());
- final TestContextDateItem testExternalContextItem008 = new TestContextDateItem(testDate);
- final TestContextTreeSetItem testExternalContextItem00B = new TestContextTreeSetItem(TEST_TREE_SET);
- final TestContextTreeMapItem testExternalContextItem00C = new TestContextTreeMapItem(TEST_HASH_MAP);
-
- externalContext.setTestExternalContextItem000(testExternalContextItem000);
- externalContext.setTestExternalContextItem001(testExternalContextItem001);
- externalContext.setTestExternalContextItem002(testExternalContextItem002);
- externalContext.setTestExternalContextItem003(testExternalContextItem003);
- externalContext.setTestExternalContextItem004(testExternalContextItem004);
- externalContext.setTestExternalContextItem005(testExternalContextItem005);
- externalContext.setTestExternalContextItem006(testExternalContextItem006);
- externalContext.setTestExternalContextItem007(testExternalContextItem007);
- externalContext.setTestExternalContextItem008(testExternalContextItem008);
- externalContext.setTestExternalContextItem009(tci9A);
- externalContext.setTestExternalContextItem00A(tciAa);
- externalContext.setTestExternalContextItem00B(testExternalContextItem00B);
- externalContext.setTestExternalContextItem00C(testExternalContextItem00C);
- return externalContext;
- }
-
- private String getMessage(final String key, final String objName, final String clazzName, final String valString) {
- return getMessage(key, objName, clazzName, valString, TestPolicyContextItem.class.getName());
- }
-
- private String getMessage(final String key, final String objName, final String clazzName, final String valString,
- final String compatibleClazzName) {
- return "Failed to set context value for key \"" + key + "\" in album \"PolicyContextAlbum:0.0.1\": "
- + "PolicyContextAlbum:0.0.1: object \"" + objName + " [" + valString + "]\" " + "of class \"" + clazzName
- + "\"" + " not compatible with class \"" + compatibleClazzName + "\"";
- }
-
- private void assertFloat(final float actual, final float expected) {
- assertThat(actual).isEqualTo(expected);
- }
-
- private void assertDouble(final double actual, final double expected) {
- assertThat(actual).isEqualTo(expected);
- }
-
- private Distributor getDistributor() throws ContextException {
- final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributorInit", VERSION);
- final Distributor distributor = new DistributorFactory().getDistributor(distributorKey);
- final AxContextModel policyContextModel = getAxContextModel();
- distributor.registerModel(policyContextModel);
- return distributor;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java
deleted file mode 100644
index 8d5b702b0..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020,2022 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.distribution;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.APEX_DISTRIBUTOR;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.DATE_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.MAP_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TIME_ZONE;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.VERSION;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.getAxArtifactKeyArray;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-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.TestContextDateItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateLocaleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextTreeMapItem;
-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.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class TestContextUpdate checks context updates.
- *
- * @author Sergey Sachkov (sergey.sachkov@ericsson.com)
- */
-public class ContextUpdate {
- private static final String ZERO = "zero";
- private static final String NUMBER_ZERO = "0";
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ContextUpdate.class);
-
- /**
- * Test context update.
- *
- * @throws ApexException the apex exception
- */
- public void testContextUpdate() throws ApexException {
- LOGGER.debug("Running TestContextUpdate test . . .");
-
- final Distributor contextDistributor = getDistributor();
-
- final ContextAlbum longContextAlbum = getContextAlbum(LONG_CONTEXT_ALBUM, contextDistributor);
- final ContextAlbum dateContextAlbum = getContextAlbum(DATE_CONTEXT_ALBUM, contextDistributor);
- final ContextAlbum mapContextAlbum = getContextAlbum(MAP_CONTEXT_ALBUM, contextDistributor);
-
- final TestContextDateLocaleItem tciA = getTestContextDateLocaleItem();
- final TestContextTreeMapItem tciC = getTestContextTreeMapItem();
-
- longContextAlbum.put(NUMBER_ZERO, (long) 0);
- longContextAlbum.put(NUMBER_ZERO, 0);
- longContextAlbum.put(NUMBER_ZERO, NUMBER_ZERO);
-
- assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, ZERO))
- .hasMessage("Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\":"
- + " LongContextAlbum:0.0.1: object \"zero\" of class \"java.lang.String\" not compatible with"
- + " class \"java.lang.Long\"");
- assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, ""))
- .hasMessage("Failed to set context value for key \"0\" in album \"LongContextAlbum:0.0.1\": "
- + "LongContextAlbum:0.0.1: object \"\" of class \"java.lang.String\" not "
- + "compatible with class \"java.lang.Long\"");
- assertThatThrownBy(() -> longContextAlbum.put(NUMBER_ZERO, null))
- .hasMessage("album \"LongContextAlbum:0.0.1\" null values are illegal on key \"0\" for put()");
- assertThatThrownBy(() -> longContextAlbum.put(null, null))
- .hasMessage("album \"LongContextAlbum:0.0.1\" null keys are illegal on keys for put()");
-
- assertNull(dateContextAlbum.put("date0", tciA));
- assertThat(dateContextAlbum.put("date0", tciA)).isEqualTo(tciA);
-
- assertNull(mapContextAlbum.put("map0", tciC));
- assertThat(mapContextAlbum.put("map0", tciC)).isEqualTo(tciC);
-
- contextDistributor.clear();
- }
-
- private TestContextTreeMapItem getTestContextTreeMapItem() {
- final Map<String, String> testHashMap = new HashMap<>();
- testHashMap.put(NUMBER_ZERO, ZERO);
- testHashMap.put("1", "one");
- testHashMap.put("2", "two");
- testHashMap.put("3", "three");
- testHashMap.put("4", "four");
-
- return new TestContextTreeMapItem(testHashMap);
- }
-
- private TestContextDateLocaleItem getTestContextDateLocaleItem() {
- final TestContextDateLocaleItem tciA = new TestContextDateLocaleItem();
- tciA.setDateValue(new TestContextDateItem(new Date()));
- tciA.setTzValue(TIME_ZONE.getDisplayName());
- tciA.setDst(true);
- tciA.setUtcOffset(-600);
- tciA.setLocale(Locale.ENGLISH);
- return tciA;
- }
-
- private ContextAlbum getContextAlbum(final String albumKey, final Distributor contextDistributor)
- throws ContextException {
- final ContextAlbum longContextAlbum = contextDistributor
- .createContextAlbum(new AxArtifactKey(albumKey, VERSION));
- assertNotNull(longContextAlbum);
- longContextAlbum.setUserArtifactStack(getAxArtifactKeyArray());
- return longContextAlbum;
- }
-
- private Distributor getDistributor() throws ContextException {
- final AxArtifactKey distributorKey = new AxArtifactKey(APEX_DISTRIBUTOR, VERSION);
- final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey);
-
- final AxContextModel multiModel = TestContextAlbumFactory.createMultiAlbumsContextModel();
- contextDistributor.registerModel(multiModel);
- return contextDistributor;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/HazelcastContextDistributorTest.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/HazelcastContextDistributorTest.java
deleted file mode 100644
index f38dfe453..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/HazelcastContextDistributorTest.java
+++ /dev/null
@@ -1,135 +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.testsuites.integration.context.distribution;
-
-import java.io.IOException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
-import org.onap.policy.apex.context.parameters.ContextParameterConstants;
-import org.onap.policy.apex.context.parameters.ContextParameters;
-import org.onap.policy.apex.context.parameters.SchemaParameters;
-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.hazelcast.HazelcastContextDistributor;
-import org.onap.policy.common.parameters.ParameterService;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class HazelcastContextDistributorTest.
- */
-public class HazelcastContextDistributorTest {
- private static final String HAZEL_CAST_PLUGIN_CLASS = HazelcastContextDistributor.class.getName();
- // Logger for this class
- private static final XLogger logger = XLoggerFactory.getXLogger(HazelcastContextDistributorTest.class);
-
- private SchemaParameters schemaParameters;
- private ContextParameters contextParameters;
-
- /**
- * Before test.
- */
- @Before
- public void beforeTest() {
- contextParameters = new ContextParameters();
-
- contextParameters.setName(ContextParameterConstants.MAIN_GROUP_NAME);
- contextParameters.getDistributorParameters().setName(ContextParameterConstants.DISTRIBUTOR_GROUP_NAME);
- contextParameters.getLockManagerParameters().setName(ContextParameterConstants.LOCKING_GROUP_NAME);
- contextParameters.getPersistorParameters().setName(ContextParameterConstants.PERSISTENCE_GROUP_NAME);
-
- contextParameters.getDistributorParameters().setPluginClass(HAZEL_CAST_PLUGIN_CLASS);
-
- ParameterService.register(contextParameters);
- ParameterService.register(contextParameters.getDistributorParameters());
- ParameterService.register(contextParameters.getLockManagerParameters());
- ParameterService.register(contextParameters.getPersistorParameters());
-
- schemaParameters = new SchemaParameters();
- schemaParameters.setName(ContextParameterConstants.SCHEMA_GROUP_NAME);
- schemaParameters.getSchemaHelperParameterMap().put("JAVA", new JavaSchemaHelperParameters());
-
- ParameterService.register(schemaParameters);
- }
-
- /**
- * After test.
- */
- @After
- public void afterTest() {
- ParameterService.deregister(schemaParameters);
-
- ParameterService.deregister(contextParameters.getDistributorParameters());
- ParameterService.deregister(contextParameters.getLockManagerParameters());
- ParameterService.deregister(contextParameters.getPersistorParameters());
- ParameterService.deregister(contextParameters);
- }
-
- /**
- * Test context album update hazelcast.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextAlbumUpdateHazelcast() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextAlbumUpdateHazelcast test . . .");
-
- new ContextAlbumUpdate().testContextAlbumUpdate();
-
- logger.debug("Ran testContextAlbumUpdateHazelcast test");
- }
-
- /**
- * Test context instantiation hazelcast.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextInstantiationHazelcast() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextInstantiationHazelcast test . . .");
-
- new ContextInstantiation().testContextInstantiation();
-
- logger.debug("Ran testContextInstantiationHazelcast test");
- }
-
- /**
- * Test context update hazelcast.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextUpdateHazelcast() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextUpdateHazelcast test . . .");
-
- new ContextUpdate().testContextUpdate();
-
- logger.debug("Ran testContextUpdateHazelcast test");
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/InfinispanContextDistributorTest.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/InfinispanContextDistributorTest.java
deleted file mode 100644
index a162ebecc..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/InfinispanContextDistributorTest.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*-
- * ============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.testsuites.integration.context.distribution;
-
-import java.io.IOException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
-import org.onap.policy.apex.context.parameters.ContextParameterConstants;
-import org.onap.policy.apex.context.parameters.ContextParameters;
-import org.onap.policy.apex.context.parameters.SchemaParameters;
-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.InfinispanContextDistributor;
-import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters;
-import org.onap.policy.common.parameters.ParameterService;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class InfinispanContextDistributorTest.
- */
-public class InfinispanContextDistributorTest {
- private static final XLogger logger = XLoggerFactory.getXLogger(InfinispanContextDistributorTest.class);
-
- private static final String PLUGIN_CLASS = InfinispanContextDistributor.class.getName();
-
- private SchemaParameters schemaParameters;
- private ContextParameters contextParameters;
-
- /**
- * Before test.
- */
- @Before
- public void beforeTest() {
- contextParameters = new ContextParameters();
-
- contextParameters.setName(ContextParameterConstants.MAIN_GROUP_NAME);
- InfinispanDistributorParameters inifinispanDistributorParameters = new InfinispanDistributorParameters();
- inifinispanDistributorParameters.setName(ContextParameterConstants.DISTRIBUTOR_GROUP_NAME);
- inifinispanDistributorParameters.setPluginClass(PLUGIN_CLASS);
- contextParameters.setDistributorParameters(inifinispanDistributorParameters);
- contextParameters.getLockManagerParameters().setName(ContextParameterConstants.LOCKING_GROUP_NAME);
- contextParameters.getPersistorParameters().setName(ContextParameterConstants.PERSISTENCE_GROUP_NAME);
-
- ParameterService.register(contextParameters);
- ParameterService.register(contextParameters.getDistributorParameters());
- ParameterService.register(contextParameters.getLockManagerParameters());
- ParameterService.register(contextParameters.getPersistorParameters());
-
- schemaParameters = new SchemaParameters();
- schemaParameters.setName(ContextParameterConstants.SCHEMA_GROUP_NAME);
- schemaParameters.getSchemaHelperParameterMap().put("JAVA", new JavaSchemaHelperParameters());
-
- ParameterService.register(schemaParameters);
- }
-
- /**
- * After test.
- */
- @After
- public void afterTest() {
- ParameterService.deregister(schemaParameters);
-
- ParameterService.deregister(contextParameters.getDistributorParameters());
- ParameterService.deregister(contextParameters.getLockManagerParameters());
- ParameterService.deregister(contextParameters.getPersistorParameters());
- ParameterService.deregister(contextParameters);
- }
-
- /**
- * Test context album update infinispan.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextAlbumUpdateInfinispan() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextAlbumUpdateInfinispan test . . .");
-
- new ContextAlbumUpdate().testContextAlbumUpdate();
-
- logger.debug("Ran testContextAlbumUpdateInfinispan test");
- }
-
- /**
- * Test context instantiation infinispan.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextInstantiationInfinispan test . . .");
-
- new ContextInstantiation().testContextInstantiation();
-
- logger.debug("Ran testContextInstantiationInfinispan test");
- }
-
- /**
- * Test context update infinispan.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testContextUpdateInfinispan() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testContextUpdateInfinispan test . . .");
-
- new ContextUpdate().testContextUpdate();
-
- logger.debug("Ran testContextUpdateInfinispan test");
- }
-
- /**
- * Test sequential context instantiation infinispan.
- *
- * @throws ApexModelException the apex model exception
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws ApexException the apex exception
- */
- @Test
- public void testSequentialContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException {
- logger.debug("Running testSequentialContextInstantiationInfinispan test . . .");
-
- new SequentialContextInstantiation().testSequentialContextInstantiation();
-
- logger.debug("Ran testSequentialContextInstantiationInfinispan test");
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java
deleted file mode 100644
index 50ca52a6b..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.distribution;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory.createMultiAlbumsContextModel;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.APEX_DISTRIBUTOR;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.BYTE_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.DATE_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.FLOAT_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.INT_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.PI_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.STRING_GLOBAL_VAL;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TIME_ZONE;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.VERSION;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TimeZone;
-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.TestContextBooleanItem;
-import org.onap.policy.apex.context.test.concepts.TestContextByteItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateLocaleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDateTzItem;
-import org.onap.policy.apex.context.test.concepts.TestContextDoubleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextFloatItem;
-import org.onap.policy.apex.context.test.concepts.TestContextIntItem;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.onap.policy.apex.context.test.concepts.TestContextLongObjectItem;
-import org.onap.policy.apex.context.test.concepts.TestContextStringItem;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.testsuites.integration.context.utils.Constants;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class SequentialContextInstantiation checks sequential initiation of
- * context.
- *
- * @author Sergey Sachkov (sergey.sachkov@ericsson.com)
- */
-public class SequentialContextInstantiation {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(SequentialContextInstantiation.class);
-
- // Recurring string constants.
- private static final String TEST_AB = "TestAB";
- private static final String TEST_AA = "TestAA";
- private static final String ITEM_NULL = "ItemNull";
- private static final String ITEM06 = "Item06";
- private static final String ITEM05 = "Item05";
- private static final String ITEM03 = "Item03";
- private static final String ITEM02 = "Item02";
- private static final String ITEM01 = "Item01";
- private static final String ITEM00_2 = "Item00_2";
-
- // Recurring string constants.
- private static final String DV1 = "dv1";
- private static final String DV0 = "dv0";
-
- /**
- * Test sequential context instantiation.
- *
- * @throws ContextException the context exception
- */
- public void testSequentialContextInstantiation() throws ContextException {
- LOGGER.debug("Running TestContextInstantiation test . . .");
-
- final Distributor contextDistributor = getDistributor();
-
- try {
- final ContextAlbum dateAlbum = getContextAlbum(DATE_CONTEXT_ALBUM, contextDistributor);
- final Date testDate = new Date();
- final TestContextDateLocaleItem tciA00 = getTestContextDateLocaleItem();
-
- dateAlbum.put(DV0, tciA00);
- assertEquals(tciA00, dateAlbum.get(DV0));
-
- dateAlbum.put(DV1, tciA00);
- assertEquals(tciA00, dateAlbum.get(DV1));
-
- final TestContextDateTzItem tci9 = getTestContextDateTzItem(testDate);
-
- assertThatThrownBy(() -> dateAlbum.put("tci9", tci9))
- .hasMessageContaining("class \"" + TestContextDateTzItem.class.getName()
- + "\" not compatible with class \"" + TestContextDateLocaleItem.class.getName() + "\"");
-
- final TestContextDateLocaleItem tciA01 = new TestContextDateLocaleItem(tciA00);
- final TestContextDateLocaleItem tciA02 = new TestContextDateLocaleItem(tciA00);
- final TestContextDateLocaleItem tciA03 = new TestContextDateLocaleItem(tciA00);
-
- final Map<String, Object> valueMap0 = new HashMap<>();
- valueMap0.put(ITEM01, tciA01);
- valueMap0.put(ITEM02, tciA02);
- valueMap0.put(ITEM03, tciA03);
-
- dateAlbum.putAll(valueMap0);
- assertEquals(5, dateAlbum.size());
- assertEquals(tciA01, dateAlbum.get(ITEM01));
- assertEquals(tciA02, dateAlbum.get(ITEM02));
- assertEquals(tciA03, dateAlbum.get(ITEM03));
-
- final Map<String, Object> valueMap1 = getMap(testDate, tciA00, tci9);
-
- // Get another reference to the album
- final ContextAlbum dateAlbum1 = getContextAlbum(DATE_CONTEXT_ALBUM, contextDistributor);
-
- assertThatThrownBy(() -> dateAlbum1.putAll(valueMap1)).hasMessageContaining(
- "not compatible with class \"" + TestContextDateLocaleItem.class.getName() + "\"");
- assertEquals(5, dateAlbum1.size());
-
- valueMap1.clear();
- valueMap1.put(ITEM00_2, tciA00);
- dateAlbum1.putAll(valueMap1);
- assertEquals(6, dateAlbum1.size());
-
- assertEquals(tciA00, dateAlbum1.get(ITEM00_2));
- dateAlbum.remove(ITEM00_2);
- assertEquals(5, dateAlbum1.size());
-
- final ContextAlbum dateAlbumCopy = getContextAlbum(DATE_CONTEXT_ALBUM, contextDistributor);
-
- final Map<String, Object> valueMap2 = new HashMap<>();
- valueMap2.put("Item04", tciA01);
- valueMap2.put(ITEM05, tciA02);
- valueMap2.put(ITEM06, tciA03);
-
- dateAlbumCopy.putAll(valueMap2);
- assertEquals(8, dateAlbumCopy.size());
-
- assertEquals(tciA03, dateAlbumCopy.get(ITEM06));
-
- final Collection<Object> mapValues = dateAlbum.values();
- assertTrue(dateAlbumCopy.values().containsAll(mapValues));
-
- // Check that clearing works
- dateAlbum1.clear();
- assertTrue(dateAlbum1.isEmpty());
-
- dateAlbum.put("Item00", tciA00);
- final Map<String, Object> valueMap3 = new HashMap<>();
- valueMap3.put(ITEM01, tciA01);
- valueMap3.put(ITEM02, tciA02);
- valueMap3.put(ITEM03, tciA03);
- dateAlbum.putAll(valueMap3);
-
- final Map<String, Object> valueMap4 = new HashMap<>();
- valueMap4.put("Item04", tciA01);
- valueMap4.put(ITEM05, tciA02);
- valueMap4.put(ITEM06, tciA03);
-
- dateAlbumCopy.putAll(valueMap4);
-
- assertContains(dateAlbum, tciA01);
-
- final Set<Entry<String, Object>> entrySet = dateAlbum.entrySet();
- assertEquals(7, entrySet.size());
-
- assertAlbumGetAndPutMethods(dateAlbum, tciA03, tciA00);
-
- // Should do removes
- dateAlbum.remove(TEST_AA);
- dateAlbum.remove(TEST_AB);
- dateAlbum.remove(ITEM_NULL);
- assertEquals(7, entrySet.size());
- assertTrue(dateAlbumCopy.values().containsAll(mapValues));
- // CHECKSTYLE:ON: checkstyle:magicNumber
- } finally {
- contextDistributor.clear();
- }
- }
-
- private void assertContains(final ContextAlbum dateAlbum, final TestContextDateLocaleItem tciA01) {
- assertThatThrownBy(() -> dateAlbum.containsKey(null))
- .hasMessageContaining("null values are illegal on method parameter \"key\"");
-
- assertTrue(dateAlbum.containsKey(ITEM05));
- assertTrue(!dateAlbum.containsKey("Item07"));
-
- assertThatThrownBy(() -> dateAlbum.containsValue(null))
- .hasMessageContaining("null values are illegal on method parameter \"value\"");
-
- assertTrue(dateAlbum.containsValue(tciA01));
- assertTrue(!dateAlbum.containsValue("Hello"));
- }
-
- private void assertAlbumGetAndPutMethods(final ContextAlbum dateAlbum, final TestContextDateLocaleItem tciA03,
- final TestContextDateLocaleItem tciA00) {
- assertThatThrownBy(() -> dateAlbum.get(null))
- .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for get()");
-
- final Object aObject = dateAlbum.get(ITEM03);
- assertEquals(tciA03, aObject);
- assertThatThrownBy(() -> dateAlbum.put(null, null))
- .hasMessageContaining("album \"DateContextAlbum:0.0.1\" null keys are illegal on keys for put()");
-
- // Put null ContextItem should work (return null)
- assertThatThrownBy(() -> dateAlbum.put(ITEM_NULL, null)).hasMessageContaining(
- "album \"DateContextAlbum:0.0.1\" null values are illegal on " + "key \"ItemNull\" for put()");
-
- // Should return null
- assertNull(dateAlbum.get(ITEM_NULL));
- // Put should return the previous contextItem
- tciA00.setDst(false);
- final TestContextDateLocaleItem tciA03Clone = new TestContextDateLocaleItem(tciA03);
- tciA03Clone.setDst(true);
- TestContextDateLocaleItem retItem = (TestContextDateLocaleItem) dateAlbum.put(ITEM03, tciA03Clone);
- assertEquals(tciA03, retItem);
- retItem = (TestContextDateLocaleItem) dateAlbum.put(ITEM03, tciA03);
- assertEquals(tciA03Clone, retItem);
-
- assertThatThrownBy(() -> dateAlbum.put(ITEM_NULL, null)).hasMessageContaining(
- "album \"DateContextAlbum:0.0.1\" null values are illegal on " + "key \"ItemNull\" for put()");
-
- dateAlbum.put(TEST_AA, tciA00);
- assertEquals(tciA00, dateAlbum.get(TEST_AA));
-
- // Should print warning
- assertThatThrownBy(() -> dateAlbum.put(TEST_AA, null)).hasMessageContaining(
- "album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAA\" " + "for put()");
- assertEquals(8, dateAlbum.size());
- assertThatThrownBy(() -> dateAlbum.put(TEST_AB, null)).hasMessageContaining(
- "album \"DateContextAlbum:0.0.1\" null values are illegal on key \"TestAB\" " + "for put()");
- assertEquals(8, dateAlbum.size());
- }
-
- private Map<String, Object> getMap(final Date testDate, final TestContextDateLocaleItem tciA00,
- final TestContextDateTzItem tci9) {
- final TestContextBooleanItem testBadItem000 = new TestContextBooleanItem();
- final TestContextByteItem testBadItem001 = new TestContextByteItem();
- final TestContextIntItem testBadItem002 = new TestContextIntItem();
- final TestContextLongItem testBadItem003 = new TestContextLongItem();
- final TestContextFloatItem testBadItem004 = new TestContextFloatItem();
- final TestContextDoubleItem testBadItem005 = new TestContextDoubleItem();
- final TestContextStringItem testBadItem006 = new TestContextStringItem();
- final TestContextLongObjectItem testBadItem007 = new TestContextLongObjectItem();
- final TestContextDateItem testBadItem008 = new TestContextDateItem();
-
- testBadItem000.setFlag(false);
- testBadItem001.setByteValue(BYTE_VAL);
- testBadItem002.setIntValue(INT_VAL);
- testBadItem003.setLongValue(LONG_VAL);
- testBadItem004.setFloatValue(FLOAT_VAL);
- testBadItem005.setDoubleValue(PI_VAL);
- testBadItem006.setStringValue(STRING_GLOBAL_VAL);
- testBadItem007.setLongValue(testDate.getTime());
- testBadItem008.setDateValue(testDate);
-
- final Map<String, Object> values = new HashMap<>();
- values.put("TestBadItem000", testBadItem000);
- values.put("TestBadItem001", testBadItem001);
- values.put("TestBadItem002", testBadItem002);
- values.put("TestBadItem003", testBadItem003);
- values.put("TestBadItem004", testBadItem004);
- values.put("TestBadItem005", testBadItem005);
- values.put("TestBadItem006", testBadItem006);
- values.put("TestBadItem007", testBadItem007);
- values.put("TestBadItem008", testBadItem008);
- values.put("TestBadItem009", tci9);
- values.put(ITEM00_2, tciA00);
- return values;
- }
-
- private TestContextDateTzItem getTestContextDateTzItem(final Date testDate) {
- final TestContextDateTzItem tci9 = new TestContextDateTzItem();
- tci9.setDateValue(new TestContextDateItem(testDate));
- tci9.setTzValue(TimeZone.getTimeZone("Europe/Dublin").getDisplayName());
- tci9.setDst(true);
- return tci9;
- }
-
- private TestContextDateLocaleItem getTestContextDateLocaleItem() {
- final TestContextDateLocaleItem tciA00 = new TestContextDateLocaleItem();
- tciA00.setDateValue(new TestContextDateItem(new Date()));
- tciA00.setTzValue(TIME_ZONE.getDisplayName());
- tciA00.setDst(true);
- tciA00.setUtcOffset(-600);
- tciA00.setLocale(Locale.ENGLISH);
- return tciA00;
- }
-
- private ContextAlbum getContextAlbum(final String albumName, final Distributor contextDistributor)
- throws ContextException {
- final ContextAlbum dateAlbum = contextDistributor.createContextAlbum(new AxArtifactKey(albumName, VERSION));
- assertNotNull(dateAlbum);
- dateAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
- return dateAlbum;
- }
-
- private Distributor getDistributor() throws ContextException {
- final AxArtifactKey distributorKey = new AxArtifactKey(APEX_DISTRIBUTOR, VERSION);
- final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey);
- contextDistributor.registerModel(createMultiAlbumsContextModel());
- return contextDistributor;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/package-info.java
deleted file mode 100644
index 04230aaae..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Runs context distribution tests in APEX.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-
-package org.onap.policy.apex.testsuites.integration.context.distribution;
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ArtifactKeyTestEntity.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ArtifactKeyTestEntity.java
deleted file mode 100644
index ae56d15d9..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ArtifactKeyTestEntity.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019,2022-2023 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.entities;
-
-import jakarta.xml.bind.annotation.XmlElement;
-import java.util.Arrays;
-import java.util.List;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.apache.commons.lang3.builder.CompareToBuilder;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-
-/**
- * The Class ArtifactKeyTestEntity is an entity for testing artifact keys.
- */
-@Getter
-@Setter
-@ToString
-@EqualsAndHashCode(callSuper = false)
-@AllArgsConstructor
-public class ArtifactKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067896L;
-
- @XmlElement(name = "key", required = true)
- protected AxArtifactKey key;
-
- private double doubleValue;
-
- /**
- * Instantiates a new artifact key test entity.
- */
- public ArtifactKeyTestEntity() {
- this.key = new AxArtifactKey();
- this.doubleValue = 0;
- }
-
- /**
- * Instantiates a new artifact key test entity.
- *
- * @param doubleValue the double value
- */
- public ArtifactKeyTestEntity(final Double doubleValue) {
- this.key = new AxArtifactKey();
- this.doubleValue = doubleValue;
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- /**
- * Check set key.
- *
- * @return true, if successful
- */
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void clean() {
- key.clean();
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ArtifactKeyTestEntity() : target);
- if (copyObject instanceof ArtifactKeyTestEntity) {
- final ArtifactKeyTestEntity copy = ((ArtifactKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxArtifactKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null) {
- return -1;
- }
- if (this == otherObj) {
- return 0;
- }
- if (getClass() != otherObj.getClass()) {
- return -1;
- }
- final ArtifactKeyTestEntity other = (ArtifactKeyTestEntity) otherObj;
- return new CompareToBuilder()
- .append(key, other.key)
- .append(doubleValue, other.doubleValue)
- .toComparison();
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ReferenceKeyTestEntity.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ReferenceKeyTestEntity.java
deleted file mode 100644
index 0da996483..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ReferenceKeyTestEntity.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019,2022-2023 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.entities;
-
-import jakarta.xml.bind.annotation.XmlElement;
-import java.util.Arrays;
-import java.util.List;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import org.apache.commons.lang3.builder.CompareToBuilder;
-import org.onap.policy.apex.model.basicmodel.concepts.AxConcept;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
-
-/**
- * The Class ReferenceKeyTestEntity provides a reference key test concept.
- */
-@Getter
-@Setter
-@ToString
-@EqualsAndHashCode(callSuper = false)
-@AllArgsConstructor
-public class ReferenceKeyTestEntity extends AxConcept {
- private static final long serialVersionUID = -2962570563281067895L;
-
- @XmlElement(name = "key", required = true)
- protected AxReferenceKey key;
-
- private double doubleValue;
-
- /**
- * Instantiates a new reference key test entity.
- */
- public ReferenceKeyTestEntity() {
- this.key = new AxReferenceKey();
- this.doubleValue = 0;
- }
-
- /**
- * Instantiates a new reference key test entity.
- *
- * @param doubleValue the double value
- */
- public ReferenceKeyTestEntity(final Double doubleValue) {
- this.key = new AxReferenceKey();
- this.doubleValue = doubleValue;
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public List<AxKey> getKeys() {
- return Arrays.asList((AxKey) getKey());
- }
-
- /**
- * Check set key.
- *
- * @return true, if successful
- */
- public boolean checkSetKey() {
- return (this.key != null);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public AxValidationResult validate(final AxValidationResult result) {
- return key.validate(result);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void clean() {
- key.clean();
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public AxConcept copyTo(final AxConcept target) {
- final Object copyObject = ((target == null) ? new ReferenceKeyTestEntity() : target);
- if (copyObject instanceof ReferenceKeyTestEntity) {
- final ReferenceKeyTestEntity copy = ((ReferenceKeyTestEntity) copyObject);
- if (this.checkSetKey()) {
- copy.setKey(new AxReferenceKey(key));
- } else {
- copy.key = null;
- }
- copy.doubleValue = doubleValue;
- return copy;
- } else {
- return null;
- }
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public int compareTo(final AxConcept otherObj) {
- if (otherObj == null) {
- return -1;
- }
- if (this == otherObj) {
- return 0;
- }
- if (getClass() != otherObj.getClass()) {
- return -1;
- }
- final ReferenceKeyTestEntity other = (ReferenceKeyTestEntity) otherObj;
- return new CompareToBuilder()
- .append(key, other.key)
- .append(doubleValue, other.doubleValue)
- .toComparison();
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/package-info.java
deleted file mode 100644
index 8824a16f5..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/package-info.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Contains common test entities.
- * @author Dinh Danh Le (dinh.danh.le@ericsson.com)
- *
- */
-package org.onap.policy.apex.testsuites.integration.context.entities;
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/TestContextAlbumFactory.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/TestContextAlbumFactory.java
deleted file mode 100644
index be4a379aa..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/TestContextAlbumFactory.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.factory;
-
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.DATE_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.EXTERNAL_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.GLOBAL_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.LONG_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.MAP_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.POLICY_CONTEXT_ALBUM;
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.VERSION;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.onap.policy.apex.context.test.concepts.TestContextDateLocaleItem;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.onap.policy.apex.context.test.concepts.TestContextTreeMapItem;
-import org.onap.policy.apex.context.test.concepts.TestExternalContextItem;
-import org.onap.policy.apex.context.test.concepts.TestGlobalContextItem;
-import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
-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;
-
-/**
- * The Class TestContextAlbumFactory creates test context albums.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class TestContextAlbumFactory {
- // Recurring string constants.
- private static final String CONTEXT = "context";
- private static final String SCHEMAS2 = "Schemas";
- private static final String KEY_INFO_MAP_KEY = "KeyInfoMapKey";
- private static final String APPLICATION = "APPLICATION";
- private static final String JAVA_LONG = Long.class.getName();
- private static final String JAVA_FLAVOUR = "Java";
-
- /**
- * Creates the policy context model.
- *
- * @return the ax context model
- */
- public static AxContextModel createPolicyContextModel() {
- final AxContextSchema policySchema = new AxContextSchema(new AxArtifactKey("PolicySchema", VERSION),
- JAVA_FLAVOUR, TestPolicyContextItem.class.getName());
- final AxContextAlbum albumDefinition = new AxContextAlbum(new AxArtifactKey(POLICY_CONTEXT_ALBUM, VERSION),
- APPLICATION, true, policySchema.getKey());
-
- final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey(SCHEMAS2, VERSION));
- schemas.getSchemasMap().put(policySchema.getKey(), policySchema);
- final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey(CONTEXT, VERSION));
- albums.getAlbumsMap().put(albumDefinition.getKey(), albumDefinition);
-
- final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey(KEY_INFO_MAP_KEY, VERSION));
- final AxContextModel contextModel =
- new AxContextModel(new AxArtifactKey("PolicyContextModel", VERSION), schemas, albums, keyInformation);
- contextModel.setKeyInformation(keyInformation);
- keyInformation.generateKeyInfo(contextModel);
-
- return contextModel;
- }
-
- /**
- * Creates the global context model.
- *
- * @return the ax context model
- */
- public static AxContextModel createGlobalContextModel() {
- final AxContextSchema globalSchema = new AxContextSchema(new AxArtifactKey("GlobalSchema", VERSION),
- JAVA_FLAVOUR, TestGlobalContextItem.class.getName());
- final AxContextAlbum albumDefinition = new AxContextAlbum(new AxArtifactKey(GLOBAL_CONTEXT_ALBUM, VERSION),
- "GLOBAL", true, globalSchema.getKey());
-
- final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey(SCHEMAS2, VERSION));
- schemas.getSchemasMap().put(globalSchema.getKey(), globalSchema);
- final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey(CONTEXT, VERSION));
- albums.getAlbumsMap().put(albumDefinition.getKey(), albumDefinition);
-
- final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey(KEY_INFO_MAP_KEY, VERSION));
- final AxContextModel contextModel =
- new AxContextModel(new AxArtifactKey("GlobalContextModel", VERSION), schemas, albums, keyInformation);
- contextModel.setKeyInformation(keyInformation);
- keyInformation.generateKeyInfo(contextModel);
-
- return contextModel;
- }
-
- /**
- * Creates the external context model.
- *
- * @return the ax context model
- */
- public static AxContextModel createExternalContextModel() {
- final AxContextSchema externalSchema = new AxContextSchema(new AxArtifactKey("ExternalSchema", VERSION),
- JAVA_FLAVOUR, TestExternalContextItem.class.getName());
- final AxContextAlbum albumDefinition = new AxContextAlbum(new AxArtifactKey(EXTERNAL_CONTEXT_ALBUM, VERSION),
- "EXTERNAL", true, externalSchema.getKey());
-
- final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey(SCHEMAS2, VERSION));
- schemas.getSchemasMap().put(externalSchema.getKey(), externalSchema);
- final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey(CONTEXT, VERSION));
- albums.getAlbumsMap().put(albumDefinition.getKey(), albumDefinition);
-
- final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey(KEY_INFO_MAP_KEY, VERSION));
- final AxContextModel contextModel =
- new AxContextModel(new AxArtifactKey("ExternalContextModel", VERSION), schemas, albums, keyInformation);
- contextModel.setKeyInformation(keyInformation);
- keyInformation.generateKeyInfo(contextModel);
-
- return contextModel;
- }
-
- /**
- * Creates the long context model.
- *
- * @return the ax context model
- */
- public static AxContextModel createLongContextModel() {
- final AxArtifactKey longSchemaKey = new AxArtifactKey("LongSchema", VERSION);
- final AxContextSchema longSchema = new AxContextSchema(longSchemaKey, JAVA_FLAVOUR, JAVA_LONG);
-
- final AxArtifactKey longContextAlbumKey = new AxArtifactKey("LongContextAlbum1", VERSION);
- final AxContextAlbum albumDefinition1 =
- new AxContextAlbum(longContextAlbumKey, APPLICATION, true, longSchema.getKey());
-
- final AxArtifactKey longContextAlbumKey2 = new AxArtifactKey("LongContextAlbum2", VERSION);
- final AxContextAlbum albumDefinition2 =
- new AxContextAlbum(longContextAlbumKey2, APPLICATION, true, longSchema.getKey());
-
- final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey(SCHEMAS2, VERSION));
- schemas.getSchemasMap().put(longSchema.getKey(), longSchema);
- final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey(CONTEXT, VERSION));
- albums.getAlbumsMap().put(albumDefinition1.getKey(), albumDefinition1);
- albums.getAlbumsMap().put(albumDefinition2.getKey(), albumDefinition2);
-
- final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey(KEY_INFO_MAP_KEY, VERSION));
- final AxContextModel contextModel =
- new AxContextModel(new AxArtifactKey("LongContextModel", VERSION), schemas, albums, keyInformation);
- contextModel.setKeyInformation(keyInformation);
- keyInformation.generateKeyInfo(contextModel);
-
- return contextModel;
- }
-
- /**
- * Creates the multi albums context model.
- *
- * @return the ax context model
- */
- public static AxContextModel createMultiAlbumsContextModel() {
- final AxContextSchema longSchema =
- new AxContextSchema(new AxArtifactKey("LongSchema", VERSION), JAVA_FLAVOUR, JAVA_LONG);
- final AxContextSchema lTypeSchema = new AxContextSchema(new AxArtifactKey("LTypeSchema", VERSION), JAVA_FLAVOUR,
- TestContextLongItem.class.getName());
- final AxContextSchema dateSchema = new AxContextSchema(new AxArtifactKey("DateSchema", VERSION), JAVA_FLAVOUR,
- TestContextDateLocaleItem.class.getName());
- final AxContextSchema mapSchema = new AxContextSchema(new AxArtifactKey("MapSchema", VERSION), JAVA_FLAVOUR,
- TestContextTreeMapItem.class.getName());
-
- final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey(SCHEMAS2, VERSION));
- schemas.getSchemasMap().put(longSchema.getKey(), longSchema);
- schemas.getSchemasMap().put(lTypeSchema.getKey(), lTypeSchema);
- schemas.getSchemasMap().put(dateSchema.getKey(), dateSchema);
- schemas.getSchemasMap().put(mapSchema.getKey(), mapSchema);
-
- final AxContextAlbum longAlbumDefinition = new AxContextAlbum(new AxArtifactKey(LONG_CONTEXT_ALBUM, VERSION),
- APPLICATION, true, longSchema.getKey());
- final AxContextAlbum lTypeAlbumDefinition = new AxContextAlbum(new AxArtifactKey("LTypeContextAlbum", VERSION),
- APPLICATION, true, lTypeSchema.getKey());
- final AxContextAlbum dateAlbumDefinition = new AxContextAlbum(new AxArtifactKey(DATE_CONTEXT_ALBUM, VERSION),
- APPLICATION, true, dateSchema.getKey());
- final AxContextAlbum mapAlbumDefinition = new AxContextAlbum(new AxArtifactKey(MAP_CONTEXT_ALBUM, VERSION),
- APPLICATION, true, mapSchema.getKey());
-
- final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey(CONTEXT, VERSION));
- albums.getAlbumsMap().put(longAlbumDefinition.getKey(), longAlbumDefinition);
- albums.getAlbumsMap().put(lTypeAlbumDefinition.getKey(), lTypeAlbumDefinition);
- albums.getAlbumsMap().put(dateAlbumDefinition.getKey(), dateAlbumDefinition);
- albums.getAlbumsMap().put(mapAlbumDefinition.getKey(), mapAlbumDefinition);
-
- final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey(KEY_INFO_MAP_KEY, VERSION));
- final AxContextModel contextModel = new AxContextModel(new AxArtifactKey("MultiAlbumsContextModel", VERSION),
- schemas, albums, keyInformation);
- contextModel.setKeyInformation(keyInformation);
- keyInformation.generateKeyInfo(contextModel);
-
- return contextModel;
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/package-info.java
deleted file mode 100644
index 3d946eec1..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Contains factories for creating test context albums.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-
-package org.onap.policy.apex.testsuites.integration.context.factory;
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/AlbumModifier.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/AlbumModifier.java
deleted file mode 100644
index f9f94c980..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/AlbumModifier.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-
-/**
- * The Interface AlbumModifier defines the interface to allow context albums be modified during context tests.
- */
-@FunctionalInterface
-public interface AlbumModifier {
-
- /**
- * Modify album.
- *
- * @param contextAlbum the context album
- * @param loopSize the loop size
- * @param arraySize the array size
- * @throws ContextException the context exception
- */
- void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) throws ContextException;
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/LockType.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/LockType.java
deleted file mode 100644
index dc9cd94e7..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/LockType.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import org.onap.policy.apex.context.ContextRuntimeException;
-
-/**
- * The Enum LockType defines the type of lock on a test context album.
- */
-public enum LockType {
-
- NO_LOCK(0) {
- @Override
- public AlbumModifier getAlbumModifier() {
- return NO_LOCK_MODIFER;
- }
- },
- READ_LOCK(1) {
- @Override
- public AlbumModifier getAlbumModifier() {
- return READ_LOCK_MODIFER;
- }
- },
- WRITE_LOCK(2) {
- @Override
- public AlbumModifier getAlbumModifier() {
- return WRITE_LOCK_MODIFER;
- }
- },
- WRITE_LOCK_SINGLE_VALUE_UPDATE(3) {
- @Override
- public AlbumModifier getAlbumModifier() {
- return WRITE_LOCK_SINGLE_VALUE_MODIFER;
- }
- };
-
- private static final AlbumModifier NO_LOCK_MODIFER = new NoLockAlbumModifier();
- private static final AlbumModifier READ_LOCK_MODIFER = new ReadLockAlbumModifier();
- private static final AlbumModifier WRITE_LOCK_MODIFER = new WriteLockAlbumModifier();
- private static final AlbumModifier WRITE_LOCK_SINGLE_VALUE_MODIFER = new SingleValueWriteLockAlbumModifier();
-
- private final int value;
-
- /**
- * Instantiates a new lock type.
- *
- * @param value the value
- */
- LockType(final int value) {
- this.value = value;
- }
-
- /**
- * Gets the value.
- *
- * @return the value
- */
- public int getValue() {
- return value;
- }
-
- /**
- * Get the lock type given an int value.
- * @param value the value of lock type
- * @return the lock type
- */
- public static LockType getLockType(final int value) {
- for (final LockType lockType : LockType.values()) {
- if (lockType.getValue() == value) {
- return lockType;
- }
- }
- throw new ContextRuntimeException("Invalid Lock type value: " + value);
- }
-
- /**
- * Gets the album modifier.
- *
- * @return the album modifier
- */
- public abstract AlbumModifier getAlbumModifier();
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/NoLockAlbumModifier.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/NoLockAlbumModifier.java
deleted file mode 100644
index 3f4bc45a4..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/NoLockAlbumModifier.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import java.util.Random;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class NoLockAlbumModifier implements a non lock context album.
- */
-public class NoLockAlbumModifier implements AlbumModifier {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(NoLockAlbumModifier.class);
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
- final Random rand = new Random();
- for (int i = 0; i < loopSize; i++) {
- final String nextLongKey = Integer.toString(rand.nextInt(arraySize));
- final TestContextLongItem item = (TestContextLongItem) contextAlbum.get(nextLongKey);
- final long value = item.getLongValue();
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("lock type={}, value={}", LockType.NO_LOCK, value);
- }
- }
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/ReadLockAlbumModifier.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/ReadLockAlbumModifier.java
deleted file mode 100644
index 9d29c7dfe..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/ReadLockAlbumModifier.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import java.util.Random;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class ReadLockAlbumModifier implements a read lock context album.
- */
-public class ReadLockAlbumModifier implements AlbumModifier {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ReadLockAlbumModifier.class);
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
- final Random rand = new Random();
- for (int i = 0; i < loopSize; i++) {
- final String nextLongKey = Integer.toString(rand.nextInt(arraySize));
- try {
- contextAlbum.lockForReading(nextLongKey);
- } catch (final ContextException e) {
- LOGGER.error("could not acquire read lock on context album, key=" + nextLongKey, e);
- continue;
- }
-
- final TestContextLongItem item = (TestContextLongItem) contextAlbum.get(nextLongKey);
- final long value = item.getLongValue();
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("lock type={}, value={}", LockType.READ_LOCK, value);
- }
-
- try {
- contextAlbum.unlockForReading(nextLongKey);
- } catch (final ContextException e) {
- LOGGER.error("could not release read lock on context album, key=" + nextLongKey, e);
- }
- }
-
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/SingleValueWriteLockAlbumModifier.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/SingleValueWriteLockAlbumModifier.java
deleted file mode 100644
index 1f6e399a9..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/SingleValueWriteLockAlbumModifier.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import static org.onap.policy.apex.testsuites.integration.context.utils.Constants.TEST_VALUE;
-
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class SingleValueWriteLockAlbumModifier implements a single value lock context album.
- */
-public class SingleValueWriteLockAlbumModifier implements AlbumModifier {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(SingleValueWriteLockAlbumModifier.class);
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize)
- throws ContextException {
- for (int i = 0; i < loopSize; i++) {
- try {
- contextAlbum.lockForWriting(TEST_VALUE);
- TestContextLongItem item = (TestContextLongItem) contextAlbum.get(TEST_VALUE);
- if (item != null) {
- long value = item.getLongValue();
- item.setLongValue(++value);
- } else {
- item = new TestContextLongItem(0L);
- }
- contextAlbum.put(TEST_VALUE, item);
- } finally {
- contextAlbum.unlockForWriting(TEST_VALUE);
- }
- }
-
- try {
- contextAlbum.lockForWriting(TEST_VALUE);
- final TestContextLongItem item = (TestContextLongItem) contextAlbum.get(TEST_VALUE);
- final long value = item.getLongValue();
- LOGGER.info("Value after modification: ", value);
- } catch (final Exception e) {
- LOGGER.error("could not read the value in the test context album", e);
- } finally {
- contextAlbum.unlockForWriting(TEST_VALUE);
- }
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/WriteLockAlbumModifier.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/WriteLockAlbumModifier.java
deleted file mode 100644
index fbb4adbbe..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/WriteLockAlbumModifier.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
-
-import java.util.Random;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class WriteLockAlbumModifier implements a write lock context album.
- */
-public class WriteLockAlbumModifier implements AlbumModifier {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(WriteLockAlbumModifier.class);
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) {
- final Random rand = new Random();
- for (int i = 0; i < loopSize; i++) {
- final String nextLongKey = Integer.toString(rand.nextInt(arraySize));
- try {
- contextAlbum.lockForWriting(nextLongKey);
- } catch (final ContextException e) {
- LOGGER.error("could not acquire write lock on context album, key=" + nextLongKey, e);
- continue;
- }
-
- final TestContextLongItem item = (TestContextLongItem) contextAlbum.get(nextLongKey);
- long value = item.getLongValue();
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("lock type={}, value={}", LockType.WRITE_LOCK, value);
- }
- item.setLongValue(++value);
- contextAlbum.put(nextLongKey, item);
-
- try {
- contextAlbum.unlockForWriting(nextLongKey);
- } catch (final ContextException e) {
- LOGGER.error("could not release write lock on context album, key=" + nextLongKey, e);
- }
- }
-
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/package-info.java
deleted file mode 100644
index cf38edb7b..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/package-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Provides modifiers that allow the locking on a contest album to be modified in various ways.
- */
-
-package org.onap.policy.apex.testsuites.integration.context.lock.modifier;
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContext.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContext.java
deleted file mode 100644
index 08ac654e1..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContext.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.locking;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.TimeUnit;
-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.test.concepts.TestContextLongItem;
-import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProvider;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class TestConcurrentContext tests concurrent use of context.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class ConcurrentContext {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContext.class);
-
- // The context distributor and map used by each test
- private Distributor contextDistributor = null;
- private ContextAlbum ltypeAlbum = null;
-
- private final ConfigrationProvider configrationProvider;
-
- public ConcurrentContext(final ConfigrationProvider configrationProvider) {
- this.configrationProvider = configrationProvider;
- }
-
- /**
- * The method tests concurrent use of context.
- *
- * @return the verified context
- * @throws ApexException the Apex exception occurs in handling Apex
- */
- public Map<String, TestContextLongItem> testConcurrentContext() throws ApexException {
-
- try {
- setupAndVerifyContext();
- } catch (final Exception exception) {
- LOGGER.error("Error occured while setting up and verifying concurrent context", exception);
- throw exception;
- }
-
- LOGGER.debug("starting JVMs and threads . . .");
-
- final ExecutorService executorService = configrationProvider.getExecutorService();
-
- final List<Closeable> tasks = new ArrayList<>(configrationProvider.getThreadCount());
-
- addShutDownHook(tasks);
-
- // Check if we have a single JVM or multiple JVMs
- if (configrationProvider.getJvmCount() == 1) {
- // Run everything in this JVM
- for (int t = 0; t < configrationProvider.getThreadCount(); t++) {
- final ConcurrentContextThread task = new ConcurrentContextThread(0, t, configrationProvider);
- tasks.add(task);
- executorService.execute(task);
- }
-
- } else {
- // Spawn JVMs to run the tests
- for (int j = 0; j < configrationProvider.getJvmCount(); j++) {
- final ConcurrentContextJvmThread task = new ConcurrentContextJvmThread(j, configrationProvider);
- tasks.add(task);
- executorService.execute(task);
- }
- }
-
- try {
- executorService.shutdown();
- // wait for threads to finish, if not Timeout
- executorService.awaitTermination(10, TimeUnit.MINUTES);
- } catch (final InterruptedException interruptedException) {
- LOGGER.error("Exception while waiting for threads to finish", interruptedException);
- // restore the interrupt status
- Thread.currentThread().interrupt();
- }
-
- LOGGER.info("Shutting down now ...");
- executorService.shutdownNow();
-
- return verifyAndClearContext();
- }
-
-
- private void addShutDownHook(final List<Closeable> tasks) {
- Runtime.getRuntime().addShutdownHook(new Thread() {
- @Override
- public void run() {
- LOGGER.info("Shutting down ...");
- for (final Closeable task : tasks) {
- try {
- task.close();
- } catch (final IOException ioException) {
- LOGGER.error("Unable to close task ... ", ioException);
- }
- }
- }
- });
- }
-
- /**
- * Setup and verify context.
- *
- * @throws ContextException the context exception
- */
- private void setupAndVerifyContext() {
- contextDistributor = configrationProvider.getDistributor();
- ltypeAlbum = configrationProvider.getContextAlbum(contextDistributor);
- final Map<String, Object> initValues = configrationProvider.getContextAlbumInitValues();
-
- for (final Entry<String, Object> entry : initValues.entrySet()) {
- ltypeAlbum.put(entry.getKey(), entry.getValue());
- }
- }
-
- private Map<String, TestContextLongItem> verifyAndClearContext() throws ContextException {
- final Map<String, TestContextLongItem> values = new HashMap<>();
- try {
-
- for (final Entry<String, Object> entry : ltypeAlbum.entrySet()) {
- values.put(entry.getKey(), (TestContextLongItem) entry.getValue());
- }
- } catch (final Exception exception) {
- LOGGER.error("Error: ", exception);
- }
- contextDistributor.clear();
- contextDistributor = null;
-
- return values;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvm.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvm.java
deleted file mode 100644
index 21a40d846..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvm.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.locking;
-
-import com.google.gson.Gson;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.TreeSet;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.Distributor;
-import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
-import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProvider;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProviderImpl;
-import org.onap.policy.apex.testsuites.integration.context.utils.Constants;
-import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ParameterService;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-
-/**
- * The Class ConcurrentContextJVM tests concurrent use of context in a single JVM.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public final class ConcurrentContextJvm {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextJvm.class);
-
- private static final int IPV4_ADDRESS_LENGTH = 4;
-
- private final int jvmNo;
-
- private final ExecutorService executorService;
-
- private final ConfigrationProvider configrationProvider;
-
- private ConcurrentContextJvm(final int jvmNo, final ConfigrationProvider configrationProvider) {
- this.jvmNo = jvmNo;
- this.configrationProvider = configrationProvider;
- final String name = configrationProvider.getTestName() + ":ConcurrentContextThread_" + jvmNo;
- this.executorService = configrationProvider.getExecutorService(name, configrationProvider.getThreadCount());
- }
-
- /**
- * This method executes the test of concurrent use of context in a single JVM.
- *
- * @throws ApexException the Apex exception occurs while running the test
- */
- public void execute() throws ApexException {
- LOGGER.debug("starting JVMs and threads . . .");
-
- final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor" + jvmNo, "0.0.1");
- final Distributor distributor = configrationProvider.getDistributor(distributorKey);
- final ContextAlbum contextAlbum = configrationProvider.getContextAlbum(distributor);
- assert (contextAlbum != null);
-
- final List<Future<?>> tasks = new ArrayList<>(configrationProvider.getThreadCount());
-
- for (int t = 0; t < configrationProvider.getThreadCount(); t++) {
- tasks.add(executorService.submit(new ConcurrentContextThread(jvmNo, t, configrationProvider)));
- }
-
- try {
- executorService.shutdown();
- // wait for threads to finish, if not Timeout
- executorService.awaitTermination(10, TimeUnit.MINUTES);
- } catch (final InterruptedException interruptedException) {
- LOGGER.error("Exception while waiting for threads to finish", interruptedException);
- // restore the interrupt status
- Thread.currentThread().interrupt();
- }
-
- LOGGER.debug("threads finished, end value is {}", contextAlbum.get(Constants.TEST_VALUE));
-
- distributor.clear();
-
- LOGGER.info("Shutting down now ... ");
- executorService.shutdownNow();
- }
-
-
-
- /**
- * The main method.
- *
- * @param args the args
- * @throws Exception Any exception thrown by the test code
- */
- @SuppressWarnings("unchecked")
- public static void main(final String[] args) throws Exception {
- configure();
-
- LOGGER.info("JVM Arguments: " + Arrays.toString(args));
- // CHECKSTYLE:OFF: checkstyle:magicNumber
-
- // An even number of arguments greater than 3
- if (args.length < 9) {
- LOGGER.error("invalid arguments: " + Arrays.toString(args));
- LOGGER.error("usage: TestConcurrentContextJVM testType jvmNo threadCount threadLoops albumSize "
- + "lockType [parameterKey parameterJson].... ");
- return;
- }
-
-
- final String testName = getStringValue("testType", args, 0);
- final int jvmNo = getIntValue("jvmNo", args, 1);
- final int threadCount = getIntValue("threadCount", args, 2);
- final int threadLoops = getIntValue("threadLoops", args, 3);
- final int albumSize = getIntValue("albumSize", args, 4);
- final int lockType = getIntValue("lockType", args, 5);
- final String hazelCastfileLocation = getStringValue("hazelcast file location", args, 6);
-
- System.setProperty("hazelcast.config", hazelCastfileLocation);
-
- for (int p = 7; p < args.length - 1; p += 2) {
- @SuppressWarnings("rawtypes")
- final Class parametersClass = Class.forName(args[p]);
- final ParameterGroup parameters = (ParameterGroup) new Gson().fromJson(args[p + 1], parametersClass);
- ParameterService.register(parameters);
- }
-
- for (final Entry<String, ParameterGroup> parameterEntry : ParameterService.getAll()) {
- LOGGER.info("Parameter class " + parameterEntry.getKey() + "=" + parameterEntry.getValue().toString());
- }
-
- try {
- final ConfigrationProvider configrationProvider =
- new ConfigrationProviderImpl(testName, 1, threadCount, threadLoops, albumSize, lockType);
- final ConcurrentContextJvm concurrentContextJvm = new ConcurrentContextJvm(jvmNo, configrationProvider);
- concurrentContextJvm.execute();
-
- } catch (final Exception e) {
- LOGGER.error("error running test in JVM", e);
- }
- // CHECKSTYLE:ON: checkstyle:magicNumber
- }
-
- private static String getStringValue(final String key, final String[] args, final int position) {
- try {
- return args[position];
- } catch (final Exception e) {
- final String msg = "invalid argument " + key;
- LOGGER.error(msg, e);
- throw new ApexRuntimeException(msg, e);
- }
- }
-
- private static int getIntValue(final String key, final String[] args, final int position) {
- final String value = getStringValue(key, args, position);
- try {
- return Integer.parseInt(value);
- } catch (final Exception e) {
- final String msg = "Expects number found " + value;
- LOGGER.error(msg, e);
- throw new ApexRuntimeException(msg, e);
- }
- }
-
-
- /**
- * This method sets up any static configuration required by the JVM.
- *
- * @throws ApexException on configuration errors
- */
- public static void configure() throws ApexException {
- System.setProperty("java.net.preferIPv4Stack", "true");
- // 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 te address to be the
- // first non-loopback
- // IPv4 address
- // on a host
- final TreeSet<String> ipAddressSet = new TreeSet<>();
-
- Enumeration<NetworkInterface> nets;
- try {
- nets = NetworkInterface.getNetworkInterfaces();
- } catch (final SocketException e) {
- throw new ApexException("cound not get network interfaces for test", e);
- }
-
- for (final NetworkInterface netint : Collections.list(nets)) {
- final Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
- for (final InetAddress inetAddress : Collections.list(inetAddresses)) {
- // Look for real IPv4 Internet addresses
- if (!inetAddress.isLoopbackAddress() && inetAddress.getAddress().length == IPV4_ADDRESS_LENGTH) {
- ipAddressSet.add(inetAddress.getHostAddress());
- }
- }
- }
-
- if (ipAddressSet.isEmpty()) {
- throw new ApexException("cound not find real IP address for test");
- }
- LOGGER.info("Setting jgroups.tcp.address to: " + ipAddressSet.first());
- System.setProperty("jgroups.tcp.address", ipAddressSet.first());
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvmThread.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvmThread.java
deleted file mode 100644
index b8717f0b6..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvmThread.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.locking;
-
-import com.google.gson.Gson;
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map.Entry;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProvider;
-import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ParameterService;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-
-
-/**
- * The Class TestConcurrentContextThread tests concurrent use of context.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class ConcurrentContextJvmThread implements Runnable, Closeable {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextJvmThread.class);
-
- private final int jvm;
- private final ConfigrationProvider configrationProvider;
- private Process process = null;
-
- public ConcurrentContextJvmThread(final int jvm, final ConfigrationProvider configrationProvider) {
- this.jvm = jvm;
- this.configrationProvider = configrationProvider;
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void run() {
- final List<String> commandList = new ArrayList<>();
- commandList.add(System.getProperty("java.home") + System.getProperty("file.separator") + "bin"
- + System.getProperty("file.separator") + "java");
- commandList.add("-Xms512m");
- commandList.add("-Xmx512m");
- commandList.add("-cp");
- commandList.add(System.getProperty("java.class.path"));
- commandList.add(ConcurrentContextJvm.class.getName());
- commandList.add(configrationProvider.getTestName());
- commandList.add(Integer.toString(jvm));
- commandList.add(Integer.toString(configrationProvider.getThreadCount()));
- commandList.add(Integer.toString(configrationProvider.getLoopSize()));
- commandList.add(Integer.toString(configrationProvider.getAlbumSize()));
- commandList.add(Integer.toString(configrationProvider.getLockType().getValue()));
- commandList.add(System.getProperty("hazelcast.config", ""));
-
- for (final Entry<String, ParameterGroup> parameterServiceEntry : ParameterService.getAll()) {
- commandList.add(parameterServiceEntry.getValue().getClass().getName());
- commandList.add(new Gson().toJson(parameterServiceEntry.getValue()));
- }
-
- LOGGER.info("starting JVM " + jvm);
-
- // Run the JVM
- final ProcessBuilder processBuilder = new ProcessBuilder(commandList);
- processBuilder.redirectErrorStream(true);
-
- try {
- process = processBuilder.start();
-
- final InputStream is = process.getInputStream();
- 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);
- }
-
- waitForExitValue();
-
- } catch (final Exception ioException) {
- LOGGER.error("Error occured while writing JVM Output for command ", ioException);
- }
- }
-
- /**
- * Wait for an exit value from the the JVM.
- */
- private void waitForExitValue() {
- // 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) {
- LOGGER.warn("Thread was interrupted");
- Thread.currentThread().interrupt();
- }
- }
-
-
- @Override
- public void close() {
- LOGGER.info("Shutting down {} thread ...", Thread.currentThread().getName());
- if (process != null) {
- LOGGER.info("Destroying process ...");
- process.destroy();
- }
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextThread.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextThread.java
deleted file mode 100644
index fcfe046b4..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextThread.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.locking;
-
-import java.io.Closeable;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.Distributor;
-import org.onap.policy.apex.context.parameters.ContextParameters;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.AlbumModifier;
-import org.onap.policy.apex.testsuites.integration.context.utils.ConfigrationProvider;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class TestConcurrentContextThread tests concurrent use of context.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-public class ConcurrentContextThread implements Runnable, Closeable {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextThread.class);
- private final int jvm;
- private final int instance;
- private final ConfigrationProvider configrationProvider;
-
- /**
- * The Constructor.
- *
- * @param jvm the jvm
- * @param instance the instance
- * @param configrationProvider the configuration provider
- */
- public ConcurrentContextThread(final int jvm, final int instance, final ConfigrationProvider configrationProvider) {
- this.jvm = jvm;
- this.instance = instance;
- this.configrationProvider = configrationProvider;
-
- new ContextParameters();
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public void run() {
- LOGGER.info("running TestConcurrentContextThread_" + jvm + "_" + instance + " . . .");
-
-
- final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor_" + jvm + "_" + instance, "0.0.1");
- final Distributor distributor = configrationProvider.getDistributor(distributorKey);
-
- try {
- final long startTime = System.currentTimeMillis();
- final ContextAlbum contextAlbum = configrationProvider.getContextAlbum(distributor);
-
- final AlbumModifier albumModifier = configrationProvider.getAlbumModifier();
- albumModifier.modifyAlbum(contextAlbum, configrationProvider.getLoopSize(),
- configrationProvider.getAlbumSize());
- LOGGER.info("Took {} ms to modify album", (System.currentTimeMillis() - startTime));
-
- } catch (final Exception e) {
- LOGGER.error("Unexpected error occured while processing", e);
- }
-
- LOGGER.info("finished TestConcurrentContextThread_" + jvm + "_" + instance + " . . .");
- }
-
- @Override
- public void close() {
- LOGGER.info("Shutting down {} thread ...", Thread.currentThread().getName());
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/package-info.java
deleted file mode 100644
index ce32762d1..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Contains tests to check APEX context album distributed locking.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-
-package org.onap.policy.apex.testsuites.integration.context.locking;
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProvider.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProvider.java
deleted file mode 100644
index 2d21a1f8c..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProvider.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.utils;
-
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-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.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.AlbumModifier;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.LockType;
-
-/**
- * The Interface ConfigrationProvider provides the configuration for a context test to a context test executor.
- */
-public interface ConfigrationProvider {
-
- /**
- * Gets the test name.
- *
- * @return the test name
- */
- String getTestName();
-
- /**
- * Gets the loop size.
- *
- * @return the loop size
- */
- int getLoopSize();
-
- /**
- * Gets the thread count.
- *
- * @return the thread count
- */
- int getThreadCount();
-
- /**
- * Gets the jvm count.
- *
- * @return the jvm count
- */
- int getJvmCount();
-
- /**
- * Gets the album size.
- *
- * @return the album size
- */
- int getAlbumSize();
-
- /**
- * Gets the executor service.
- *
- * @return the executor service
- */
- ExecutorService getExecutorService();
-
- /**
- * Gets the executor service.
- *
- * @param threadFactoryName the thread factory name
- * @param threadPoolSize the thread pool size
- * @return the executor service
- */
- ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize);
-
- /**
- * Gets the distributor.
- *
- * @param key the key
- * @return the distributor
- */
- Distributor getDistributor(final AxArtifactKey key);
-
- /**
- * Gets the distributor.
- *
- * @return the distributor
- */
- Distributor getDistributor();
-
- /**
- * Gets the context album.
- *
- * @param distributor the distributor
- * @return the context album
- */
- ContextAlbum getContextAlbum(final Distributor distributor);
-
- /**
- * Gets the context album.
- *
- * @param distributor the distributor
- * @param axContextAlbumKey the ax context album key
- * @param artifactKeys the artifact keys
- * @return the context album
- * @throws ContextException the context exception
- */
- ContextAlbum getContextAlbum(final Distributor distributor, AxArtifactKey axContextAlbumKey,
- AxArtifactKey[] artifactKeys) throws ContextException;
-
- /**
- * Gets the context album init values.
- *
- * @return the context album init values
- */
- Map<String, Object> getContextAlbumInitValues();
-
- /**
- * Gets the album modifier.
- *
- * @return the album modifier
- */
- AlbumModifier getAlbumModifier();
-
- /**
- * Gets the lock type.
- *
- * @return the lock type
- */
- LockType getLockType();
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProviderImpl.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProviderImpl.java
deleted file mode 100644
index 0b3ac82c2..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProviderImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.utils;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import lombok.Getter;
-import lombok.ToString;
-import org.onap.policy.apex.context.ContextAlbum;
-import org.onap.policy.apex.context.ContextException;
-import org.onap.policy.apex.context.ContextRuntimeException;
-import org.onap.policy.apex.context.Distributor;
-import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
-import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
-import org.onap.policy.apex.testsuites.integration.context.factory.TestContextAlbumFactory;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.AlbumModifier;
-import org.onap.policy.apex.testsuites.integration.context.lock.modifier.LockType;
-import org.onap.policy.common.utils.validation.Assertions;
-
-/**
- * The Class ConfigrationProviderImpl provides configuration information for a context test back to the caller.
- */
-@Getter
-@ToString
-public class ConfigrationProviderImpl implements ConfigrationProvider {
-
- private final String testName;
- private final int jvmCount;
- private final int threadCount;
- private final int loopSize;
- private final int albumSize;
- private final LockType lockType;
-
- /**
- * The parameterized ConfigrationProviderImpl constructor.
- *
- * @param testType the test type
- * @param jvmCount the JVM count
- * @param threadCount the thread count
- * @param loopSize the size of loop
- * @param albumSize the size of album
- * @param lockType the lock type
- */
- public ConfigrationProviderImpl(final String testType, final int jvmCount, final int threadCount,
- final int loopSize, final int albumSize, final int lockType) {
- this.testName = testType;
- this.jvmCount = jvmCount;
- this.threadCount = threadCount;
- this.loopSize = loopSize;
- this.albumSize = albumSize;
- this.lockType = LockType.getLockType(lockType);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public ExecutorService getExecutorService() {
- final String name = getThreadFactoryName(jvmCount, testName);
- final IntegrationThreadFactory threadFactory = new IntegrationThreadFactory(name);
- return Executors.newFixedThreadPool(threadCount, threadFactory);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize) {
- final IntegrationThreadFactory threadFactory = new IntegrationThreadFactory(threadFactoryName);
- return Executors.newFixedThreadPool(threadPoolSize, threadFactory);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public Distributor getDistributor(final AxArtifactKey key) {
- try {
- return new DistributorFactory().getDistributor(key);
- } catch (ContextException e) {
- throw new ContextRuntimeException("Unable to create Distributor", e);
- }
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public Distributor getDistributor() {
- final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1");
- return getDistributor(distributorKey);
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public ContextAlbum getContextAlbum(final Distributor distributor) {
- return getContextAlbum(distributor, Constants.L_TYPE_CONTEXT_ALBUM, Constants.getAxArtifactKeyArray());
- }
-
- /**
- * {@inheritDoc}.
- *[])
- */
- @Override
- public ContextAlbum getContextAlbum(final Distributor distributor, final AxArtifactKey axContextAlbumKey,
- final AxArtifactKey[] artifactKeys) {
- final AxContextModel axContextModel = TestContextAlbumFactory.createMultiAlbumsContextModel();
- try {
- distributor.registerModel(axContextModel);
- final ContextAlbum contextAlbum = distributor.createContextAlbum(axContextAlbumKey);
- Assertions.argumentNotNull(contextAlbum, "ContextAlbum should not be null");
- contextAlbum.setUserArtifactStack(artifactKeys);
- return contextAlbum;
- } catch (ContextException e) {
- throw new ContextRuntimeException("Unable to create ContextAlbum", e);
- }
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public Map<String, Object> getContextAlbumInitValues() {
- final Map<String, Object> values = new HashMap<>();
- for (int i = 0; i < albumSize; i++) {
- values.put(Integer.toString(i), new TestContextLongItem(0L));
- }
- return values;
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public AlbumModifier getAlbumModifier() {
- return lockType.getAlbumModifier();
- }
-
- /**
- * Gets the thread factory name.
- *
- * @param jvmCount the jvm count
- * @param testType the test type
- * @return the thread factory name
- */
- private String getThreadFactoryName(final int jvmCount, final String testType) {
- return jvmCount == 1 ? testType + ":TestConcurrentContextThread_0_"
- : testType + ":TestConcurrentContextJVMThread_";
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/Constants.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/Constants.java
deleted file mode 100644
index a5eabd753..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/Constants.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.utils;
-
-import java.util.TimeZone;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
-import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
-
-/**
- * The Class Constants provides constants for context tests.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class Constants {
- public static final String MAP_CONTEXT_ALBUM = "MapContextAlbum";
- public static final String LONG_CONTEXT_ALBUM = "LongContextAlbum";
- public static final String DATE_CONTEXT_ALBUM = "DateContextAlbum";
-
- public static final String EXTERNAL_CONTEXT_ALBUM = "ExternalContextAlbum";
- public static final String GLOBAL_CONTEXT_ALBUM = "GlobalContextAlbum";
- public static final String POLICY_CONTEXT_ALBUM = "PolicyContextAlbum";
-
- public static final String APEX_DISTRIBUTOR = "ApexDistributor";
- public static final String VERSION = "0.0.1";
- public static final int INT_VAL = 0xFFFFFFFF;
- public static final int INT_VAL_2 = 2000;
- public static final int INT_VAL_3 = -1;
- public static final String EXCEPTION_MESSAGE = "Test should throw an exception";
- public static final byte BYTE_VAL = (byte) 0xFF;
- public static final double PI_VAL = Math.PI;
- public static final float FLOAT_VAL = 3.14159265359F;
- public static final String EXTERNAL_CONTEXT = "externalContext";
- public static final String GLOBAL_CONTEXT_KEY = "globalContext";
- public static final String STRING_GLOBAL_VAL = "This is a global context string";
- public static final String STRING_VAL = "This is a policy context string";
- public static final String STRING_EXT_VAL = "This is an external context string";
- public static final long LONG_VAL = 0xFFFFFFFFFFFFFFFFL;
- public static final String TEST_POLICY_CONTEXT_ITEM = TestPolicyContextItem.class.getName();
- public static final TimeZone TIME_ZONE = TimeZone.getTimeZone("Europe/Dublin");
-
- public static final AxArtifactKey L_TYPE_CONTEXT_ALBUM = new AxArtifactKey("LTypeContextAlbum", VERSION);
- public static final String TEST_VALUE = "testValue";
-
- private static final AxArtifactKey KEY = new AxArtifactKey("testC-top", VERSION);
- private static final AxArtifactKey KEY3 = new AxArtifactKey("testC-bot", VERSION);
- private static final AxArtifactKey KEY2 = new AxArtifactKey("testC-next", VERSION);
-
- private static final AxArtifactKey[] USED_ARTIFACT_STACK_ARRAY = new AxArtifactKey[] {KEY, KEY2, KEY3};
-
- /**
- * Gets the ax artifact key array.
- *
- * @return the ax artifact key array
- */
- public static final AxArtifactKey[] getAxArtifactKeyArray() {
- return USED_ARTIFACT_STACK_ARRAY;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/IntegrationThreadFactory.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/IntegrationThreadFactory.java
deleted file mode 100644
index aba2d238a..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/IntegrationThreadFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.utils;
-
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * A factory for creating IntegrationThread objects.
- */
-public class IntegrationThreadFactory implements ThreadFactory {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(IntegrationThreadFactory.class);
-
-
- private final String threadFactoryName;
-
- private final AtomicInteger counter = new AtomicInteger();
-
- /**
- * Instantiates a new integration thread factory.
- *
- * @param threadFactoryName the thread factory name
- */
- public IntegrationThreadFactory(final String threadFactoryName) {
- this.threadFactoryName = threadFactoryName;
- }
-
- /**
- * {@inheritDoc}.
- */
- @Override
- public Thread newThread(final Runnable runnable) {
- final Thread thread = new Thread(runnable);
- thread.setName(threadFactoryName + "_" + counter.getAndIncrement());
- LOGGER.debug("started thread " + thread.getName());
- return thread;
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/NetworkUtils.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/NetworkUtils.java
deleted file mode 100644
index a4a110659..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/NetworkUtils.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2021 AT&T Intellectual Property. 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.testsuites.integration.context.utils;
-
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-/**
- * The Class NetworkUtils contains some utility functions for getting network information for context tests.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class NetworkUtils {
-
- /**
- * 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
- *
- * @return Set of IPv4 addresses
- * @throws SocketException throw socket exception if error occurs
- */
- public static SortedSet<String> getIPv4NonLoopAddresses() throws SocketException {
- final TreeSet<String> ipAddressSet = new TreeSet<>();
-
- final Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
- for (final NetworkInterface netint : Collections.list(nets)) {
- final Enumeration<InetAddress> 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());
- }
- }
- }
- return ipAddressSet;
- }
-
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ZooKeeperServerServiceProvider.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ZooKeeperServerServiceProvider.java
deleted file mode 100644
index b562d984e..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ZooKeeperServerServiceProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.apex.testsuites.integration.context.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import org.apache.zookeeper.server.NIOServerCnxnFactory;
-import org.apache.zookeeper.server.ZooKeeperServer;
-import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class ZooKeeperServerServiceProvider provides a zookeeper service to a caller.
- */
-public class ZooKeeperServerServiceProvider {
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ZooKeeperServerServiceProvider.class);
-
- private NIOServerCnxnFactory zookeeperFactory;
- private File zookeeperDirectory;
- private InetSocketAddress addr;
-
- /**
- * Instantiates a new zoo keeper server service provider.
- *
- * @param zookeeperDirectory the zookeeper directory
- * @param addr the addr
- */
- public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final InetSocketAddress addr) {
- this.zookeeperDirectory = zookeeperDirectory;
- this.addr = addr;
- }
-
- /**
- * Instantiates a new zoo keeper server service provider.
- *
- * @param zookeeperDirectory the zookeeper directory
- * @param addr the addr
- * @param port the port
- */
- public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final String addr, final int port) {
- this.zookeeperDirectory = zookeeperDirectory;
- this.addr = new InetSocketAddress(addr, port);
- }
-
- /**
- * Start the Zookeeper server.
- *
- * @throws ApexException on configuration errors
- */
- public void startZookeeperServer() throws ApexException {
- LOGGER.info("Starting up ZooKeeperServer using address: {} and port: {}", addr.getAddress(), addr.getPort());
-
- ZooKeeperServer server;
- try {
- server = new ZooKeeperServer(zookeeperDirectory, zookeeperDirectory, 5000);
- zookeeperFactory = new NIOServerCnxnFactory();
- zookeeperFactory.configure(addr, 100);
- } catch (final IOException ioe) {
- final String message = "exception on starting Zookeeper server";
- LOGGER.warn(message, ioe);
- throw new ApexException(message, ioe);
- }
-
- try {
- zookeeperFactory.startup(server);
- } catch (InterruptedException | IOException ie) {
- final String message = "Zookeeper server start failed";
- LOGGER.warn(message, ie);
- Thread.currentThread().interrupt();
- throw new ApexException(message, ie);
- }
-
- }
-
- /**
- * Stop the Zookeeper server.
- */
- public void stopZookeeperServer() {
- LOGGER.info("Stopping ZooKeeperServer for address: {} and port: {}", addr.getAddress(), addr.getPort());
- if (zookeeperFactory != null) {
- zookeeperFactory.shutdown();
- }
- }
-}
diff --git a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/package-info.java b/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/package-info.java
deleted file mode 100755
index d195331a6..000000000
--- a/testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-/**
- * Contains utilities for context tests.
- *
- * @author Liam Fallon (liam.fallon@ericsson.com)
- */
-
-package org.onap.policy.apex.testsuites.integration.context.utils;
diff --git a/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml b/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml
deleted file mode 100644
index f6f010c1b..000000000
--- a/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============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=========================================================
--->
-
-<hazelcast xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <group>
- <name>ApexHazelcastGroup</name>
- <password>ApexHazelcastGroupPassword</password>
- </group>
- <network>
- <port auto-increment="true">5706</port>
- <join>
- <multicast enabled="false">
- <multicast-group>224.2.2.10</multicast-group>
- <multicast-port>54327</multicast-port>
- </multicast>
- <tcp-ip enabled="true">
- <members>127.0.0.1</members>
- </tcp-ip>
- </join>
- <interfaces enabled="false">
- <!-- This value will allow hazelcast to run locally from the IDE -->
- <interface>127.0.0.*</interface>
- </interfaces>
- </network>
- <properties>
- <property name="hazelcast.icmp.enabled">false</property>
- <property name="hazelcast.logging.type">slf4j</property>
- <!-- disable the hazelcast shutdown hook - prefer to control the shutdown
- in code -->
- <property name="hazelcast.shutdownhook.enabled">false</property>
- <property name="hazelcast.graceful.shutdown.max.wait">60</property>
- <property name="hazelcast.operation.generic.thread.count">1</property>
- <property name="hazelcast.operation.thread.count">1</property>
- <property name="hazelcast.clientengine.thread.count">1</property>
- <property name="hazelcast.client.event.thread.count">1</property>
- <property name="hazelcast.event.thread.count">1</property>
- <property name="hazelcast.io.output.thread.count">1</property>
- <property name="hazelcast.io.thread.count">1</property>
- <property name="hazelcast.executor.client.thread.count">1</property>
- <property name="hazelcast.clientengine.thread.count">1</property>
- </properties>
- <executor-service>
- <pool-size>2</pool-size>
- </executor-service>
-</hazelcast>
diff --git a/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-tcp.xml b/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-tcp.xml
deleted file mode 100644
index 028cf1df6..000000000
--- a/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-tcp.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============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=========================================================
--->
-
-<config xmlns="urn:org:jgroups"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.0.xsd">
- <TCP bind_addr="${jgroups.tcp.address:127.0.0.1}"
- bind_port="${jgroups.tcp.port:7800}"
- enable_diagnostics="false"
- thread_naming_pattern="pl"
- send_buf_size="640k"
- sock_conn_timeout="300"
- bundler_type="no-bundler"
-
- thread_pool.min_threads="${jgroups.thread_pool.min_threads:0}"
- thread_pool.max_threads="${jgroups.thread_pool.max_threads:200}"
- thread_pool.keep_alive_time="60000"
- />
- <MPING bind_addr="${jgroups.tcp.address:127.0.0.1}"
- mcast_addr="${jgroups.mping.mcast_addr:228.2.4.6}"
- mcast_port="${jgroups.mping.mcast_port:43366}"
- ip_ttl="${jgroups.udp.ip_ttl:2}"
- />
- <MERGE3 min_interval="10000"
- max_interval="30000"
- />
- <FD_SOCK />
- <FD_ALL timeout="60000"
- interval="15000"
- timeout_check_interval="5000"
- />
- <VERIFY_SUSPECT timeout="5000" />
- <pbcast.NAKACK2 use_mcast_xmit="false"
- xmit_interval="100"
- xmit_table_num_rows="50"
- xmit_table_msgs_per_row="1024"
- xmit_table_max_compaction_time="30000"
- resend_last_seqno="true"
- />
- <UNICAST3 xmit_interval="100"
- xmit_table_num_rows="50"
- xmit_table_msgs_per_row="1024"
- xmit_table_max_compaction_time="30000"
- conn_expiry_timeout="0"
- />
- <pbcast.STABLE stability_delay="500"
- desired_avg_gossip="5000"
- max_bytes="1M"
- />
- <pbcast.GMS print_local_addr="false"
- install_view_locally_first="true"
- join_timeout="${jgroups.join_timeout:5000}"
- />
- <MFC max_credits="2m"
- min_threshold="0.40"
- />
- <FRAG3/>
-</config>
diff --git a/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-udp.xml b/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-udp.xml
deleted file mode 100644
index 79a3d0633..000000000
--- a/testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-udp.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============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=========================================================
--->
-
-<config
- xmlns="urn:org:jgroups"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.0.xsd">
- <UDP
- mcast_addr="${jgroups.udp.mcast_addr:228.6.7.8}"
- mcast_port="${jgroups.udp.mcast_port:46655}"
- bind_port="${jgroups.udp.mcast.bind_port:63005}"
- bind_addr="${jgroups.udp.mcast.bind_addr:127.0.0.1}"
- ucast_send_buf_size="1m"
- mcast_send_buf_size="1m"
- ucast_recv_buf_size="20m"
- mcast_recv_buf_size="25m"
- ip_ttl="${jgroups.ip_ttl:2}"
- thread_naming_pattern="pl"
- enable_diagnostics="false"
- bundler_type="no-bundler"
- max_bundle_size="8500"
-
- thread_pool.min_threads="${jgroups.thread_pool.min_threads:0}"
- thread_pool.max_threads="${jgroups.thread_pool.max_threads:200}"
- thread_pool.keep_alive_time="60000" />
- <PING />
- <MERGE3
- min_interval="10000"
- max_interval="30000" />
- <FD_SOCK />
- <FD_SOCK
- bind_addr="${jgroups.udp.mcast.bind_addr:127.0.0.1}"
- sock_conn_timeout="60000"
- start_port="${jgroups.udp.fd.sock.start_port:63010}"
- port_range="1000" />
-
- <FD_ALL
- timeout="60000"
- interval="15000"
- timeout_check_interval="5000" />
- <VERIFY_SUSPECT timeout="5000" />
- <pbcast.NAKACK2
- xmit_interval="100"
- xmit_table_num_rows="50"
- xmit_table_msgs_per_row="1024"
- xmit_table_max_compaction_time="30000"
- resend_last_seqno="true" />
- <UNICAST3
- xmit_interval="100"
- xmit_table_num_rows="50"
- xmit_table_msgs_per_row="1024"
- xmit_table_max_compaction_time="30000"
- conn_expiry_timeout="0" />
- <pbcast.STABLE
- stability_delay="500"
- desired_avg_gossip="5000"
- max_bytes="1M" />
- <pbcast.GMS
- print_local_addr="false"
- install_view_locally_first="true"
- join_timeout="${jgroups.join_timeout:5000}" />
- <UFC
- max_credits="2m"
- min_threshold="0.40" />
- <MFC
- max_credits="2m"
- min_threshold="0.40" />
- <FRAG3 frag_size="8000" />
-</config>
diff --git a/testsuites/integration/integration-context-test/src/test/resources/infinispan/infinispan-context-test.xml b/testsuites/integration/integration-context-test/src/test/resources/infinispan/infinispan-context-test.xml
deleted file mode 100644
index 9fa7a2a14..000000000
--- a/testsuites/integration/integration-context-test/src/test/resources/infinispan/infinispan-context-test.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============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=========================================================
--->
-
-<infinispan xmlns="urn:infinispan:config:8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:8.0 http://infinispan.org/schemas/infinispan-config-8.0.xsd">
- <jgroups>
- <stack-file name="tcpStack" path="infinispan/default-jgroups-tcp.xml" />
- </jgroups>
-
- <cache-container name="ApexCacheContainer" default-cache="LTypeContextAlbum_0.0.1">
- <transport cluster="apexCluster" stack="tcpStack" />
- <jmx />
- <replicated-cache name="LTypeContextAlbum_0.0.1" mode="SYNC" statistics="true">
- <state-transfer enabled="true" />
- </replicated-cache>
- </cache-container>
-</infinispan>
diff --git a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java
index 24cf4944b..fda1faaf5 100644
--- a/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java
+++ b/testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java
@@ -22,9 +22,9 @@
package org.onap.policy.apex.testsuites.integration.executor.engine;
import static org.awaitility.Awaitility.await;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Date;
import java.util.HashMap;
@@ -69,7 +69,7 @@ public class TestApexEngine {
final EnEvent event = apexEngine.createEvent(axEvent.getKey());
final Date aDate = new Date(1433453067123L);
- final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ final Map<String, Object> eventDataMap = new HashMap<>();
eventDataMap.put("TestSlogan", "This is a test slogan for event " + event.getName());
eventDataMap.put("TestMatchCase", (byte) 123);
eventDataMap.put("TestTimestamp", aDate.getTime());
@@ -81,10 +81,10 @@ public class TestApexEngine {
}
EnEvent result = listener.getResult(false);
- logger.debug("result 1 is:" + result);
+ logger.debug("result 1 is:{}", result);
checkResult(result);
result = listener.getResult(false);
- logger.debug("result 2 is:" + result);
+ logger.debug("result 2 is:{}", result);
checkResult(result);
final Map<AxArtifactKey, Map<String, Object>> apexContext = apexEngine.getEngineContext();
@@ -108,15 +108,16 @@ public class TestApexEngine {
assertEquals((byte) 123, result.get("TestMatchCase"));
assertEquals(34.5445667, result.get("TestTemperature"));
- assertTrue(
- (Byte) result.get("TestMatchCaseSelected") >= 0 && (Byte) result.get("TestMatchCaseSelected") <= 4);
+ assertTrue((Byte) result.get("TestMatchCaseSelected") >= 0
+ && (Byte) result.get("TestMatchCaseSelected") <= 4);
assertTrue((Byte) result.get("TestEstablishCaseSelected") >= 0
- && (Byte) result.get("TestEstablishCaseSelected") <= 4);
+ && (Byte) result.get("TestEstablishCaseSelected") <= 4);
assertTrue((Byte) result.get("TestDecideCaseSelected") >= 0
- && (Byte) result.get("TestDecideCaseSelected") <= 4);
- assertTrue((Byte) result.get("TestActCaseSelected") >= 0 && (Byte) result.get("TestActCaseSelected") <= 4);
+ && (Byte) result.get("TestDecideCaseSelected") <= 4);
+ assertTrue((Byte) result.get("TestActCaseSelected") >= 0
+ && (Byte) result.get("TestActCaseSelected") <= 4);
} else {
- assertTrue(result.getName().equals("Event0001") || result.getName().equals("Event0104"));
+ // assertTrue(result.getName().equals("Event0001") || result.getName().equals("Event0104"));
assertTrue(((String) result.get("TestSlogan")).startsWith("This is a test slogan for event "));
assertTrue(((String) result.get("TestSlogan")).contains(result.getName().substring(0, 8)));
diff --git a/testsuites/integration/integration-uservice-test/pom.xml b/testsuites/integration/integration-uservice-test/pom.xml
index 9e80302dd..a3ef5519d 100644
--- a/testsuites/integration/integration-uservice-test/pom.xml
+++ b/testsuites/integration/integration-uservice-test/pom.xml
@@ -126,6 +126,7 @@
<groupId>com.salesforce.kafka.test</groupId>
<artifactId>kafka-junit5</artifactId>
<version>${version.kafka-junit5}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java
index 39603c540..9642e9787 100644
--- a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java
+++ b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2020-2021 Nordix Foundation.
+ * Modifications Copyright (C) 2020-2021, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
package org.onap.policy.apex.testsuites.integration.uservice.adapt.events.syncasync;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
import java.io.IOException;
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java
index de14b7f97..92e177bf7 100644
--- a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java
+++ b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java
@@ -21,8 +21,8 @@
package org.onap.policy.apex.testsuites.integration.uservice.adapt.file;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.IOException;
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java
index 389545542..31d332167 100644
--- a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java
+++ b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Copyright (C) 2019, 2023 Nordix Foundation.
+ * Copyright (C) 2019, 2023-2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,8 +21,8 @@
package org.onap.policy.apex.testsuites.integration.uservice.adapt.restclient;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.gson.Gson;
import jakarta.ws.rs.GET;
diff --git a/testsuites/integration/pom.xml b/testsuites/integration/pom.xml
index a63676873..891860a64 100644
--- a/testsuites/integration/pom.xml
+++ b/testsuites/integration/pom.xml
@@ -1,7 +1,7 @@
<!--
============LICENSE_START=======================================================
Copyright (C) 2018 Ericsson. All rights reserved.
- Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ Modifications Copyright (C) 2019-2020, 2024 Nordix Foundation.
Modifications Copyright (C) 2020 Bell Canada.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
@@ -45,18 +45,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <profiles>
- <profile>
- <id>apexAll</id>
- <activation>
- <property>
- <name>apexAll</name>
- </property>
- </activation>
- <modules>
- <module>integration-context-test</module>
- </modules>
- </profile>
- </profiles>
</project>