Merge "Update Participant Simulator docs" master
authorRamesh Murugan Iyer <ramesh.murugan.iyer@est.tech>
Tue, 30 Apr 2024 13:36:36 +0000 (13:36 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 30 Apr 2024 13:36:36 +0000 (13:36 +0000)
20 files changed:
checkstyle/pom.xml [new file with mode: 0644]
checkstyle/src/main/resources/onap-checkstyle/apache-license-2.regexp.txt [new file with mode: 0644]
checkstyle/src/main/resources/onap-checkstyle/check-license.xml [new file with mode: 0644]
checkstyle/src/main/resources/onap-checkstyle/onap-java-style.xml [new file with mode: 0644]
docs/clamp/acm/acm-participant-guide.rst
docs/clamp/acm/acm-user-guide.rst
docs/clamp/acm/design-impl/participants/participants.rst
docs/clamp/acm/design-impl/participants/sim-participant.rst [new file with mode: 0644]
docs/clamp/acm/design-impl/participants/swagger/participant-sim.json
docs/clamp/acm/draw.io/acm-participant-sim.drawio [new file with mode: 0644]
docs/clamp/acm/images/participants/sim-participant.png [new file with mode: 0644]
docs/release-notes.rst
integration/pom.xml
integration/src/main/resources/release/14.0.0-PF-I3_pf_release_data.csv [new file with mode: 0644]
integration/src/main/resources/release/pf_release_data.csv
pom.xml
releases/4.1.2.yaml [new file with mode: 0644]
resources/pom.xml
settings.xml [new file with mode: 0644]
version.properties

diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
new file mode 100644 (file)
index 0000000..313e427
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (c) 2016-2017 Huawei Technologies Co., Ltd.
+   Modifications copyright (C) 2019 AT&T Intellectual Property
+   Modifications Copyright (C) 2020 Bell Canada.
+   Modifications Copyright (C) 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.
+   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.
+-->
+<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/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.policy.parent</groupId>
+        <artifactId>policy-parent</artifactId>
+        <version>4.1.3-SNAPSHOT</version>
+    </parent>
+    <artifactId>checkstyle</artifactId>
+    <name>checkstyle</name>
+</project>
diff --git a/checkstyle/src/main/resources/onap-checkstyle/apache-license-2.regexp.txt b/checkstyle/src/main/resources/onap-checkstyle/apache-license-2.regexp.txt
new file mode 100644 (file)
index 0000000..5b69f28
--- /dev/null
@@ -0,0 +1,15 @@
+^/[*]+$
+^ \* Copyright .*$
+^ \*( )?$
+^ \* 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.
+^ [*]+/$
diff --git a/checkstyle/src/main/resources/onap-checkstyle/check-license.xml b/checkstyle/src/main/resources/onap-checkstyle/check-license.xml
new file mode 100644 (file)
index 0000000..8421f52
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+   Copyright (c) 2016-2017 Huawei Technologies Co., Ltd.
+   Modifications Copyright (C) 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.
+   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.
+-->
+<!DOCTYPE module PUBLIC
+          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+<!-- Checks the license headers expected by ONAP. -->
+<module name="Checker">
+  <property name="charset" value="UTF-8"/>
+  <property name="severity" value="error"/>
+  <module name="RegexpSingleline">
+    <property name="format" value="under the Apache License, Version 2\.0"/>
+    <property name="minimum" value="1"/>
+    <property name="maximum" value="10"/>
+  </module>
+  <module name="RegexpSingleline">
+    <property name="format" value="http://www.apache\.org/licenses/LICENSE-2\.0"/>
+    <property name="minimum" value="1"/>
+    <property name="maximum" value="10"/>
+  </module>
+</module>
diff --git a/checkstyle/src/main/resources/onap-checkstyle/onap-java-style.xml b/checkstyle/src/main/resources/onap-checkstyle/onap-java-style.xml
new file mode 100644 (file)
index 0000000..3de8f61
--- /dev/null
@@ -0,0 +1,338 @@
+<?xml version="1.0"?>
+<!--
+   Copyright (c) 2016 Huawei Technologies Co., Ltd.
+   Modifications Copyright (C) 2019-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.
+   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.
+-->
+<!DOCTYPE module PUBLIC
+          "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+          "https://checkstyle.org/dtds/configuration_1_3.dtd">
+
+<!--
+    Checkstyle configuration that checks the Google coding conventions from Google Java Style
+    that can be found at https://google.github.io/styleguide/javaguide.html
+
+    Checkstyle is very configurable. Be sure to read the documentation at
+    http://checkstyle.org (or in your downloaded distribution).
+
+    To completely disable a check, just comment it out or delete it from the file.
+    To suppress certain violations please review suppression filters.
+
+    Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
+ -->
+
+ <!--
+ To update the checkstyle version in ONAP see:
+ https://wiki.onap.org/display/DW/How+to+update+ONAP+checkstyle+when+Checkstyle+steps+their+version
+  -->
+
+<module name="Checker">
+    <property name="charset" value="UTF-8" />
+
+    <property name="severity" value="warning" />
+
+    <property name="fileExtensions" value="java, properties, xml" />
+    <!-- Excludes all 'module-info.java' files              -->
+    <!-- See https://checkstyle.org/config_filefilters.html -->
+    <module name="BeforeExecutionExclusionFileFilter">
+        <property name="fileNamePattern" value="module\-info\.java$" />
+    </module>
+    <!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
+    <module name="SuppressionFilter">
+        <property name="file" value="${org.checkstyle.google.suppressionfilter.config}"
+            default="checkstyle-suppressions.xml" />
+        <property name="optional" value="true" />
+    </module>
+    <module name="SuppressWarningsFilter"/>
+
+    <!-- Checks for whitespace                               -->
+    <!-- See http://checkstyle.org/config_whitespace.html -->
+    <module name="FileTabCharacter">
+        <property name="eachLine" value="true" />
+    </module>
+
+    <module name="LineLength">
+        <property name="fileExtensions" value="java" />
+        <property name="max" value="120" />
+        <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://" />
+    </module>
+
+    <module name="TreeWalker">
+        <module name="OuterTypeFilename" />
+        <module name="IllegalTokenText">
+            <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL" />
+            <property name="format"
+                value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)" />
+            <property name="message"
+                value="Consider using special escape sequence instead of octal value or Unicode escaped value." />
+        </module>
+        <module name="AvoidEscapedUnicodeCharacters">
+            <property name="allowEscapesForControlCharacters" value="true" />
+            <property name="allowByTailComment" value="true" />
+            <property name="allowNonPrintableEscapes" value="true" />
+        </module>
+        <module name="AvoidStarImport" />
+        <module name="OneTopLevelClass" />
+        <module name="NoLineWrap">
+            <property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT" />
+        </module>
+        <module name="EmptyBlock">
+            <property name="option" value="TEXT" />
+            <property name="tokens"
+                value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
+        </module>
+        <module name="NeedBraces">
+            <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE" />
+        </module>
+        <module name="LeftCurly">
+            <property name="tokens"
+                value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,
+                    INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT,
+                    LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,
+                    LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,
+                    OBJBLOCK, STATIC_INIT" />
+        </module>
+        <module name="RightCurly">
+            <property name="id" value="RightCurlySame" />
+            <property name="tokens"
+                value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
+                    LITERAL_DO" />
+        </module>
+        <module name="RightCurly">
+            <property name="id" value="RightCurlyAlone" />
+            <property name="option" value="alone" />
+            <property name="tokens"
+                value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
+                    INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF" />
+        </module>
+        <module name="SuppressionXpathSingleFilter">
+          <!-- suppression is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
+            <property name="id" value="RightCurlyAlone" />
+            <property name="query"
+                value="//RCURLY[parent::SLIST[count(./*)=1]
+                                                 or preceding-sibling::*[last()][self::LCURLY]]" />
+        </module>
+        <module name="WhitespaceAfter">
+            <property name="tokens"
+                value="COMMA, SEMI, TYPECAST, LITERAL_IF, LITERAL_ELSE,
+                    LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, DO_WHILE" />
+        </module>
+        <module name="WhitespaceAround">
+            <property name="allowEmptyConstructors" value="true" />
+            <property name="allowEmptyLambdas" value="true" />
+            <property name="allowEmptyMethods" value="true" />
+            <property name="allowEmptyTypes" value="true" />
+            <property name="allowEmptyLoops" value="true" />
+            <property name="tokens"
+                value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR,
+                    BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND,
+                    LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,
+                    LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,
+                     LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN,
+                     NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,
+                     SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND" />
+            <message key="ws.notFollowed"
+                value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)" />
+            <message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace." />
+        </module>
+        <module name="OneStatementPerLine" />
+        <module name="MultipleVariableDeclarations" />
+        <module name="ArrayTypeStyle" />
+        <module name="MissingSwitchDefault" />
+        <module name="FallThrough" />
+        <module name="UpperEll" />
+        <module name="ModifierOrder" />
+        <module name="EmptyLineSeparator">
+            <property name="tokens"
+                value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
+                    STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
+            <property name="allowNoEmptyLineBetweenFields" value="true" />
+        </module>
+        <module name="SeparatorWrap">
+            <property name="id" value="SeparatorWrapDot" />
+            <property name="tokens" value="DOT" />
+            <property name="option" value="nl" />
+        </module>
+        <module name="SeparatorWrap">
+            <property name="id" value="SeparatorWrapComma" />
+            <property name="tokens" value="COMMA" />
+            <property name="option" value="EOL" />
+        </module>
+        <module name="SeparatorWrap">
+            <!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
+            <property name="id" value="SeparatorWrapEllipsis" />
+            <property name="tokens" value="ELLIPSIS" />
+            <property name="option" value="EOL" />
+        </module>
+        <module name="SeparatorWrap">
+            <!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
+            <property name="id" value="SeparatorWrapArrayDeclarator" />
+            <property name="tokens" value="ARRAY_DECLARATOR" />
+            <property name="option" value="EOL" />
+        </module>
+        <module name="SeparatorWrap">
+            <property name="id" value="SeparatorWrapMethodRef" />
+            <property name="tokens" value="METHOD_REF" />
+            <property name="option" value="nl" />
+        </module>
+        <module name="PackageName">
+            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
+            <message key="name.invalidPattern" value="Package name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="TypeName">
+            <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF" />
+            <message key="name.invalidPattern" value="Type name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="MemberName">
+            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$" />
+            <message key="name.invalidPattern" value="Member name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="ParameterName">
+            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
+            <message key="name.invalidPattern" value="Parameter name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="LambdaParameterName">
+            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
+            <message key="name.invalidPattern" value="Lambda parameter name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="CatchParameterName">
+            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
+            <message key="name.invalidPattern" value="Catch parameter name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="LocalVariableName">
+            <property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
+            <message key="name.invalidPattern" value="Local variable name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="ClassTypeParameterName">
+            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
+            <message key="name.invalidPattern" value="Class type name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="MethodTypeParameterName">
+            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
+            <message key="name.invalidPattern" value="Method type name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="InterfaceTypeParameterName">
+            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
+            <message key="name.invalidPattern" value="Interface type name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="NoFinalizer" />
+        <module name="GenericWhitespace">
+            <message key="ws.followed" value="GenericWhitespace ''{0}'' is followed by whitespace." />
+            <message key="ws.preceded" value="GenericWhitespace ''{0}'' is preceded with whitespace." />
+            <message key="ws.illegalFollow" value="GenericWhitespace ''{0}'' should followed by whitespace." />
+            <message key="ws.notPreceded" value="GenericWhitespace ''{0}'' is not preceded with whitespace." />
+        </module>
+        <module name="Indentation">
+            <property name="basicOffset" value="4" />
+            <property name="braceAdjustment" value="0" />
+            <property name="caseIndent" value="4" />
+            <property name="throwsIndent" value="4" />
+            <property name="lineWrappingIndentation" value="4" />
+            <property name="arrayInitIndent" value="4" />
+        </module>
+        <module name="AbbreviationAsWordInName">
+            <property name="ignoreFinal" value="false" />
+            <property name="allowedAbbreviationLength" value="1" />
+            <property name="tokens"
+                value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF,
+                    PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF" />
+        </module>
+        <module name="OverloadMethodsDeclarationOrder" />
+        <module name="VariableDeclarationUsageDistance" />
+        <module name="CustomImportOrder">
+            <property name="sortImportsInGroupAlphabetically" value="true" />
+            <property name="separateLineBetweenGroups" value="true" />
+            <property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE" />
+            <property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF" />
+        </module>
+        <module name="MethodParamPad">
+            <property name="tokens"
+                value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,
+                    SUPER_CTOR_CALL, ENUM_CONSTANT_DEF" />
+        </module>
+        <module name="NoWhitespaceBefore">
+            <property name="tokens"
+                value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS,
+                    LABELED_STAT, METHOD_REF" />
+            <property name="allowLineBreaks" value="true" />
+        </module>
+        <module name="ParenPad">
+            <property name="tokens"
+                value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,
+                    EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,
+                    LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,
+                    METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA" />
+        </module>
+        <module name="OperatorWrap">
+            <property name="option" value="NL" />
+            <property name="tokens"
+                value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
+                    LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF " />
+        </module>
+        <module name="AnnotationLocation">
+            <property name="id" value="AnnotationLocationMostCases" />
+            <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
+        </module>
+        <module name="AnnotationLocation">
+            <property name="id" value="AnnotationLocationVariables" />
+            <property name="tokens" value="VARIABLE_DEF" />
+            <property name="allowSamelineMultipleAnnotations" value="true" />
+        </module>
+        <module name="NonEmptyAtclauseDescription" />
+        <module name="InvalidJavadocPosition" />
+        <module name="JavadocTagContinuationIndentation" />
+        <module name="SummaryJavadoc">
+            <property name="forbiddenSummaryFragments"
+                value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
+        </module>
+        <module name="JavadocParagraph" />
+        <module name="AtclauseOrder">
+            <property name="tagOrder" value="@param, @return, @throws, @deprecated" />
+            <property name="target"
+                value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
+        </module>
+        <module name="JavadocMethod">
+            <property name="allowMissingParamTags" value="true" />
+            <property name="allowMissingReturnTag" value="true" />
+            <property name="allowedAnnotations" value="Override, Test" />
+            <property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF" />
+        </module>
+        <module name="MissingJavadocMethod">
+            <property name="minLineCount" value="2" />
+            <property name="allowedAnnotations" value="Override, Test" />
+            <property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF" />
+            <property name="ignoreMethodNamesRegex" value="^(test|before|after)[a-zA-Z0-9_]*$" />
+        </module>
+        <module name="MethodName">
+            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
+            <message key="name.invalidPattern" value="Method name ''{0}'' must match pattern ''{1}''." />
+        </module>
+        <module name="SingleLineJavadoc">
+            <property name="ignoreInlineTags" value="false" />
+        </module>
+        <module name="EmptyCatchBlock">
+            <property name="exceptionVariableName" value="expected" />
+        </module>
+        <module name="CommentsIndentation">
+            <property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN" />
+        </module>
+        <!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->
+        <module name="SuppressionXpathFilter">
+            <property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}"
+                default="checkstyle-xpath-suppressions.xml" />
+            <property name="optional" value="true" />
+        </module>
+        <module name="SuppressWarningsHolder"/>
+    </module>
+</module>
index a98e66b..b4ca885 100644 (file)
@@ -194,6 +194,108 @@ Any new functionality in the future will be wrapped by this class.
 Default implementation are supported for the methods: lock, unlock, update, migrate, delete, prime, deprime, handleRestartComposition and handleRestartInstance.
 
 
