Convert junit4 to junit5 88/138288/1
authoradheli.tavares <adheli.tavares@est.tech>
Tue, 18 Jun 2024 14:12:56 +0000 (15:12 +0100)
committeradheli.tavares <adheli.tavares@est.tech>
Wed, 19 Jun 2024 16:25:08 +0000 (17:25 +0100)
- clean up any references to junit4
- clean up some sonar complaints
- remove not used integration tests

Issue-ID: POLICY-5041
Change-Id: I67e7a8f00df5b6c5ba514f4ea2ecd96bf942d4c7
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
65 files changed:
auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/ApexModelHandler.java
auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineParser.java
auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/FileMacroTest.java
auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/LogicBlockTest.java
context/context-management/src/main/java/org/onap/policy/apex/context/impl/ContextAlbumImpl.java
context/context-management/src/main/java/org/onap/policy/apex/context/impl/schema/java/JavaSchemaHelper.java
core/src/main/java/org/onap/policy/apex/core/engine/engine/impl/ApexEngineImpl.java
core/src/main/java/org/onap/policy/apex/core/infrastructure/threading/ApplicationThreadFactory.java
examples/examples-adaptive/src/main/java/org/onap/policy/apex/examples/adaptive/model/java/AutoLearnPolicyDecideTaskSelectionLogic.java
model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxConcept.java
model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxKeyInfo.java
model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java
model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java
model/src/main/java/org/onap/policy/apex/model/eventmodel/concepts/AxEvent.java
model/src/main/java/org/onap/policy/apex/model/modelapi/impl/PolicyFacade.java
model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxLogic.java
model/src/main/java/org/onap/policy/apex/model/policymodel/concepts/AxPolicyModel.java
model/src/main/java/org/onap/policy/apex/model/policymodel/handling/PolicyLogicReader.java
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restrequestor/src/test/java/org/onap/policy/apex/plugins/event/carrier/restrequestor/SupportRestRequestorEndpoint.java
pom.xml
testsuites/integration/integration-context-test/pom.xml [deleted file]
testsuites/integration/integration-context-test/pom.xml.versionsBackup [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/TestConcurrentContext.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextAlbumUpdate.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextInstantiation.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/ContextUpdate.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/HazelcastContextDistributorTest.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/InfinispanContextDistributorTest.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/SequentialContextInstantiation.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/distribution/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ArtifactKeyTestEntity.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/ReferenceKeyTestEntity.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/entities/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/TestContextAlbumFactory.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/factory/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/AlbumModifier.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/LockType.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/NoLockAlbumModifier.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/ReadLockAlbumModifier.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/SingleValueWriteLockAlbumModifier.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/WriteLockAlbumModifier.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/lock/modifier/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContext.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvm.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextJvmThread.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/ConcurrentContextThread.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/locking/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProvider.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ConfigrationProviderImpl.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/Constants.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/IntegrationThreadFactory.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/NetworkUtils.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/ZooKeeperServerServiceProvider.java [deleted file]
testsuites/integration/integration-context-test/src/test/java/org/onap/policy/apex/testsuites/integration/context/utils/package-info.java [deleted file]
testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml [deleted file]
testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-tcp.xml [deleted file]
testsuites/integration/integration-context-test/src/test/resources/infinispan/default-jgroups-udp.xml [deleted file]
testsuites/integration/integration-context-test/src/test/resources/infinispan/infinispan-context-test.xml [deleted file]
testsuites/integration/integration-executor-test/src/test/java/org/onap/policy/apex/testsuites/integration/executor/engine/TestApexEngine.java
testsuites/integration/integration-uservice-test/pom.xml
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/events/syncasync/TestEventBase.java
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/file/TestFile2FileIgnore.java
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/testsuites/integration/uservice/adapt/restclient/TestRestClientEndpoint.java
testsuites/integration/pom.xml

index dfb3a38..2382020 100644 (file)
@@ -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;
index fcbf571..2910c04 100644 (file)
@@ -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));
             }
         }
 
index d407e5a..4437272 100644 (file)
@@ -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);
index e30780c..982d519 100644 (file)
@@ -96,7 +96,7 @@ class LogicBlockTest {
         writtenModel.getKeyInformation().getKeyInfoMap().clear();
         compareModel.getKeyInformation().getKeyInfoMap().clear();
 
-        assertEquals(writtenModel, compareModel);
+        assertEquals(compareModel, writtenModel);
     }
 
     /**
index e45c479..096e688 100644 (file)
@@ -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
index f601062..b1a1d36 100644 (file)
@@ -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);
             }
index 7739234..862c357 100644 (file)
@@ -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
index cea5058..a9c3f68 100644 (file)
@@ -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 + "]";
     }
 }
index 317a863..d1a5970 100644 (file)
@@ -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;
         }
index 37fe30b..dc1642b 100644 (file)
@@ -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");
 
 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);
 
index bd3b18e..e158846 100644 (file)
@@ -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");
 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) {
@@ -123,15 +129,6 @@ public class AxKeyInfo extends AxConcept {
         this.key = key;
     }
 
-    /**
-     * Gets the UUID of the concept.
-     *
-     * @return the uuid of the concept
-     */
-    public UUID getUuid() {
-        return uuid;
-    }
-
     /**
      * Sets the UUID of the concept.
      *
@@ -142,15 +139,6 @@ public class AxKeyInfo extends AxConcept {
         this.uuid = uuid;
     }
 
-    /**
-     * Gets the description of the concept.
-     *
-     * @return the description of the concept
-     */
-    public String getDescription() {
-        return description;
-    }
-
     /**
      * Sets 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);
     }
 
     /**
index db64f88..b7925d4 100644 (file)
@@ -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);
index 61434ca..09a6dd8 100644 (file)
@@ -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);
index a4c0e9d..652972d 100644 (file)
@@ -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");
@@ -215,15 +229,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.
      *
@@ -234,15 +239,6 @@ public class AxEvent extends AxConcept {
         this.nameSpace = nameSpace.trim();
     }
 
-    /**
-     * Gets the source of the event.
-     *
-     * @return the source of the event
-     */
-    public String getSource() {
-        return source;
-    }
-
     /**
      * Sets the source of the event.
      *
@@ -253,15 +249,6 @@ public class AxEvent extends AxConcept {
         this.source = source.trim();
     }
 
-    /**
-     * Gets the target of the event.
-     *
-     * @return the target of the event
-     */
-    public String getTarget() {
-        return target;
-    }
-
     /**
      * Sets the target of the event.
      *
@@ -272,15 +259,6 @@ public class AxEvent extends AxConcept {
         this.target = target.trim();
     }
 
-    /**
-     * 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.
      *
@@ -300,24 +278,6 @@ public class AxEvent extends AxConcept {
         this.parameterMap = parameterMap;
     }
 
-    /**
-     * 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}.
      */