+Methods: deploy, undeploy, lock, unlock and delete
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  instanceElement:
+    ==============================  ===========================
+     **field**                       **description**
+    ==============================  ===========================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment    policies and policy types
+     inProperties                    instance in-properties
+      outProperties                  instance out-properties
+    ==============================  ===========================
+
+Method: update
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  instanceElement:
+    ==============================  ================================================
+     **field**                       **description**
+    ==============================  ================================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(before the update)**
+      outProperties                  instance out-properties
+    ==============================  ================================================
+  instanceElementUpdated:
+    ==============================  ======================================
+     **field**                       **description**
+    ==============================  ======================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(updated)**
+      outProperties                  instance out-properties
+    ==============================  ======================================
+
+Methods: prime, deprime
+  composition:
+    ======================  ===================================================================
+     **field**                       **description**
+    ======================  ===================================================================
+     compositionId           composition definition Id
+     inProperties            composition definition in-properties for each definition element
+     outProperties           composition definition out-properties for each definition element
+    ======================  ===================================================================
+
+Method: migrate
+  compositionElement:
+    ======================  =======================================
+     **field**                       **description**
+    ======================  =======================================
+     compositionId           composition definition Id
+     elementDefinitionId     composition definition element Id
+     inProperties            composition definition in-properties
+     outProperties           composition definition out-properties
+    ======================  =======================================
+  compositionElementTarget:
+    ======================  ==============================================
+     **field**                       **description**
+    ======================  ==============================================
+     compositionId           composition definition target Id
+     elementDefinitionId     composition definition target element Id
+     inProperties            composition definition target in-properties
+     outProperties           composition definition target out-properties
+    ======================  ==============================================
+  instanceElement:
+    ==============================  ===================================================
+     **field**                       **description**
+    ==============================  ===================================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(before the migration)**
+      outProperties                  instance out-properties
+    ==============================  ===================================================
+  instanceElementMigrate:
+    ==============================  ======================================
+     **field**                       **description**
+    ==============================  ======================================
+     instanceId                      instance id
+     elementId                       instance element id
+     toscaServiceTemplateFragment
+     inProperties                    instance in-properties **(updated)**
+      outProperties                  instance out-properties
+    ==============================  ======================================
+
 APIs to invoke
 --------------
 ParticipantIntermediaryApi:
@@ -665,4 +767,4 @@ error scenarios in the participant with the suitable approach.
 
 Tips:
 If the participant tries to undeploy an element which doesn’t exist in the system any more (due to various other external factors),
-it could update the element state to â€˜undeployed’ using the Intermediary api.
\ No newline at end of file
+it could update the element state to â€˜undeployed’ using the Intermediary api.
index faab7e6..3c56f90 100644 (file)
@@ -418,7 +418,7 @@ The Json below is an example of configuration:
 
 Update and send composition outProperites
 -----------------------------------------
-Data like useState operationalState and outProperites could be updated any time using the following endpoint:
+Composition Definition outProperites could be updated any time using the following endpoint:
 
 .. code-block:: bash
 
@@ -454,7 +454,7 @@ could be read using the following endpoint:
 
 Update and send useState operationalState and instance outProperites
 --------------------------------------------------------------------
-Data like useState operationalState and outProperites could be updated any time using the following endpoint:
+AC instance data like useState operationalState and outProperites could be updated any time using the following endpoint:
 
 .. code-block:: bash
 
@@ -466,7 +466,7 @@ The Json below is an example of update, where {{instanceId}} is the UUID of the
 
   {
         "outProperties": {
-            "Opresult": true,
+            "result": true,
             "list": [
                 {"id": 1 },
                 {"id": 2 }
index 6b12b7c..254d80c 100644 (file)
@@ -38,3 +38,4 @@ The detailed implementation of the CLAMP Participant ecosystem is described on t
    a1pms-participant
    kserve-participant
    policy-framework-participant
+   sim-participant
diff --git a/docs/clamp/acm/design-impl/participants/sim-participant.rst b/docs/clamp/acm/design-impl/participants/sim-participant.rst
new file mode 100644 (file)
index 0000000..96683a6
--- /dev/null
@@ -0,0 +1,42 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+.. _clamp-acm-sim-participant:
+
+Simulator Participant
+#####################
+
+This can be used for simulation testing purpose when there are no actual frameworks or a full deployment.
+Typically the Simulator Participant can be used with other Simulator participants with different supported element types.
+Once the microservice is up, the Simulator participants can be used to test CLAMP runtime and intermediary library.
+It supports the message Broker Kafka.
+
+.. image:: ../../images/participants/sim-participant.png
+
+Supported Element Types
+-----------------------
+Supported Element Types for Simulator participant will be used to define a whatever participant Element Definition Types in tosca template.
+Participant Supported Element Types is defined in Simulator participant application.yaml.
+The example below shows how to mock the HTTP participant:
+
+.. code-block:: YAML
+
+    participantSupportedElementTypes:
+      -
+        typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+        typeVersion: 1.0.0
+
+Supported participant Interactions:
+-----------------------------------
+The Simulator participant interacts with ACM Runtime on the northbound via Message Broker. It interacts with tester via Rest Api.
+
+The communication for the Automation Composition updates and state change requests are sent from the ACM Runtime to the participant via Message Broker.
+The tester can invoke the appropriate endpoint of the participant to change the behavior of how the participant should replay to ACM runtime.
+
+Participant Simulator API
+=========================
+
+This API allows a Participant Simulator to be started and run for test purposes.
+
+:download:`Download Policy Participant Simulator API Swagger  <swagger/participant-sim.json>`
+
+.. swaggerv2doc:: swagger/participant-sim.json
index b258f85..3be2d34 100644 (file)
 {
-    "swagger": "2.0",
+    "openapi": "3.0.1",
     "info": {
-        "description": "Api Documentation",
-        "version": "1.0",
-        "title": "Api Documentation",
-        "termsOfService": "urn:tos",
-        "contact": {},
+        "title": "ACM Mock Participant",
+        "description": "CLAMP Mock Participant API",
         "license": {
             "name": "Apache 2.0",
             "url": "http://www.apache.org/licenses/LICENSE-2.0"
         }
     },
+    "externalDocs": {
+        "description": "CLAMP Automation Composition Management Documentation",
+        "url": "https://docs.onap.org/projects/onap-policy-parent/en/latest/clamp/clamp.html"
+    },
+    "servers": [
+        {
+            "url": "http://localhost:8084/onap/policy/clamp/acm/simparticipant",
+            "description": "Generated server url"
+        }
+    ],
     "paths": {
-        "/onap/participantsim/v2/elements": {
-            "put": {
+        "/v2/parameters": {
+            "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Updates simulated automation composition elements",
-                "description": "Updates simulated automation composition elements, returning the updated automation composition definition IDs",
-                "operationId": "updateUsingPUT",
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Return all Parameters",
+                "description": "Return all the parameters configured in the Simulator Participant",
+                "operationId": "getConfig",
                 "parameters": [
                     {
-                        "in": "body",
-                        "name": "body",
-                        "description": "Body of a automation composition element",
-                        "required": true,
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
                         "schema": {
-                            "$ref": "#/definitions/AutomationCompositionElementReq",
-                            "originalRef": "AutomationCompositionElementReq"
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK, reutrns a serialised instance of [SimConfig](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/SimConfig.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
                         }
                     },
+                    "401": {
+                        "description": "Authorization Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/SimConfig"
+                                }
+                            }
+                        }
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            },
+            "put": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "change the parameters",
+                "description": "Change the parameters the behaviour of the Simulator Participant",
+                "operationId": "setConfig",
+                "parameters": [
                     {
                         "name": "X-ONAP-RequestID",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/SimConfig"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/SimConfig"
+                            }
+                        }
+                    },
+                    "required": true
+                },
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "$ref": "#/definitions/TypedSimpleResponse«AutomationCompositionElement»",
-                            "originalRef": "TypedSimpleResponse«AutomationCompositionElement»"
-                        }
+                        "description": "OK, the parameters has been saved"
                     },
-                    "201": {
-                        "description": "Created"
+                    "400": {
+                        "description": "Bad Request"
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            }
+        },
+        "/v2/datas": {
+            "get": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "Query details of the requested internal datas",
+                "description": "Query details of the requested internal datas",
+                "operationId": "getDatas",
+                "parameters": [
+                    {
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Serialised instance of [InternalDatas](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/InternalDatas.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "403": {
+                    "401": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
+                ]
+            },
+            "put": {
+                "tags": [
+                    "Simulator-participant-controller"
                 ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
+                "summary": "change the parameters",
+                "description": "Change the data of the Simulator Participant",
+                "operationId": "setData",
+                "parameters": [
+                    {
+                        "name": "X-ONAP-RequestID",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        }
+                    },
+                    "required": true
+                },
+                "responses": {
+                    "200": {
+                        "description": "OK, the data has been saved"
+                    },
+                    "400": {
+                        "description": "Bad Request"
+                    },
+                    "401": {
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
             }
         },
-        "/onap/participantsim/v2/elements/{name}/{version}": {
+        "/v2/compositiondatas": {
             "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Query details of the requested simulated automation composition elements",
-                "description": "Queries details of the requested simulated automation composition elements, returning all automation composition element details",
-                "operationId": "elementsUsingGET",
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Query details of the requested internal composition datas",
+                "description": "Query details of the requested internal composition datas",
+                "operationId": "getCompositionDatas",
                 "parameters": [
                     {
-                        "name": "name",
-                        "in": "path",
-                        "description": "Automation Composition element name",
-                        "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "version",
-                        "in": "path",
-                        "description": "Automation Composition element version",
-                        "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "X-ONAP-RequestID",
+                        "name": "X-onap-RequestId",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "type": "object",
-                            "additionalProperties": {
-                                "$ref": "#/definitions/AutomationCompositionElementRes",
-                                "originalRef": "AutomationCompositionElementRes"
+                        "description": "Serialised instance of [InternalDatas](https://github.com/onap/policy-clamp/blob/master/participant/participant-impl/policy-clamp-participant-impl-simulator/src/main/java/org/onap/policy/clamp/acm/participant/sim/model/InternalDatas.java)",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
-                            }
-                        }
-                    },
-                    "403": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/InternalDatas"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
-            }
-        },
-        "/onap/participantsim/v2/participants": {
+                ]
+            },
             "put": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Updates simulated participants",
-                "description": "Updates simulated participants, returning the updated automation composition definition IDs",
-                "operationId": "updateUsingPUT_1",
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "change the parameters",
+                "description": "Change the data of the Simulator Participant",
+                "operationId": "setCompositionData",
                 "parameters": [
-                    {
-                        "in": "body",
-                        "name": "body",
-                        "description": "Body of a participant",
-                        "required": true,
-                        "schema": {
-                            "$ref": "#/definitions/ParticipantReq",
-                            "originalRef": "ParticipantReq"
-                        }
-                    },
                     {
                         "name": "X-ONAP-RequestID",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
+                "requestBody": {
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        },
+                        "application/yaml": {
+                            "schema": {
+                                "$ref": "#/components/schemas/InternalData"
+                            }
+                        }
+                    },
+                    "required": true
+                },
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "$ref": "#/definitions/TypedSimpleResponse«Participant»",
-                            "originalRef": "TypedSimpleResponse«Participant»"
-                        }
+                        "description": "OK, the data has been saved"
                     },
-                    "201": {
-                        "description": "Created"
+                    "400": {
+                        "description": "Bad Request"
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "description": "Authorization Error"
+                    },
+                    "500": {
+                        "description": "Internal Server Error"
+                    }
+                },
+                "security": [
+                    {
+                        "basicAuth": []
+                    }
+                ]
+            }
+        },
+        "/v2/instances": {
+            "get": {
+                "tags": [
+                    "Simulator-participant-controller"
+                ],
+                "summary": "Query details of the requested automation composition instances",
+                "description": "Query details of the requested automation composition instances for the given automation composition definition ID, returning details of all its automation composition instances",
+                "operationId": "getAutomationCompositions",
+                "parameters": [
+                    {
+                        "name": "X-onap-RequestId",
+                        "in": "header",
+                        "description": "RequestID for http transaction",
+                        "required": false,
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "Serialised instance of [AutomationCompositions](https://github.com/onap/policy-clamp/blob/master/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositions.java) containing a list of automation composition instances found",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     },
-                    "403": {
+                    "401": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationCompositions"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
-                }
+                ]
             }
         },
-        "/onap/participantsim/v2/participants/{name}/{version}": {
+        "/v2/instances/{instanceId}": {
             "get": {
                 "tags": [
-                    "Clamp Automation Composition Participant Simulator API"
-                ],
-                "summary": "Query details of the requested simulated participants",
-                "description": "Queries details of the requested simulated participants, returning all participant details",
-                "operationId": "participantsUsingGET",
-                "produces": [
-                    "application/json",
-                    "application/yaml"
+                    "Simulator-participant-controller"
                 ],
+                "summary": "Get automation composition instance details.",
+                "description": "Get details of the requested automation composition instance.",
+                "operationId": "getAutomationComposition",
                 "parameters": [
                     {
-                        "name": "name",
+                        "name": "instanceId",
                         "in": "path",
-                        "description": "Participant name",
+                        "description": "The UUID of the automation composition instance to get",
                         "required": true,
-                        "type": "string"
-                    },
-                    {
-                        "name": "version",
-                        "in": "path",
-                        "description": "Participant version",
-                        "required": true,
-                        "type": "string"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     },
                     {
-                        "name": "X-ONAP-RequestID",
+                        "name": "X-onap-RequestId",
                         "in": "header",
                         "description": "RequestID for http transaction",
                         "required": false,
-                        "type": "string",
-                        "format": "uuid"
+                        "schema": {
+                            "type": "string",
+                            "format": "uuid"
+                        }
                     }
                 ],
                 "responses": {
                     "200": {
-                        "description": "OK",
-                        "schema": {
-                            "type": "array",
-                            "items": {
-                                "$ref": "#/definitions/ParticipantRes",
-                                "originalRef": "ParticipantRes"
+                        "description": "Serialised instance of [AutomationComposition](https://github.com/onap/policy-clamp/blob/master/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java) containing the automation composition instance",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     },
                     "401": {
-                        "description": "Authentication Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
-                            }
-                        }
-                    },
-                    "403": {
                         "description": "Authorization Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     },
-                    "404": {
-                        "description": "Not Found"
-                    },
                     "500": {
                         "description": "Internal Server Error",
-                        "headers": {
-                            "X-LatestVersion": {
-                                "type": "string"
-                            },
-                            "X-PatchVersion": {
-                                "type": "string"
-                            },
-                            "X-MinorVersion": {
-                                "type": "string"
-                            },
-                            "X-ONAP-RequestID": {
-                                "type": "string",
-                                "format": "uuid"
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
+                            },
+                            "application/yaml": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/AutomationComposition"
+                                }
                             }
                         }
                     }
                     {
                         "basicAuth": []
                     }
-                ],
-                "x-interface info": {
-                    "api-version": "1.0.0",
-                    "last-mod-release": "Dublin"
+                ]
+            }
+        }
+    },
+    "components": {
+        "schemas": {
+            "SimConfig": {
+                "type": "object",
+                "properties": {
+                    "deploySuccess": {
+                        "type": "boolean"
+                    },
+                    "undeploySuccess": {
+                        "type": "boolean"
+                    },
+                    "lockSuccess": {
+                        "type": "boolean"
+                    },
+                    "unlockSuccess": {
+                        "type": "boolean"
+                    },
+                    "deleteSuccess": {
+                        "type": "boolean"
+                    },
+                    "updateSuccess": {
+                        "type": "boolean"
+                    },
+                    "migrateSuccess": {
+                        "type": "boolean"
+                    },
+                    "primeSuccess": {
+                        "type": "boolean"
+                    },
+                    "deprimeSuccess": {
+                        "type": "boolean"
+                    },
+                    "deployTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "undeployTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "lockTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "unlockTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "updateTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "migrateTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "deleteTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "primeTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    },
+                    "deprimeTimerMs": {
+                        "type": "integer",
+                        "format": "int32"
+                    }
+                }
+            },
+            "InternalData": {
+                "type": "object",
+                "properties": {
+                    "intProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "outProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "compositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionDefinitionElementId": {
+                        "$ref": "#/components/schemas/ToscaConceptIdentifier"
+                    },
+                    "automationCompositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "automationCompositionElementId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "useState": {
+                        "type": "string"
+                    },
+                    "operationalState": {
+                        "type": "string"
+                    }
+                }
+            },
+            "ToscaConceptIdentifier": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    }
+                }
+            },
+            "AutomationComposition": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    },
+                    "derivedFrom": {
+                        "type": "string"
+                    },
+                    "metadata": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "description": {
+                        "type": "string"
+                    },
+                    "instanceId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "compositionTargetId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "restarting": {
+                        "type": "boolean"
+                    },
+                    "deployState": {
+                        "type": "string",
+                        "enum": [
+                            "DEPLOYED",
+                            "DEPLOYING",
+                            "UNDEPLOYED",
+                            "UNDEPLOYING",
+                            "DELETING",
+                            "DELETED",
+                            "UPDATING",
+                            "MIGRATING"
+                        ]
+                    },
+                    "lockState": {
+                        "type": "string",
+                        "enum": [
+                            "LOCKED",
+                            "LOCKING",
+                            "UNLOCKED",
+                            "UNLOCKING",
+                            "NONE"
+                        ]
+                    },
+                    "elements": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "$ref": "#/components/schemas/AutomationCompositionElement"
+                        }
+                    },
+                    "stateChangeResult": {
+                        "type": "string",
+                        "enum": [
+                            "NO_ERROR",
+                            "FAILED",
+                            "TIMEOUT"
+                        ]
+                    },
+                    "definedName": {
+                        "type": "string"
+                    },
+                    "definedVersion": {
+                        "type": "string"
+                    },
+                    "typeVersion": {
+                        "type": "string"
+                    },
+                    "key": {
+                        "$ref": "#/components/schemas/ToscaEntityKey"
+                    },
+                    "type": {
+                        "type": "string"
+                    }
+                }
+            },
+            "AutomationCompositionElement": {
+                "type": "object",
+                "properties": {
+                    "id": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "definition": {
+                        "$ref": "#/components/schemas/ToscaConceptIdentifier"
+                    },
+                    "participantId": {
+                        "type": "string",
+                        "format": "uuid"
+                    },
+                    "restarting": {
+                        "type": "boolean"
+                    },
+                    "deployState": {
+                        "type": "string",
+                        "enum": [
+                            "DEPLOYED",
+                            "DEPLOYING",
+                            "UNDEPLOYED",
+                            "UNDEPLOYING",
+                            "DELETING",
+                            "DELETED",
+                            "UPDATING",
+                            "MIGRATING"
+                        ]
+                    },
+                    "lockState": {
+                        "type": "string",
+                        "enum": [
+                            "LOCKED",
+                            "LOCKING",
+                            "UNLOCKED",
+                            "UNLOCKING",
+                            "NONE"
+                        ]
+                    },
+                    "operationalState": {
+                        "type": "string"
+                    },
+                    "useState": {
+                        "type": "string"
+                    },
+                    "description": {
+                        "type": "string"
+                    },
+                    "message": {
+                        "type": "string"
+                    },
+                    "properties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    },
+                    "outProperties": {
+                        "type": "object",
+                        "additionalProperties": {
+                            "type": "object"
+                        }
+                    }
+                }
+            },
+            "AutomationCompositions": {
+                "type": "object",
+                "properties": {
+                    "automationCompositionList": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/components/schemas/AutomationComposition"
+                        }
+                    }
+                }
+            },
+            "ToscaEntityKey": {
+                "type": "object",
+                "properties": {
+                    "name": {
+                        "type": "string"
+                    },
+                    "version": {
+                        "type": "string"
+                    }
+                }
+            },
+            "InternalDatas": {
+                "type": "object",
+                "properties": {
+                    "list": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/components/schemas/InternalData"
+                        }
+                    }
                 }
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/docs/clamp/acm/draw.io/acm-participant-sim.drawio b/docs/clamp/acm/draw.io/acm-participant-sim.drawio
new file mode 100644 (file)
index 0000000..5bcab9c
--- /dev/null
@@ -0,0 +1,305 @@
+<mxfile host="app.diagrams.net" modified="2024-04-25T08:32:23.823Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" etag="aqt378V_5LFppGlvXt5Y" version="24.3.0" type="device" pages="2">
+  <diagram name="A1PMS" id="EQz7CeIsnqjb-CRsskzZ">
+    <mxGraphModel dx="2634" dy="738" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-2" value="ACM Runtime" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="44" y="28" width="156" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-3" value="Kafka" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
+          <mxGeometry x="-175" y="201" width="602" height="39" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-4" value="Participant Simulator" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;verticalAlign=top;" parent="1" vertex="1">
+          <mxGeometry x="12" y="333" width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-5" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Automation Composition Element A&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;size=15;" parent="1" vertex="1">
+          <mxGeometry x="-558" y="257" width="220" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-10" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-5" target="BEZJXQmxWPO11OeoHs-X-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-8" y="7" as="sourcePoint" />
+            <mxPoint x="37" y="-45.75" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-11" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.318;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.586;exitY=0.057;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-8" edge="1" source="TKIm4hqrSRE_Ot67SPcm-1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-669" y="337" as="sourcePoint" />
+            <mxPoint x="-608.2950000000001" y="156.002" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-8" value="Tester (CSIT, Performance Test, User)" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="-647" y="25" width="151" height="97" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-14" value="Automation Composition Element A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="27" y="378" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-15" value="Automation Composition Element B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="27" y="450" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-37" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-39" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="109" as="sourcePoint" />
+            <mxPoint x="156" y="151" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-38" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-39" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="201" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-39" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="149" y="150" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-40" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-42" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="240" as="sourcePoint" />
+            <mxPoint x="87" y="282" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="85" y="273" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-41" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-42" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-42" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-43" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-45" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="240" as="sourcePoint" />
+            <mxPoint x="159" y="282" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-44" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-45" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-45" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="152" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-46" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-48" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="110" as="sourcePoint" />
+            <mxPoint x="87" y="152" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-47" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="BEZJXQmxWPO11OeoHs-X-48" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="202" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-48" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="151" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-50" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=-0.009;exitY=0.617;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.993;entryY=0.905;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-15" target="BEZJXQmxWPO11OeoHs-X-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="256" y="426" as="sourcePoint" />
+            <mxPoint x="413" y="416" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-51" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-461.5" y="105" width="61" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-52" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="143" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-53" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="274" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-54" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="159" y="139.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="BEZJXQmxWPO11OeoHs-X-55" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="162" y="270.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="rvGSiY4AJXrMUw3_xQ0a-1" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="BEZJXQmxWPO11OeoHs-X-14" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="250" y="484" as="sourcePoint" />
+            <mxPoint x="-497" y="111" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-1" value="&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;Automation Composition Element B&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;size=14;" vertex="1" parent="1">
+          <mxGeometry x="-830" y="257" width="220" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-3" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" edge="1" parent="1" target="BEZJXQmxWPO11OeoHs-X-8">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="42" y="68" as="sourcePoint" />
+            <mxPoint x="-511" y="64" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="TKIm4hqrSRE_Ot67SPcm-4" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="-469.5" y="40" width="61" height="31" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="7EV7rOq7FkkVQS_sMw84" name="Kserve">
+    <mxGraphModel dx="2397" dy="1412" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-11" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;dashed=1;dashPattern=12 12;" vertex="1" parent="1">
+          <mxGeometry x="-261" y="-213" width="1024" height="778" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-1" value="CLAMP-ACM&lt;br&gt;GUI" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#b1ddf0;strokeColor=#10739e;" parent="1" vertex="1">
+          <mxGeometry x="47" y="-103" width="153" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-2" value="Automation Composition Runtime (CLAMP-ACM)" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
+          <mxGeometry x="44" y="28" width="156" height="81" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-3" value="Kafka" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
+          <mxGeometry x="-232" y="201" width="760" height="39" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-5" value="Kserve Participant Automation Composition Element Configuration for Automation Composition A&lt;br&gt;&lt;br&gt;- Define Inference Service Entities&lt;br&gt;&amp;nbsp; + Sequence of Inference Services&lt;br&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Name&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Namespace&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;- Payload&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="-553" y="-227" width="273" height="224" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-6" value="Kserve Participant Automation Composition Element Configuration for Automation Composition B&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;- Define Inference Service Entities&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&amp;nbsp; + Sequence of Inference Services&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;- Name&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Namespace&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color); text-align: left;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); background-color: initial;&quot;&gt;- Payload&lt;/span&gt;&lt;/div&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="-556" y="24" width="274" height="204" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-7" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.996;exitY=0.278;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-5" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="2" y="-30" as="sourcePoint" />
+            <mxPoint x="52" y="-80" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-8" value="" style="endArrow=none;dashed=1;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=1.022;exitY=0.288;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.015;entryY=0.632;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-6" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-293" y="-157" as="sourcePoint" />
+            <mxPoint x="54" y="-73" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-9" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-2" target="hDoWaCIZZ_nO79t9Hxqc-1" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="67" y="28" as="sourcePoint" />
+            <mxPoint x="117" y="-22" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-11" value="Inference Service for Automation Composition A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
+          <mxGeometry x="430" y="352" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-12" value="Inference Service for Automation Composition B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="591" y="352" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-15" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-17" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="109" as="sourcePoint" />
+            <mxPoint x="156" y="151" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-16" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-17" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="154" y="201" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-17" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="149" y="150" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-18" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-20" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="240" as="sourcePoint" />
+            <mxPoint x="87" y="282" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="85" y="273" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-19" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-20" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-20" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-21" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-23" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="240" as="sourcePoint" />
+            <mxPoint x="159" y="282" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-22" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-23" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="157" y="332" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-23" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="152" y="281" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-24" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;sketch=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.262;exitY=1.001;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-26" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="110" as="sourcePoint" />
+            <mxPoint x="87" y="152" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-25" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=halfCircle;endFill=0;entryX=0.5;entryY=0.5;endSize=6;strokeWidth=1;sketch=0;fontSize=12;curved=1;exitX=0.416;exitY=0.012;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-26" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="85" y="202" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-26" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;resizable=0;points=[];outlineConnect=0;sketch=0;fontSize=16;direction=south;fillColor=#B20000;fontColor=#ffffff;strokeColor=#B20000;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="80" y="151" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-29" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="143" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-30" value="Instantiation" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="-26" y="274" width="104" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-31" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="159" y="139.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-32" value="Monitoring" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
+          <mxGeometry x="162" y="270.5" width="93" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-6" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-36" target="hDoWaCIZZ_nO79t9Hxqc-12">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-7" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.545;entryY=0.979;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-36" target="hDoWaCIZZ_nO79t9Hxqc-11">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-36" value="Kserve" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#b0e3e6;strokeColor=#0e8088;" parent="1" vertex="1">
+          <mxGeometry x="511" y="453" width="141" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-2" value="" style="group" vertex="1" connectable="0" parent="1">
+          <mxGeometry x="8" y="333" width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry width="243" height="183" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-38" value="Kserve Paricipant" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="45" width="143" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-13" value="Kserve Automation Composition Element for Automation Composition A" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#fff2cc;strokeColor=#d6b656;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="15" y="31" width="213" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="hDoWaCIZZ_nO79t9Hxqc-14" value="Kserve Automation Composition Element for Automation Composition B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;" parent="yh-L3AtmC00XoUG_2nvY-2" vertex="1">
+          <mxGeometry x="15.5" y="103" width="210.5" height="62" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-5" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="hDoWaCIZZ_nO79t9Hxqc-36">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="388" y="423" as="sourcePoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-3" value="K8s API" style="sketch=0;html=1;dashed=0;whitespace=wrap;fillColor=#2875E2;strokeColor=#ffffff;points=[[0.005,0.63,0],[0.1,0.2,0],[0.9,0.2,0],[0.5,0,0],[0.995,0.63,0],[0.72,0.99,0],[0.5,1,0],[0.28,0.99,0]];verticalLabelPosition=bottom;align=center;verticalAlign=top;shape=mxgraph.kubernetes.icon;prIcon=api;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="299" y="377" width="122" height="83" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-9" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=12;startSize=8;endSize=8;" edge="1" parent="1" source="hDoWaCIZZ_nO79t9Hxqc-4">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="322" y="425" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-10" value="REST" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="252" y="393" width="61" height="31" as="geometry" />
+        </mxCell>
+        <mxCell id="yh-L3AtmC00XoUG_2nvY-12" value="K8s Cluster" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
+          <mxGeometry x="646" y="-200" width="101" height="31" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/docs/clamp/acm/images/participants/sim-participant.png b/docs/clamp/acm/images/participants/sim-participant.png
new file mode 100644 (file)
index 0000000..8ceabb1
Binary files /dev/null and b/docs/clamp/acm/images/participants/sim-participant.png differ
index fb43f4d..ce93236 100644 (file)
@@ -14,6 +14,189 @@ Policy Framework Release Notes
 ..      * Except the date and the version number, all the other sections are optional but there must be at least
 ..      * one section describing the purpose of this new release.
 