@@ -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 + ")";
     }
 
     /**
index 408f091..51778e5 100644 (file)
@@ -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);
 
index 0564d58..50d6771 100644 (file)
@@ -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();
@@ -170,15 +177,6 @@ public class AxLogic extends AxConcept {
         this.key = key;
     }
 
-    /**
-     * Gets the logic flavour.
-     *
-     * @return the logic flavour
-     */
-    public String getLogicFlavour() {
-        return logicFlavour;
-    }
-
     /**
      * Sets the logic flavour.
      *
@@ -188,15 +186,6 @@ public class AxLogic extends AxConcept {
         this.logicFlavour = Assertions.validateStringParameter(LOGIC_FLAVOUR_TOKEN, logicFlavour, LOGIC_FLAVOUR_REGEXP);
     }
 
-    /**
-     * Gets the logic.
-     *
-     * @return the logic
-     */
-    public String getLogic() {
-        return logic;
-    }
-
     /**
      * Sets the logic.
      *
@@ -204,7 +193,7 @@ public class AxLogic extends AxConcept {
      */
     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);
index e119536..0497575 100644 (file)
@@ -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.
  * ================================================================================
 
 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());
     }
 
     /**
@@ -226,15 +222,6 @@ public class AxPolicyModel extends AxModel {
         this.policies = policies;
     }
 
-    /**
-     * 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.
      *
@@ -245,15 +232,6 @@ public class AxPolicyModel extends AxModel {
         this.tasks = tasks;
     }
 
-    /**
-     * 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.
      *
@@ -264,15 +242,6 @@ public class AxPolicyModel extends AxModel {
         this.events = events;
     }
 
-    /**
-     * 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.
      *
@@ -283,15 +252,6 @@ public class AxPolicyModel extends AxModel {
         this.albums = albums;
     }
 
-    /**
-     * 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.
      *
@@ -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));
index f700684..8b0dec7 100644 (file)
@@ -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;
     }
 }
index ec454af..928b1c7 100644 (file)
@@ -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/pom.xml b/pom.xml
index 4418b4c..94eedf3 100644 (file)
--- 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>
     </distributionManagement>
 
     <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
diff --git a/testsuites/integration/integration-context-test/pom.xml b/testsuites/integration/integration-context-test/pom.xml
deleted file mode 100644 (file)
index 52340b0..0000000
+++ /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 (file)
index 4bc571f..0000000
+++ /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 (file)
index 8af9649..0000000
+++ /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 (file)
index 97bfa9e..0000000
+++ /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 (file)
index fa3612f..0000000
+++ /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 (file)
index 8d5b702..0000000
+++ /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 (file)
index f38dfe4..0000000
+++ /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 (file)
index a162ebe..0000000
+++ /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 (file)
index 50ca52a..0000000
+++ /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 (file)
index 04230aa..0000000
+++ /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 (file)
index ae56d15..0000000
+++ /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 (file)
index 0da9964..0000000
+++ /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 (file)
index 8824a16..0000000
+++ /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 (file)
index be4a379..0000000
+++ /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 (file)
index 3d946ee..0000000
+++ /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 (file)
index f9f94c9..0000000
+++ /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 (file)
index dc9cd94..0000000
+++ /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 (file)
index 3f4bc45..0000000
+++ /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 (file)
index 9d29c7d..0000000
+++ /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 (file)
index 1f6e399..0000000
+++ /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 (file)
index fbb4adb..0000000
+++ /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 (file)
index cf38edb..0000000
+++ /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 (file)
index 08ac654..0000000
+++ /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 (file)
index 21a40d8..0000000
+++ /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 (file)
index b8717f0..0000000
+++ /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 (file)
index fcfe046..0000000
+++ /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 (file)
index ce32762..0000000
+++ /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 (file)
index 2d21a1f..0000000
+++ /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 (file)
index 0b3ac82..0000000
+++ /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 (file)
index a5eabd7..0000000
+++ /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 (file)
index aba2d23..0000000
+++ /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 (file)
index a4a1106..0000000
+++ /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 (file)
index b562d98..0000000
+++ /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 (executable)
index d195331..0000000
+++ /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 (file)
index f6f010c..0000000
+++ /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 (file)
index 028cf1d..0000000
+++ /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 (file)
index 79a3d06..0000000
+++ /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 (file)
index 9fa7a2a..0000000
+++ /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>
index 24cf494..fda1faa 100644 (file)
@@ -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)));
index 9e80302..a3ef551 100644 (file)
             <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>
index 39603c5..9642e97 100644 (file)
@@ -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;
index 3895455..31d3321 100644 (file)
@@ -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;
index a636768..891860a 100644 (file)
@@ -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");
             <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>