+..      ==========================
+..      * * *     MONTREAL     * * *
+..      ==========================
+
+Version: 13.0.0
+---------------
+
+:Release Date: 2023-11-30 (Montreal Release)
+
+Artifacts released:
+
+.. list-table::
+   :widths: 15 10 10
+   :header-rows: 1
+
+   * - Repository
+     - Java Artifact
+     - Docker Image (if applicable)
+   * - policy/parent
+     - 4.0.2
+     - N/A
+   * - policy/docker
+     - 3.0.2
+     - | policy-jre-alpine
+       | policy-jdk-alpine
+       | policy-db-migrator
+   * - policy/common
+     - 2.0.2
+     - N/A
+   * - policy/models
+     - 3.0.2
+     - N/A
+   * - policy/api
+     - 3.0.2
+     - policy-api
+   * - policy/pap
+     - 3.0.2
+     - policy-pap
+   * - policy/apex-pdp
+     - 3.0.2
+     - policy-apex-pdp
+   * - policy/drools-pdp
+     - 2.0.2
+     - policy-drools
+   * - policy/xacml-pdp
+     - 3.0.2
+     - policy-xacml-pdp
+   * - policy/distribution
+     - 3.0.2
+     - policy-distribution
+   * - policy/clamp
+     - 7.0.3
+     - | policy-clamp-ac-pf-ppnt
+       | policy-clamp-ac-k8s-ppnt
+       | policy-clamp-ac-http-ppnt
+       | policy-clamp-runtime-acm'
+   * - policy/gui
+     - 3.0.2
+     - policy-gui
+   * - policy/drools-applications
+     - 2.0.2
+     - policy-pdpd-cl
+
+Key Updates
+===========
+
+* Improvements to CLAMP Automation Composition Management (ACM)
+
+  CLAMP ACM is improved with new features and Failure handling capabilities. ACM can handle a restarted participant and send updates to the participant with the runtime data.
+  In addition, the user can also update instance properties on the deployed instances without impacting the ACM system. From Montreal release, the ACM participants can handle
+  multiple messages from ACM simultaneously. ACM configuration now supports customizable element names in the compositions.
+
+  See:
+   - `POLICY-4505 <https://jira.onap.org/browse/POLICY-4505>`_ - R13: Improvements specific to clamp
+
+* Migration functionality in ACM
+
+  From Montreal release, Users can migrate the deployed AC instances to a different composition definition with updated configurations without impacting the running system.
+
+  See:
+   - `POLICY-4809 <https://jira.onap.org/browse/POLICY-4809>`_ - R13: Instance Migration/Upgrade in ACM
+
+* Java 17 Upgrade
+
+  All the components in the policy framework are upgraded to java 17 version. Spring version upgraded to spring 6 and spring boot 3. This improves the overall performance of the
+  applications along with the latest java capabilities. Also this upgrade is very significant in removing the critical security vulnerabilities.
+
+  See:
+   - `POLICY-4665 <https://jira.onap.org/browse/POLICY-4665>`_ - R13: Java 17 and associated dependency upgrade
+
+* Remove AAF from Policy Framework
+
+  AAF project is deprecated in ONAP. Policy Framework is refactored to remove unused functionalities and configurations related to AAF.
+
+  See:
+   - `POLICY-4592 <https://jira.onap.org/browse/POLICY-4592>`_ - R13: Remove AAF from Policy Framework
+
+Known Limitations, Issues and Workarounds
+=========================================
+
+System Limitations
+~~~~~~~~~~~~~~~~~~
+N/A
+
+Known Vulnerabilities
+~~~~~~~~~~~~~~~~~~~~~
+N/A
+
+Workarounds
+~~~~~~~~~~~
+N/A
+
+Security Notes
+==============
+
+Policy Framework upgraded to Spring 6 and Springboot 3 and eliminated critical security vulnerabilities. Java version upgraded to Java 17.
+
+Functional Improvements
+=======================
+| `POLICY-4505 <https://jira.onap.org/browse/POLICY-4505>`_ - R13: Improvements specific to clamp
+|  `POLICY-4591 <https://jira.onap.org/browse/POLICY-4591>`_ - Update properties on deployed instances
+|  `POLICY-4683 <https://jira.onap.org/browse/POLICY-4683>`_ - Failure handling on the ACM-R
+|  `POLICY-4700 <https://jira.onap.org/browse/POLICY-4700>`_ - Handle multiple messages from ACM to Participant simultaneously
+|  `POLICY-4716 <https://jira.onap.org/browse/POLICY-4716>`_ - Enable timeout functionality in ACM/Participants
+|  `POLICY-4684 <https://jira.onap.org/browse/POLICY-4684>`_ - Participant restart handling in ACM
+|  `POLICY-4827 <https://jira.onap.org/browse/POLICY-4827>`_ - Allow customisation of element names in composition definition
+|  `POLICY-4699 <https://jira.onap.org/browse/POLICY-4699>`_ - Create a mock participant for ACM testing
+|  `POLICY-4809 <https://jira.onap.org/browse/POLICY-4809>`_ - Instance Migration/Upgrade in ACM
+
+Necessary Improvements and Bug Fixes
+====================================
+
+Necessary Improvements
+~~~~~~~~~~~~~~~~~~~~~~
+| `POLICY-4396 <https://jira.onap.org/browse/POLICY-4396>`_ - R13: Improvements on Apex-pdp
+|  `POLICY-4765 <https://jira.onap.org/browse/POLICY-4765>`_ - Support for Context Albums across policy sets in Apex
+|  `POLICY-4645 <https://jira.onap.org/browse/POLICY-4645>`_ - Use Postgres DB in CSIT tests for Apex-pdp
+| `POLICY-4505 <https://jira.onap.org/browse/POLICY-4505>`_ - R13: Improvements on clamp Acm
+|  `POLICY-4651 <https://jira.onap.org/browse/POLICY-4651>`_ - Extend instance deletion to request additional actions in participant
+|  `POLICY-4636 <https://jira.onap.org/browse/POLICY-4636>`_ - ACM manual and automation tests
+|  `POLICY-4774 <https://jira.onap.org/browse/POLICY-4774>`_ - Participant priming properties
+|  `POLICY-4762 <https://jira.onap.org/browse/POLICY-4762>`_ - Unused Property Removal in clamp/docker
+|  `POLICY-4802 <https://jira.onap.org/browse/POLICY-4802>`_ - Make authentication optional for prometheus metrics
+|  `POLICY-4808 <https://jira.onap.org/browse/POLICY-4808>`_ - Update swagger with new functionality and examples
+|  `POLICY-4818 <https://jira.onap.org/browse/POLICY-4818>`_ - policy endpoint allow packaging of kafka-client dependency
+|  `POLICY-4768 <https://jira.onap.org/browse/POLICY-4768>`_ - Update openapi.yaml to have the common headers section
+|  `POLICY-4763 <https://jira.onap.org/browse/POLICY-4763>`_ - Make changes to the liveness/readiness timeout in helm charts
+| `POLICY-4593 <https://jira.onap.org/browse/POLICY-4593>`_ - R13: Software (non functional) improvements
+|  `POLICY-4615 <https://jira.onap.org/browse/POLICY-4615>`_ - Software Vulnerability discrepancies in Sonatype reports
+|  `POLICY-4406 <https://jira.onap.org/browse/POLICY-4406>`_ - Mitigate vulnerable dependencies in CDS
+|  `POLICY-4831 <https://jira.onap.org/browse/POLICY-4831>`_ - Fix Sonar issues
+
+
+Bug Fixes
+~~~~~~~~~
+| `POLICY-4769 <https://jira.onap.org/browse/POLICY-4769>`_ - State change result of AC instances not updated after TIMEOUT
+| `POLICY-4770 <https://jira.onap.org/browse/POLICY-4770>`_ - Participants are offline in the runtime database after registration
+| `POLICY-4772 <https://jira.onap.org/browse/POLICY-4772>`_ - Restart flag in ACM instance is still true after participant is restarted
+| `POLICY-4773 <https://jira.onap.org/browse/POLICY-4773>`_ - Missing validation in Delete AC instance
+| `POLICY-4776 <https://jira.onap.org/browse/POLICY-4776>`_ - Participants are unable to perform deploy/undeploy/delete operations after restart
+| `POLICY-4804 <https://jira.onap.org/browse/POLICY-4804>`_ - Participant Intermediary is not updating the transition state "UNDEPLOYING" in the participant status
+| `POLICY-4830 <https://jira.onap.org/browse/POLICY-4830>`_ - Tosca element names are not validated if not aligned with the configured values
+
+
+References
+==========
+
+For more information on the ONAP London release, please see:
+
+#. `ONAP Home Page`_
+#. `ONAP Documentation`_
+#. `ONAP Release Downloads`_
+#. `ONAP Wiki Page`_
+
+.. _`ONAP Home Page`: https://www.onap.org
+.. _`ONAP Wiki Page`: https://wiki.onap.org
+.. _`ONAP Documentation`: https://docs.onap.org
+.. _`ONAP Release Downloads`: https://git.onap.org
+
+Quick Links:
+    - `POLICY project page`_
+    - `Passing Badge information for POLICY`_
+
 ..      ==========================
 ..      * * *     LONDON     * * *
 ..      ==========================
index c0e5a4e..7f5b193 100644 (file)
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.onap.policy.parent</groupId>
         <artifactId>policy-parent</artifactId>
-        <version>4.1.2-SNAPSHOT</version>
+        <version>4.1.3-SNAPSHOT</version>
     </parent>
     <artifactId>integration</artifactId>
     <packaging>pom</packaging>
     <properties>
         <java.version>17</java.version>
         <!-- Note Well: For RELEASE/SNAPSHOT always set to the project version -->
-        <version.parent.resources>4.1.2-SNAPSHOT</version.parent.resources>
-        <jacoco.dataFile>${project.basedir}/../target/code-coverage/jacoco-ut.exec</jacoco.dataFile>
+        <version.parent.resources>4.1.3-SNAPSHOT</version.parent.resources>
+        <version.parent.checkstyle>4.1.3-SNAPSHOT</version.parent.checkstyle>
+        <jacoco.destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco.destFile>
+        <!-- Default Sonar configuration -->
+        <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+        <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
+        </sonar.coverage.jacoco.xmlReportPaths>
+        <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
+        <sonar.exclusions>org/drools/**/*,**/gen/**,**/generated-sources/**</sonar.exclusions>
         <repo.npm>https://nexus3.onap.org/repository/npm.public/npm/-/</repo.npm>
         <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
         <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
         <!-- Dependency Versions -->
         <version.beanutils>1.9.4</version.beanutils>
+        <version.bytebuddy>1.14.13</version.bytebuddy>
         <version.ccsdk>1.5.3</version.ccsdk>
         <version.cucumber>7.15.0</version.cucumber>
         <version.docker-java>3.3.2</version.docker-java>
@@ -63,6 +71,7 @@
         <version.kotlin>1.9.23</version.kotlin>
         <version.log4j>2.23.1</version.log4j>
         <version.logback>1.4.14</version.logback>
+        <version.maven-checkstyle-plugin>3.3.1</version.maven-checkstyle-plugin>
         <version.maven-remote-resources-plugin>3.1.0</version.maven-remote-resources-plugin>
         <version.medeia.validator>1.1.1</version.medeia.validator>
         <version.micrometer>1.11.10</version.micrometer>
@@ -79,6 +88,7 @@
         <version.spring>6.0.18</version.spring>
         <version.springboot>3.1.10</version.springboot>
         <version.spring-security>6.1.8</version.spring-security>
+        <version.sonar>3.11.0.3922</version.sonar>
         <version.swagger.codegen.v3>3.0.52</version.swagger.codegen.v3>
         <version.swagger.core.v3>2.2.20</version.swagger.core.v3>
         <version.tomcat>10.1.19</version.tomcat>
                 <artifactId>simpleclient_logback</artifactId>
                 <version>${version.io.prometheus}</version>
             </dependency>
+            <dependency>
+                <groupId>io.prometheus</groupId>
+                <artifactId>simpleclient_httpserver</artifactId>
+                <version>${version.io.prometheus}</version>
+            </dependency>
             <dependency>
                 <groupId>com.google.re2j</groupId>
                 <artifactId>re2j</artifactId>
                 <artifactId>jakarta.persistence-api</artifactId>
                 <version>3.1.0</version>
             </dependency>
+            <dependency>
+                <groupId>jakarta.transaction</groupId>
+                <artifactId>jakarta.transaction-api</artifactId>
+                <version>2.0.1</version>
+            </dependency>
             <!-- Swagger -->
             <dependency>
                 <groupId>io.swagger.core.v3</groupId>
                 <artifactId>slf4j-ext</artifactId>
                 <version>${version.slf4j}</version>
             </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>jcl-over-slf4j</artifactId>
+                <version>${version.slf4j}</version>
+            </dependency>
             <dependency>
                 <groupId>ch.qos.logback</groupId>
                 <artifactId>logback-core</artifactId>
                 <artifactId>bcpkix-fips</artifactId>
                 <version>1.0.7</version>
             </dependency>
+            <dependency>
+                <groupId>io.micrometer</groupId>
+                <artifactId>micrometer-tracing-bridge-otel</artifactId>
+                <version>1.1.8</version>
+            </dependency>
             <dependency>
                 <groupId>io.opentelemetry.instrumentation</groupId>
                 <artifactId>opentelemetry-kafka-clients-2.6</artifactId>
                 <artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId>
                 <version>${version.opentel}-alpha</version>
             </dependency>
-            <dependency>
-                <groupId>io.micrometer</groupId>
-                <artifactId>micrometer-tracing-bridge-otel</artifactId>
-                <version>1.1.8</version>
-            </dependency>
             <dependency>
                 <groupId>io.opentelemetry</groupId>
                 <artifactId>opentelemetry-sdk-extension-jaeger-remote-sampler</artifactId>
                 <artifactId>opentelemetry-context</artifactId>
                 <version>${version.opentel}</version>
             </dependency>
+            <dependency>
+                <groupId>io.opentelemetry</groupId>
+                <artifactId>opentelemetry-api</artifactId>
+                <version>${version.opentel}</version>
+            </dependency>
 
             <!-- Kotlin dependencies -->
             <dependency>
                 <version>${version.kotlin}</version>
             </dependency>
 
+            <!-- Transient dependencies -->
+            <dependency>
+                <groupId>com.squareup.okhttp3</groupId>
+                <artifactId>okhttp</artifactId>
+                <version>4.12.0</version>
+            </dependency>
+            <dependency>
+                <groupId>io.projectreactor</groupId>
+                <artifactId>reactor-core</artifactId>
+                <version>3.6.5</version>
+            </dependency>
+            <dependency>
+                <groupId>net.bytebuddy</groupId>
+                <artifactId>byte-buddy</artifactId>
+                <version>${version.bytebuddy}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.bytebuddy</groupId>
+                <artifactId>byte-buddy-agent</artifactId>
+                <version>${version.bytebuddy}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.logging</groupId>
+                <artifactId>jboss-logging</artifactId>
+                <version>3.5.3.Final</version>
+                <scope>runtime</scope>
+            </dependency>
         </dependencies>
     </dependencyManagement>
     <scm>
                                             <pluginExecutionFilter>
                                                 <groupId>org.apache.maven.plugins</groupId>
                                                 <artifactId>maven-checkstyle-plugin</artifactId>
-                                                <version>3.3.0</version>
+                                                <version>${version.maven-checkstyle-plugin}</version>
                                                 <goals>
                                                     <goal>check</goal>
                                                 </goals>
                 </pluginManagement>
             </build>
         </profile>
+        <profile>
+            <id>cve</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.owasp</groupId>
+                        <artifactId>dependency-check-maven</artifactId>
+                        <version>9.1.0</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>aggregate</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
     <build>
         <extensions>
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>3.1.2</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.sonarsource.scanner.maven</groupId>
+                    <artifactId>sonar-maven-plugin</artifactId>
+                    <version>${version.sonar}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>4.0.0-M13</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>3.1.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <version>3.2.5</version>
+                </plugin>
             </plugins>
         </pluginManagement>
         <plugins>
                 <configuration>
                     <excludes>
                         <exclude>org/drools/**/*</exclude>
+                        <exclude>**/gen/**</exclude>
+                        <exclude>**/generated-sources/**</exclude>
                     </excludes>
+                    <output>file</output>
                 </configuration>
                 <executions>
                     <execution>
                             <goal>prepare-agent</goal>
                         </goals>
                         <configuration>
-                            <destFile>${jacoco.dataFile}</destFile>
+                            <destFile>${jacoco.destFile}</destFile>
                             <append>true</append>
+                            <propertyName>surefireArgLine</propertyName>
                         </configuration>
                     </execution>
                     <execution>
                             <goal>report</goal>
                         </goals>
                         <configuration>
-                            <dataFile>${jacoco.dataFile}</dataFile>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>pre-integration-test</id>
-                        <phase>pre-integration-test</phase>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                        <configuration>
-                            <skip>true</skip>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>post-integration-test</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                        <configuration>
-                            <skip>true</skip>
+                            <dataFile>${jacoco.destFile}</dataFile>
+                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                         </configuration>
                     </execution>
                     <execution>
                         <id>report-aggregate</id>
-                        <phase>prepare-package</phase>
+                        <phase>verify</phase>
                         <goals>
                             <goal>report-aggregate</goal>
                         </goals>
+                        <configuration>
+                            <includeCurrentProject>true</includeCurrentProject>
+                        </configuration>
                     </execution>
                 </executions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>${version.maven-checkstyle-plugin}</version>
                 <executions>
                     <execution>
                         <id>onap-license</id>
                 </executions>
                 <dependencies>
                     <dependency>
-                        <groupId>org.onap.oparent</groupId>
+                        <groupId>org.onap.policy.parent</groupId>
                         <artifactId>checkstyle</artifactId>
-                        <version>${oparent.version}</version>
+                        <version>${version.parent.checkstyle}</version>
                         <scope>compile</scope>
                     </dependency>
                 </dependencies>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>integration-tests</id>
+                        <goals>
+                            <goal>integration-test</goal>
+                            <goal>verify</goal>
+                        </goals>
+                        <configuration>
+                            <!-- Sets the VM argument line used when integration tests are run. -->
+                            <argLine>${failsafeArgLine}</argLine>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/integration/src/main/resources/release/14.0.0-PF-I3_pf_release_data.csv b/integration/src/main/resources/release/14.0.0-PF-I3_pf_release_data.csv
new file mode 100644 (file)
index 0000000..d70991f
--- /dev/null
@@ -0,0 +1,14 @@
+Repo, Last Tag Version,Snapshot Version,Changed Files,Docker Images
+policy/parent,4.1.2,4.1.3-SNAPSHOT,0,
+policy/docker,3.1.2,3.1.3-SNAPSHOT,7,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
+policy/common,2.1.2,2.1.3-SNAPSHOT,0,
+policy/models,3.1.2,3.1.3-SNAPSHOT,3,'policy-models-simulator'
+policy/api,3.1.2,3.1.3-SNAPSHOT,2,'policy-api'
+policy/pap,3.1.2,3.1.3-SNAPSHOT,2,'policy-pap'
+policy/apex-pdp,3.1.2,3.1.3-SNAPSHOT,3,'policy-apex-pdp'
+policy/drools-pdp,2.1.2,2.1.3-SNAPSHOT,2,'policy-drools'
+policy/xacml-pdp,3.1.2,3.1.3-SNAPSHOT,2,'policy-xacml-pdp'
+policy/distribution,3.1.2,3.1.3-SNAPSHOT,2,'policy-distribution'
+policy/clamp,7.1.2,7.1.3-SNAPSHOT,9,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
+policy/gui,3.1.2,3.1.3-SNAPSHOT,1,'policy-gui'
+policy/drools-applications,2.1.2,2.1.3-SNAPSHOT,0,'policy-pdpd-cl'
index 4a25fb3..d70991f 100644 (file)
@@ -1,14 +1,14 @@
 Repo, Last Tag Version,Snapshot Version,Changed Files,Docker Images
-policy/parent,4.1.1,4.1.2-SNAPSHOT,0,
-policy/docker,3.1.1,3.1.2-SNAPSHOT,1,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
-policy/common,2.1.1,2.1.2-SNAPSHOT,0,
-policy/models,3.1.1,3.1.2-SNAPSHOT,2,'policy-models-simulator'
-policy/api,3.1.1,3.1.2-SNAPSHOT,1,'policy-api'
-policy/pap,3.1.1,3.1.2-SNAPSHOT,1,'policy-pap'
-policy/apex-pdp,3.1.1,3.1.2-SNAPSHOT,1,'policy-apex-pdp'
-policy/drools-pdp,2.1.1,2.1.2-SNAPSHOT,1,'policy-drools'
-policy/xacml-pdp,3.1.1,3.1.2-SNAPSHOT,1,'policy-xacml-pdp'
-policy/distribution,3.1.1,3.1.2-SNAPSHOT,1,'policy-distribution'
-policy/clamp,7.1.1,7.1.2-SNAPSHOT,8,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
-policy/gui,3.1.1,3.1.2-SNAPSHOT,1,'policy-gui'
-policy/drools-applications,2.1.1,2.1.2-SNAPSHOT,0,'policy-pdpd-cl'
+policy/parent,4.1.2,4.1.3-SNAPSHOT,0,
+policy/docker,3.1.2,3.1.3-SNAPSHOT,7,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
+policy/common,2.1.2,2.1.3-SNAPSHOT,0,
+policy/models,3.1.2,3.1.3-SNAPSHOT,3,'policy-models-simulator'
+policy/api,3.1.2,3.1.3-SNAPSHOT,2,'policy-api'
+policy/pap,3.1.2,3.1.3-SNAPSHOT,2,'policy-pap'
+policy/apex-pdp,3.1.2,3.1.3-SNAPSHOT,3,'policy-apex-pdp'
+policy/drools-pdp,2.1.2,2.1.3-SNAPSHOT,2,'policy-drools'
+policy/xacml-pdp,3.1.2,3.1.3-SNAPSHOT,2,'policy-xacml-pdp'
+policy/distribution,3.1.2,3.1.3-SNAPSHOT,2,'policy-distribution'
+policy/clamp,7.1.2,7.1.3-SNAPSHOT,9,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
+policy/gui,3.1.2,3.1.3-SNAPSHOT,1,'policy-gui'
+policy/drools-applications,2.1.2,2.1.3-SNAPSHOT,0,'policy-pdpd-cl'
diff --git a/pom.xml b/pom.xml
index dc589fa..debd984 100644 (file)
--- a/pom.xml
+++ b/pom.xml
   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">
+<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.oparent</groupId>
-        <artifactId>oparent</artifactId>
-        <!-- When changing, also change the oparent.version property -->
-        <version>3.3.3</version>
-        <relativePath />
-    </parent>
     <groupId>org.onap.policy.parent</groupId>
     <artifactId>policy-parent</artifactId>
-    <version>4.1.2-SNAPSHOT</version>
+    <version>4.1.3-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <properties>
-        <oparent.version>3.3.3</oparent.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
     </properties>
 
     <modules>
+        <module>checkstyle</module>
         <module>resources</module>
         <module>integration</module>
     </modules>
 
+    <distributionManagement>
+        <repository>
+            <id>ecomp-releases</id>
+            <url>${onap.nexus.url}/content/repositories/releases</url>
+        </repository>
+        <snapshotRepository>
+            <id>ecomp-snapshots</id>
+            <url>${onap.nexus.url}/content/repositories/snapshots</url>
+        </snapshotRepository>
+    </distributionManagement>
+
     <build>
         <pluginManagement>
             <plugins>
@@ -59,7 +67,7 @@
                     <artifactId>formatter-maven-plugin</artifactId>
                     <version>2.11.0</version>
                     <configuration>
-                        <configFile>${project.parent.basedir}/onap-java-formatter.xml</configFile>
+                        <configFile>${project.basedir}/onap-java-formatter.xml</configFile>
                     </configuration>
                     <!-- https://code.revelc.net/formatter-maven-plugin/
                          use mvn formatter:format to rewrite source files
diff --git a/releases/4.1.2.yaml b/releases/4.1.2.yaml
new file mode 100644 (file)
index 0000000..c0ca929
--- /dev/null
@@ -0,0 +1,4 @@
+distribution_type: 'maven'
+version: '4.1.2'
+project: 'policy-parent'
+log_dir: 'policy-parent-maven-stage-master/1412/'
index f44996a..873a85d 100644 (file)
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.onap.policy.parent</groupId>
         <artifactId>policy-parent</artifactId>
-        <version>4.1.2-SNAPSHOT</version>
+        <version>4.1.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>policy-parent-resources</artifactId>
diff --git a/settings.xml b/settings.xml
new file mode 100644 (file)
index 0000000..39ff52d
--- /dev/null
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (c) 2016-2018 Huawei Technologies Co., Ltd. and others.  All rights reserved.
+   Modifications Copyright (c) 2020 AT&T Technologies.  All rights reserved.
+   Modifications Copyright (C) 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.
+   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.
+-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+
+  <profiles>
+    <profile>
+      <id>onap-settings</id>
+      <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw</onap.nexus.rawrepo.baseurl.upload>
+        <onap.nexus.rawrepo.baseurl.download>https://nexus.onap.org/service/local/repositories/raw/content</onap.nexus.rawrepo.baseurl.download>
+        <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
+
+        <!-- properties for Nexus Docker registry -->
+        <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
+        <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
+        <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
+        <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
+      </properties>
+    </profile>
+    <profile>
+      <id>onap-snapshots</id>
+      <repositories>
+        <repository>
+          <id>onap-snapshots</id>
+          <name>onap-snapshots</name>
+          <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+          <releases>
+            <enabled>false</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>onap-snapshots</id>
+          <name>onap-snapshots</name>
+          <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+          <releases>
+            <enabled>false</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+    <profile>
+      <id>onap-releases</id>
+      <repositories>
+        <repository>
+          <id>onap-releases</id>
+          <name>onap-releases</name>
+          <url>https://nexus.onap.org/content/repositories/releases/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>onap-releases</id>
+          <name>onap-releases</name>
+          <url>https://nexus.onap.org/content/repositories/releases/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+    <profile>
+      <id>onap-public</id>
+      <repositories>
+        <repository>
+          <id>central</id>
+          <url>https://repo1.maven.org/maven2/</url>
+        </repository>
+        <repository>
+          <id>onap-public</id>
+          <name>onap-public</name>
+          <url>https://nexus.onap.org/content/repositories/public/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>central</id>
+          <url>https://repo1.maven.org/maven2/</url>
+        </pluginRepository>
+        <pluginRepository>
+          <id>onap-public</id>
+          <name>onap-public</name>
+          <url>https://nexus.onap.org/content/repositories/public/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+    <profile>
+      <!-- Configure this profile if you have a local nexus cache -->
+      <id>local-public</id>
+      <repositories>
+        <repository>
+          <id>local-public</id>
+          <name>local-public</name>
+          <url>http://nexus-proxy:8081/nexus/content/repositories/public/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>local-public</id>
+          <name>local-public</name>
+          <url>http://nexus-proxy:8081/nexus/content/repositories/public/</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+  </profiles>
+
+  <activeProfiles>
+    <activeProfile>onap-settings</activeProfile>
+    <activeProfile>onap-snapshots</activeProfile>
+    <activeProfile>onap-releases</activeProfile>
+    <activeProfile>onap-public</activeProfile>
+    <!-- <activeProfile>local-public</activeProfile> -->
+  </activeProfiles>
+
+</settings>
index dd2ef93..68aaed8 100644 (file)
@@ -4,7 +4,7 @@
 
 major=4
 minor=1
-patch=2
+patch=3
 
 base_version=${major}.${minor}.${patch}