diff options
author | liamfallon <liam.fallon@ericsson.com> | 2018-09-05 15:46:31 +0100 |
---|---|---|
committer | liamfallon <liam.fallon@ericsson.com> | 2018-09-06 13:26:24 +0100 |
commit | a41c877a6b1980e0e866699633e0289d9a3fdbb5 (patch) | |
tree | 4f8d15559549760c2e74880871ec08c3b8df2d0e | |
parent | 825ae627d4378c5cc7ab4b7d5f4b4ffefcb7977e (diff) |
Fix package of apex examples and documents
The examples are not packaged correctly in the apex build
and the client wars are missing
The links and location of the documents are corrected.
Some POM duplicate dependencies removed.
Javadoc warnings removed.
Issue-ID: POLICY-867
Change-Id: I555c29191c61c0a9887365d95005dbc584eddf04
Signed-off-by: liamfallon <liam.fallon@ericsson.com>
201 files changed, 1759 insertions, 1218 deletions
diff --git a/BUILD.adoc b/BUILD.adoc new file mode 100755 index 000000000..388972e0f --- /dev/null +++ b/BUILD.adoc @@ -0,0 +1,109 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== Quick Guide: How to build APEX from source + + +[IMPORTANT] +.A Build needs Space +==== +Building APEX requires approximately 2-3 GB of hard disc space, 1 GB for the actual build with full distribution and 1-2 GB for the downloaded dependencies +==== + +[IMPORTANT] +.A Build requires Internet (for first build) +==== +During the build, several (a lot) of Maven dependencies will be downloaded and stored in the configured local Maven repository. +The first standard build (and any first specific build) requires Internet access to download those dependencies. +==== + +[IMPORTANT] +.Building RPM distributions +==== +RPM images are only build if the `rpm` package is installed (Unix). +To install `rpm` run `sudo apt-get install rpm`, then build APEX. +==== + + + +=== Standard build + +A standard build will build all Maven projects, including the packages. +It will not build the APEX site oand documentation. + +Note: APEX has a dependency to ONAP parent projects. +You might need to adjust your Maven M2 settings. +The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings]. + +Without tests, takes about 6 minutes. + +---- +mvn install -DskipTests +---- + +With standard tests, takes about 10-15 minutes. + +---- +mvn install +---- + +With all tests (requires some database and other software installed). + +---- +mvn install -DapexAll +---- + + +=== Building the HowTo with all details + + +Build the APEX stand-alone documentation + +---- +mvn generate-resources -N -DapexDocs +---- + +Then open the HowTo in a browser, for example + +---- +firefox target/generated-docs/html/HowTo-Build-APEX.html +---- + + +=== APEX Site + +Building a complete site workflow (start with cleaning your local site staging directory). + +[IMPORTANT] +.Building a Site takes Time +==== +Building and staging the APEX web site can take very long. +The stand-alone documentation will take about 2 minutes. +The sites for all modules and projects and the main APEX site can take between 10-30 minutes depending on your build machine +(~10 minutes without generating source and test-source reports, closer to 30 minutes with all reports). +==== + + +---- +mvn clean -DapexAll +mvn install -DskipTests +mvn generate-resources -N -DapexDocs +mvn initialize site:attach-descriptor site site:stage -DapexSite +---- + + +Terms & Conditions apply + + +* * * +*The ONAP APEX team* diff --git a/client/client-deployment/pom.xml b/client/client-deployment/pom.xml index ee4038c7a..aacf34a02 100644 --- a/client/client-deployment/pom.xml +++ b/client/client-deployment/pom.xml @@ -79,11 +79,11 @@ <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> - <id>unpack-client-deployment-shared-resources</id> + <id>unpack-client-deployment-shared-resources-war</id> <goals> <goal>unpack-dependencies</goal> </goals> - <phase>generate-resources</phase> + <phase>validate</phase> <configuration> <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory> <includeArtifacIds>client-common</includeArtifacIds> @@ -95,7 +95,49 @@ </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>copy-common-resources-to-jar</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>../client-common/src/main/resources</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-local-resources-to-jar</id> + <phase>generate-sources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>src/main/resources/webapp</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> + <version>2.4.3</version> <executions> <execution> <phase>package</phase> @@ -144,6 +186,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> + <version>2.6</version> <configuration> <classifier>ui</classifier> <warSourceDirectory>src/main/resources/webapp</warSourceDirectory> diff --git a/client/client-deployment/src/site/site.xml b/client/client-deployment/src/site/site.xml index 69399deef..aeb592ea6 100644 --- a/client/client-deployment/src/site/site.xml +++ b/client/client-deployment/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Client Deployment"> <body> <menu name="APEX Client Deployment"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/client/client-editor/pom.xml b/client/client-editor/pom.xml index 33d534993..3e250e0f4 100644 --- a/client/client-editor/pom.xml +++ b/client/client-editor/pom.xml @@ -109,7 +109,7 @@ <goals> <goal>unpack-dependencies</goal> </goals> - <phase>generate-resources</phase> + <phase>validate</phase> <configuration> <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory> <includeArtifacIds>client-common</includeArtifacIds> @@ -121,7 +121,49 @@ </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>copy-common-resources-to-jar</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>../client-common/src/main/resources</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-local-resources-to-jar</id> + <phase>generate-sources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>src/main/resources/webapp</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> + <version>2.4.3</version> <executions> <execution> <phase>package</phase> @@ -170,6 +212,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> + <version>2.6</version> <configuration> <classifier>ui</classifier> <warSourceDirectory>src/main/resources/webapp</warSourceDirectory> diff --git a/client/client-editor/src/main/resources/webapp/css/styles.css b/client/client-editor/src/main/resources/webapp/css/styles.css index 1372ac8b3..0a0bb06c9 100644 --- a/client/client-editor/src/main/resources/webapp/css/styles.css +++ b/client/client-editor/src/main/resources/webapp/css/styles.css @@ -512,12 +512,12 @@ input:disabled { .onapLogo { padding-right: 100px; - height: 250px; + height: 75px; width: 350px; } .apexLogo { - height: 250px; + height: 267px; width: 350px; } diff --git a/client/client-editor/src/main/resources/webapp/images/Apex.png b/client/client-editor/src/main/resources/webapp/images/Apex.png Binary files differindex 6abacdc3e..e71451fee 100644 --- a/client/client-editor/src/main/resources/webapp/images/Apex.png +++ b/client/client-editor/src/main/resources/webapp/images/Apex.png diff --git a/client/client-editor/src/site/site.xml b/client/client-editor/src/site/site.xml index 1f2d5ffdb..e8c9b868f 100644 --- a/client/client-editor/src/site/site.xml +++ b/client/client-editor/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Client Editor"> <body> <menu name="APEX Client Editor"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/client/client-full/pom.xml b/client/client-full/pom.xml index 0d9ee277f..788bb1534 100644 --- a/client/client-full/pom.xml +++ b/client/client-full/pom.xml @@ -62,21 +62,21 @@ </includes> </resource> <resource> - <directory>../client-monitoring/target/client-monitoring-${project.version}</directory> + <directory>../client-monitoring/target/classes/webapp</directory> <includes> <include>**/*.*</include> </includes> <targetPath>webapp/monitoring</targetPath> </resource> <resource> - <directory>../client-editor/target/client-editor-${project.version}</directory> + <directory>../client-editor/target/classes/webapp</directory> <includes> <include>**/*.*</include> </includes> <targetPath>webapp/editor</targetPath> </resource> <resource> - <directory>../client-deployment/target/client-deployment-${project.version}</directory> + <directory>../client-deployment/target/classes/webapp</directory> <includes> <include>**/*.*</include> </includes> @@ -89,7 +89,27 @@ <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>unpack-client-editor-shared-resources</id> + <goals> + <goal>unpack-dependencies</goal> + </goals> + <phase>generate-resources</phase> + <configuration> + <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory> + <includeArtifacIds>client-common</includeArtifacIds> + <includeGroupIds>${project.groupId}</includeGroupIds> + <excludeTransitive>true</excludeTransitive> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> + <version>2.4.3</version> <executions> <execution> <phase>package</phase> @@ -138,6 +158,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> + <version>2.6</version> <configuration> <classifier>ui</classifier> <warSourceDirectory>target/classes/webapp</warSourceDirectory> diff --git a/client/client-full/src/main/resources/webapp/css/styles.css b/client/client-full/src/main/resources/webapp/css/styles.css index dfdb1803d..1592c2f09 100644 --- a/client/client-full/src/main/resources/webapp/css/styles.css +++ b/client/client-full/src/main/resources/webapp/css/styles.css @@ -279,14 +279,14 @@ .onapLogo { display: block; - height: 225px; + height: 59px; width: 325px; padding-bottom: 31px; } .apexLogo { display: block; - height: 225px; + height: 248px; width: 325px; } diff --git a/client/client-full/src/main/resources/webapp/images/Apex.png b/client/client-full/src/main/resources/webapp/images/Apex.png Binary files differindex 6abacdc3e..e71451fee 100644 --- a/client/client-full/src/main/resources/webapp/images/Apex.png +++ b/client/client-full/src/main/resources/webapp/images/Apex.png diff --git a/client/client-full/src/site/site.xml b/client/client-full/src/site/site.xml index 35e49fe79..044a76667 100644 --- a/client/client-full/src/site/site.xml +++ b/client/client-full/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Client Full"> <body> <menu name="APEX Client Full"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules"/> diff --git a/client/client-monitoring/pom.xml b/client/client-monitoring/pom.xml index 5bfda41c0..274ac23f3 100644 --- a/client/client-monitoring/pom.xml +++ b/client/client-monitoring/pom.xml @@ -78,7 +78,7 @@ <goals> <goal>unpack-dependencies</goal> </goals> - <phase>generate-resources</phase> + <phase>validate</phase> <configuration> <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory> <includeArtifacIds>client-common</includeArtifacIds> @@ -90,7 +90,49 @@ </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>copy-common-resources-to-jar</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>../client-common/src/main/resources</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-local-resources-to-jar</id> + <phase>generate-sources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory> + <filtering>false</filtering> + <resources> + <resource> + <directory>src/main/resources/webapp</directory> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> + <version>2.4.3</version> <executions> <execution> <phase>package</phase> @@ -139,6 +181,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> + <version>2.6</version> <configuration> <classifier>ui</classifier> <warSourceDirectory>src/main/resources/webapp</warSourceDirectory> diff --git a/client/client-monitoring/src/site/site.xml b/client/client-monitoring/src/site/site.xml index 510752296..d3a31d2bf 100644 --- a/client/client-monitoring/src/site/site.xml +++ b/client/client-monitoring/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Client Monitoring"> <body> <menu name="APEX Client Monitoring"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java b/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java index 2a109d48f..80ec0eb2d 100644 --- a/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java +++ b/context/context-management/src/main/java/org/onap/policy/apex/context/parameters/ContextParameters.java @@ -31,7 +31,7 @@ import org.onap.policy.common.parameters.ParameterGroup; * <ol> * <li>flushPeriod: Context is flushed to any persistor plugin that is defined periodically, and the * period for flushing is the flush period. - * <li>distributorParameters: The parameters (a {@link distributorParameters} instance) for the + * <li>distributorParameters: The parameters (a {@link DistributorParameters} instance) for the * distributor plugin that is being used for context album distribution * <li>schemaParameters: The parameters (a {@link SchemaParameters} instance) for the schema plugin * that is being used for context album schemas diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java index 49802c2da..2653ca271 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ArtifactKeyTestEntity.java @@ -33,6 +33,9 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxConcept; import org.onap.policy.apex.model.basicmodel.concepts.AxKey; import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult; +/** + * The Class ArtifactKeyTestEntity is an entity for testing artifact keys. + */ @Entity @Table(name = "ArtifactKeyTestEntity") public class ArtifactKeyTestEntity extends AxConcept { @@ -44,62 +47,130 @@ public class ArtifactKeyTestEntity extends AxConcept { private double doubleValue; + /** + * Instantiates a new artifact key test entity. + */ public ArtifactKeyTestEntity() { this.key = new AxArtifactKey(); this.doubleValue = 0; } + /** + * Instantiates a new artifact key test entity. + * + * @param doubleValue the double value + */ public ArtifactKeyTestEntity(final Double doubleValue) { this.key = new AxArtifactKey(); this.doubleValue = doubleValue; } + /** + * Instantiates a new artifact key test entity. + * + * @param key the key + * @param doubleValue the double value + */ public ArtifactKeyTestEntity(final AxArtifactKey key, final Double doubleValue) { this.key = key; this.doubleValue = doubleValue; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKey() + */ @Override public AxArtifactKey getKey() { return key; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKeys() + */ @Override public List<AxKey> getKeys() { return Arrays.asList((AxKey) getKey()); } + /** + * Sets the key. + * + * @param key the new key + */ public void setKey(final AxArtifactKey key) { this.key = key; } + /** + * Check set key. + * + * @return true, if successful + */ public boolean checkSetKey() { return (this.key != null); } + /** + * Gets the double value. + * + * @return the double value + */ public double getDoubleValue() { return doubleValue; } + /** + * Sets the double value. + * + * @param doubleValue the new double value + */ public void setDoubleValue(final double doubleValue) { this.doubleValue = doubleValue; } + /* + * (non-Javadoc) + * + * @see + * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#validate(org.onap.policy.apex.model.basicmodel.concepts. + * AxValidationResult) + */ @Override public AxValidationResult validate(final AxValidationResult result) { return key.validate(result); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#clean() + */ @Override public void clean() { key.clean(); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#toString() + */ @Override public String toString() { return "ArtifactKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]"; } + /* + * (non-Javadoc) + * + * @see + * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#copyTo(org.onap.policy.apex.model.basicmodel.concepts. + * AxConcept) + */ @Override public AxConcept copyTo(final AxConcept target) { final Object copyObject = ((target == null) ? new ArtifactKeyTestEntity() : target); @@ -117,6 +188,11 @@ public class ArtifactKeyTestEntity extends AxConcept { } } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#hashCode() + */ @Override public int hashCode() { final int prime = 31; @@ -125,6 +201,11 @@ public class ArtifactKeyTestEntity extends AxConcept { return result; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#equals(java.lang.Object) + */ @Override public boolean equals(final Object obj) { if (obj == null) { @@ -147,6 +228,11 @@ public class ArtifactKeyTestEntity extends AxConcept { return (Double.compare(doubleValue, other.doubleValue) == 0); } + /* + * (non-Javadoc) + * + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ @Override public int compareTo(final AxConcept otherObj) { if (otherObj == null) { diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java index 6f276335b..d172f0276 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/ReferenceKeyTestEntity.java @@ -35,6 +35,9 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey; import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult; import org.onap.policy.apex.model.basicmodel.xml.AxReferenceKeyAdapter; +/** + * The Class ReferenceKeyTestEntity provides a reference key test concept. + */ @Entity @Table(name = "ReferenceKeyTestEntity") public class ReferenceKeyTestEntity extends AxConcept { @@ -47,62 +50,130 @@ public class ReferenceKeyTestEntity extends AxConcept { private double doubleValue; + /** + * Instantiates a new reference key test entity. + */ public ReferenceKeyTestEntity() { this.key = new AxReferenceKey(); this.doubleValue = 0; } + /** + * Instantiates a new reference key test entity. + * + * @param doubleValue the double value + */ public ReferenceKeyTestEntity(final Double doubleValue) { this.key = new AxReferenceKey(); this.doubleValue = doubleValue; } + /** + * Instantiates a new reference key test entity. + * + * @param key the key + * @param doubleValue the double value + */ public ReferenceKeyTestEntity(final AxReferenceKey key, final Double doubleValue) { this.key = key; this.doubleValue = doubleValue; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKey() + */ @Override public AxReferenceKey getKey() { return key; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#getKeys() + */ @Override public List<AxKey> getKeys() { return Arrays.asList((AxKey) getKey()); } + /** + * Sets the key. + * + * @param key the new key + */ public void setKey(final AxReferenceKey key) { this.key = key; } + /** + * Check set key. + * + * @return true, if successful + */ public boolean checkSetKey() { return (this.key != null); } + /** + * Gets the double value. + * + * @return the double value + */ public double getDoubleValue() { return doubleValue; } + /** + * Sets the double value. + * + * @param doubleValue the new double value + */ public void setDoubleValue(final double doubleValue) { this.doubleValue = doubleValue; } + /* + * (non-Javadoc) + * + * @see + * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#validate(org.onap.policy.apex.model.basicmodel.concepts. + * AxValidationResult) + */ @Override public AxValidationResult validate(final AxValidationResult result) { return key.validate(result); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#clean() + */ @Override public void clean() { key.clean(); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#toString() + */ @Override public String toString() { return "ReferenceKeyTestEntity [key=" + key + ", doubleValue=" + doubleValue + "]"; } + /* + * (non-Javadoc) + * + * @see + * org.onap.policy.apex.model.basicmodel.concepts.AxConcept#copyTo(org.onap.policy.apex.model.basicmodel.concepts. + * AxConcept) + */ @Override public AxConcept copyTo(final AxConcept target) { final Object copyObject = ((target == null) ? new ReferenceKeyTestEntity() : target); @@ -120,6 +191,11 @@ public class ReferenceKeyTestEntity extends AxConcept { } } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#hashCode() + */ @Override public int hashCode() { final int prime = 31; @@ -128,6 +204,11 @@ public class ReferenceKeyTestEntity extends AxConcept { return result; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.model.basicmodel.concepts.AxConcept#equals(java.lang.Object) + */ @Override public boolean equals(final Object obj) { if (obj == null) { @@ -150,6 +231,11 @@ public class ReferenceKeyTestEntity extends AxConcept { return (Double.compare(doubleValue, other.doubleValue) == 0); } + /* + * (non-Javadoc) + * + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ @Override public int compareTo(final AxConcept otherObj) { if (otherObj == null) { diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java index 8a4ea4cee..be51a4e7e 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/entities/package-info.java @@ -19,7 +19,7 @@ */ /** - * Contains common test entities + * Contains common test entities. * @author Dinh Danh Le (dinh.danh.le@ericsson.com) * */ diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java index 14ceba425..1253d2234 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/AlbumModifier.java @@ -23,8 +23,19 @@ package org.onap.policy.apex.context.test.lock.modifier; import org.onap.policy.apex.context.ContextAlbum; import org.onap.policy.apex.context.ContextException; +/** + * The Interface AlbumModifier defines the interface to allow context albums be modified during context tests. + */ public interface AlbumModifier { + /** + * Modify album. + * + * @param contextAlbum the context album + * @param loopSize the loop size + * @param arraySize the array size + * @throws ContextException the context exception + */ void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) throws ContextException; } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java index 228ca7a40..82de5b4a7 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/LockType.java @@ -22,6 +22,9 @@ package org.onap.policy.apex.context.test.lock.modifier; import org.onap.policy.apex.context.ContextRuntimeException; +/** + * The Enum LockType defines the type of lock on a test context album. + */ public enum LockType { NO_LOCK(0) { @@ -56,10 +59,20 @@ public enum LockType { private final int value; + /** + * Instantiates a new lock type. + * + * @param value the value + */ private LockType(final int value) { this.value = value; } + /** + * Gets the value. + * + * @return the value + */ public int getValue() { return value; } @@ -78,6 +91,11 @@ public enum LockType { throw new ContextRuntimeException("Invalid Lock type value: " + value); } + /** + * Gets the album modifier. + * + * @return the album modifier + */ public abstract AlbumModifier getAlbumModifier(); } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java index 6c273a0ae..4ce7890be 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/NoLockAlbumModifier.java @@ -27,9 +27,18 @@ import org.onap.policy.apex.context.test.concepts.TestContextLongItem; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * The Class NoLockAlbumModifier implements a non lock context album. + */ public class NoLockAlbumModifier implements AlbumModifier { private static final XLogger LOGGER = XLoggerFactory.getXLogger(NoLockAlbumModifier.class); + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context. + * ContextAlbum, int, int) + */ @Override public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) { final Random rand = new Random(); diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java index 854179ccd..fbafb1081 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/ReadLockAlbumModifier.java @@ -28,9 +28,18 @@ import org.onap.policy.apex.context.test.concepts.TestContextLongItem; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * The Class ReadLockAlbumModifier implements a read lock context album. + */ public class ReadLockAlbumModifier implements AlbumModifier { private static final XLogger LOGGER = XLoggerFactory.getXLogger(ReadLockAlbumModifier.class); + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context. + * ContextAlbum, int, int) + */ @Override public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) { final Random rand = new Random(); diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java index 959e93c67..674cf3af2 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/SingleValueWriteLockAlbumModifier.java @@ -28,13 +28,21 @@ import org.onap.policy.apex.context.test.concepts.TestContextLongItem; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * The Class SingleValueWriteLockAlbumModifier implements a single value lock context album. + */ public class SingleValueWriteLockAlbumModifier implements AlbumModifier { private static final XLogger LOGGER = XLoggerFactory.getXLogger(SingleValueWriteLockAlbumModifier.class); - + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context. + * ContextAlbum, int, int) + */ @Override public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) - throws ContextException { + throws ContextException { for (int i = 0; i < loopSize; i++) { try { contextAlbum.lockForWriting(TEST_VALUE); diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java index d1f5ec17e..7136121f7 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/WriteLockAlbumModifier.java @@ -28,10 +28,18 @@ import org.onap.policy.apex.context.test.concepts.TestContextLongItem; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * The Class WriteLockAlbumModifier implements a write lock context album. + */ public class WriteLockAlbumModifier implements AlbumModifier { private static final XLogger LOGGER = XLoggerFactory.getXLogger(WriteLockAlbumModifier.class); - + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.lock.modifier.AlbumModifier#modifyAlbum(org.onap.policy.apex.context. + * ContextAlbum, int, int) + */ @Override public void modifyAlbum(final ContextAlbum contextAlbum, final int loopSize, final int arraySize) { final Random rand = new Random(); diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java new file mode 100644 index 000000000..bf5bcb31c --- /dev/null +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/lock/modifier/package-info.java @@ -0,0 +1,25 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +/** + * Provides modifiers that allow the locking on a contest album to be modified in various ways. + */ + +package org.onap.policy.apex.context.test.lock.modifier; diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java index b842f7aca..f3a49dfbb 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProvider.java @@ -30,35 +30,116 @@ import org.onap.policy.apex.context.test.lock.modifier.AlbumModifier; import org.onap.policy.apex.context.test.lock.modifier.LockType; import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; +/** + * The Interface ConfigrationProvider provides the configuration for a context test to a context test executor. + */ public interface ConfigrationProvider { + /** + * Gets the test name. + * + * @return the test name + */ String getTestName(); + /** + * Gets the loop size. + * + * @return the loop size + */ int getLoopSize(); + /** + * Gets the thread count. + * + * @return the thread count + */ int getThreadCount(); + /** + * Gets the jvm count. + * + * @return the jvm count + */ int getJvmCount(); + /** + * Gets the album size. + * + * @return the album size + */ int getAlbumSize(); + /** + * Gets the executor service. + * + * @return the executor service + */ ExecutorService getExecutorService(); + /** + * Gets the executor service. + * + * @param threadFactoryName the thread factory name + * @param threadPoolSize the thread pool size + * @return the executor service + */ ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize); + /** + * Gets the distributor. + * + * @param key the key + * @return the distributor + */ Distributor getDistributor(final AxArtifactKey key); + /** + * Gets the distributor. + * + * @return the distributor + */ Distributor getDistributor(); + /** + * Gets the context album. + * + * @param distributor the distributor + * @return the context album + */ ContextAlbum getContextAlbum(final Distributor distributor); + /** + * Gets the context album. + * + * @param distributor the distributor + * @param axContextAlbumKey the ax context album key + * @param artifactKeys the artifact keys + * @return the context album + * @throws ContextException the context exception + */ ContextAlbum getContextAlbum(final Distributor distributor, AxArtifactKey axContextAlbumKey, - AxArtifactKey[] artifactKeys) throws ContextException; + AxArtifactKey[] artifactKeys) throws ContextException; + /** + * Gets the context album init values. + * + * @return the context album init values + */ Map<String, Object> getContextAlbumInitValues(); + /** + * Gets the album modifier. + * + * @return the album modifier + */ AlbumModifier getAlbumModifier(); + /** + * Gets the lock type. + * + * @return the lock type + */ LockType getLockType(); } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java index 87b81643a..c63280966 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ConfigrationProviderImpl.java @@ -38,6 +38,9 @@ import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel; import org.onap.policy.apex.model.utilities.Assertions; +/** + * The Class ConfigrationProviderImpl provides configuration information for a context test back to the caller. + */ public class ConfigrationProviderImpl implements ConfigrationProvider { private final String testType; @@ -49,6 +52,7 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { /** * The parameterized ConfigrationProviderImpl constructor. + * * @param testType the test type * @param jvmCount the JVM count * @param threadCount the thread count @@ -57,7 +61,7 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { * @param lockType the lock type */ public ConfigrationProviderImpl(final String testType, final int jvmCount, final int threadCount, - final int loopSize, final int albumSize, final int lockType) { + final int loopSize, final int albumSize, final int lockType) { this.testType = testType; this.jvmCount = jvmCount; this.threadCount = threadCount; @@ -66,31 +70,61 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { this.lockType = LockType.getLockType(lockType); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getTestName() + */ @Override public String getTestName() { return testType; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getLoopSize() + */ @Override public int getLoopSize() { return loopSize; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getThreadCount() + */ @Override public int getThreadCount() { return threadCount; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getJvmCount() + */ @Override public int getJvmCount() { return jvmCount; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getAlbumSize() + */ @Override public int getAlbumSize() { return albumSize; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getExecutorService() + */ @Override public ExecutorService getExecutorService() { final String name = getThreadFactoryName(jvmCount, testType); @@ -99,6 +133,11 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { return executorService; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getExecutorService(java.lang.String, int) + */ @Override public ExecutorService getExecutorService(final String threadFactoryName, final int threadPoolSize) { final IntegrationThreadFactory threadFactory = new IntegrationThreadFactory(threadFactoryName); @@ -106,6 +145,13 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { return executorService; } + /* + * (non-Javadoc) + * + * @see + * org.onap.policy.apex.context.test.utils.ConfigrationProvider#getDistributor(org.onap.policy.apex.model.basicmodel + * .concepts.AxArtifactKey) + */ @Override public Distributor getDistributor(final AxArtifactKey key) { try { @@ -115,20 +161,38 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { } } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getDistributor() + */ @Override public Distributor getDistributor() { final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1"); return getDistributor(distributorKey); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbum(org.onap.policy.apex.context. + * Distributor) + */ @Override public ContextAlbum getContextAlbum(final Distributor distributor) { return getContextAlbum(distributor, Constants.L_TYPE_CONTEXT_ALBUM, Constants.getAxArtifactKeyArray()); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbum(org.onap.policy.apex.context. + * Distributor, org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey, + * org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey[]) + */ @Override public ContextAlbum getContextAlbum(final Distributor distributor, final AxArtifactKey axContextAlbumKey, - final AxArtifactKey[] artifactKeys) { + final AxArtifactKey[] artifactKeys) { final AxContextModel axContextModel = TestContextAlbumFactory.createMultiAlbumsContextModel(); try { distributor.registerModel(axContextModel); @@ -141,6 +205,11 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { } } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getContextAlbumInitValues() + */ @Override public Map<String, Object> getContextAlbumInitValues() { final Map<String, Object> values = new HashMap<>(); @@ -150,27 +219,48 @@ public class ConfigrationProviderImpl implements ConfigrationProvider { return values; } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getAlbumModifier() + */ @Override public AlbumModifier getAlbumModifier() { return lockType.getAlbumModifier(); } + /* + * (non-Javadoc) + * + * @see org.onap.policy.apex.context.test.utils.ConfigrationProvider#getLockType() + */ @Override public LockType getLockType() { return lockType; } - + /** + * Gets the thread factory name. + * + * @param jvmCount the jvm count + * @param testType the test type + * @return the thread factory name + */ private String getThreadFactoryName(final int jvmCount, final String testType) { return jvmCount == 1 ? testType + ":TestConcurrentContextThread_0_" - : testType + ":TestConcurrentContextJVMThread_"; + : testType + ":TestConcurrentContextJVMThread_"; } + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ @Override public String toString() { return "ConfigrationProviderImpl [testType=" + testType + ", jvmCount=" + jvmCount + ", threadCount=" - + threadCount + ", loopSize=" + loopSize + ", albumSize=" + albumSize + ", lockType=" + lockType + "]"; + + threadCount + ", loopSize=" + loopSize + ", albumSize=" + albumSize + ", lockType=" + lockType + + "]"; } - } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java index 118586437..927876e8f 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java @@ -25,6 +25,9 @@ import java.util.TimeZone; import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem; import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; +/** + * The Class Constants provides constants for context tests. + */ public class Constants { public static final String MAP_CONTEXT_ALBUM = "MapContextAlbum"; public static final String LONG_CONTEXT_ALBUM = "LongContextAlbum"; @@ -61,10 +64,18 @@ public class Constants { private static final AxArtifactKey[] USED_ARTIFACT_STACK_ARRAY = new AxArtifactKey[] {KEY, KEY2, KEY3}; + /** + * Gets the ax artifact key array. + * + * @return the ax artifact key array + */ public static final AxArtifactKey[] getAxArtifactKeyArray() { return USED_ARTIFACT_STACK_ARRAY; } + /** + * Instantiates a new constants. + */ private Constants() {} } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java index d815c6b74..486a93cb4 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/IntegrationThreadFactory.java @@ -26,6 +26,9 @@ import java.util.concurrent.atomic.AtomicInteger; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * A factory for creating IntegrationThread objects. + */ public class IntegrationThreadFactory implements ThreadFactory { private static final XLogger LOGGER = XLoggerFactory.getXLogger(IntegrationThreadFactory.class); @@ -34,10 +37,18 @@ public class IntegrationThreadFactory implements ThreadFactory { private final AtomicInteger counter = new AtomicInteger(); + /** + * Instantiates a new integration thread factory. + * + * @param threadFactoryName the thread factory name + */ public IntegrationThreadFactory(final String threadFactoryName) { this.threadFactoryName = threadFactoryName; } + /* (non-Javadoc) + * @see java.util.concurrent.ThreadFactory#newThread(java.lang.Runnable) + */ @Override public Thread newThread(final Runnable runnable) { final Thread thread = new Thread(runnable); @@ -45,5 +56,4 @@ public class IntegrationThreadFactory implements ThreadFactory { LOGGER.debug("started thread " + thread.getName()); return thread; } - } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java index 8d2c89254..980384043 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/NetworkUtils.java @@ -27,8 +27,14 @@ import java.util.Collections; import java.util.Enumeration; import java.util.TreeSet; +/** + * The Class NetworkUtils contains some utility functions for getting network information for context tests. + */ public class NetworkUtils { + /** + * Instantiates a new network utils. + */ private NetworkUtils() {} /** diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java index 654040d3f..301e8cc61 100644 --- a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/ZooKeeperServerServiceProvider.java @@ -30,6 +30,9 @@ import org.apache.zookeeper.server.ZooKeeperServer; import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; +/** + * The Class ZooKeeperServerServiceProvider provides a zookeeper service to a caller. + */ public class ZooKeeperServerServiceProvider { private static final XLogger LOGGER = XLoggerFactory.getXLogger(ZooKeeperServerServiceProvider.class); @@ -37,11 +40,24 @@ public class ZooKeeperServerServiceProvider { private File zookeeperDirectory; private InetSocketAddress addr; + /** + * Instantiates a new zoo keeper server service provider. + * + * @param zookeeperDirectory the zookeeper directory + * @param addr the addr + */ public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final InetSocketAddress addr) { this.zookeeperDirectory = zookeeperDirectory; this.addr = addr; } + /** + * Instantiates a new zoo keeper server service provider. + * + * @param zookeeperDirectory the zookeeper directory + * @param addr the addr + * @param port the port + */ public ZooKeeperServerServiceProvider(final File zookeeperDirectory, final String addr, final int port) { this.zookeeperDirectory = zookeeperDirectory; this.addr = new InetSocketAddress(addr, port); @@ -69,5 +85,4 @@ public class ZooKeeperServerServiceProvider { zookeeperFactory.shutdown(); } } - } diff --git a/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java new file mode 100755 index 000000000..2872d20df --- /dev/null +++ b/context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/package-info.java @@ -0,0 +1,27 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +/** + * Contains utilities for context tests. + * + * @author Liam Fallon (liam.fallon@ericsson.com) + */ + +package org.onap.policy.apex.context.test.utils; diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java index 5c99f917e..ac5224d31 100644 --- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java +++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/engine/package-info.java @@ -20,8 +20,8 @@ /** * Defines the Apex engine Java API. The API is used to set up, control, send events to, and receive events from an APEX - * engine. The {@link ApexEngine} interface is used to control the execution of a single APEX engine thread and to send - * events to that APEX engine thread. The {@link EnEventListener} interface is used to listen for events being emitted + * engine. The ApexEngine interface is used to control the execution of a single APEX engine thread and to send + * events to that APEX engine thread. The EnEventListener interface is used to listen for events being emitted * by an APEX engine thread. * * @author Liam Fallon (liam.fallon@ericsson.com) diff --git a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java index 656ab49ce..880eb848a 100644 --- a/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java +++ b/core/core-engine/src/main/java/org/onap/policy/apex/core/engine/executor/context/package-info.java @@ -20,12 +20,12 @@ /** * Provides context and facades for executing tasks, task selection logic, and state finalizer - * logic. The public fields and methods of {@link TaskExecutionContext}, - * {@link TaskSelectionExecutionContext} and {@link StateFinalizerExecutionContext} are available to + * logic. The public fields and methods of TaskExecutionContext, + * TaskSelectionExecutionContext and StateFinalizerExecutionContext are available to * task logic, task selection logic, and state finalizer logic respectively when that logic is * executing in an executor plugin under the control of an APEX engine. * - * The {@link AxStateFacade} and {@link AxTaskFacade} classes provide facades and convenience + * The AxStateFacade and AxTaskFacade classes provide facades and convenience * methods for state and task definition information for logic at execution time. * * @author Liam Fallon (liam.fallon@ericsson.com) diff --git a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java index fb79d9270..66edd2f1d 100644 --- a/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java +++ b/core/core-infrastructure/src/main/java/org/onap/policy/apex/core/infrastructure/messaging/util/MessagingUtils.java @@ -77,7 +77,7 @@ public final class MessagingUtils { /** * This method searches the availability of the port, if the requested port not available,this * method will increment the port number and check the availability of that port, this process - * will continue until it reaches max port range which is {@link MAX_PORT_RANGE}. + * will continue until it reaches max port range which is MAX_PORT_RANGE. * * @param port the first port to check * @return the port that was found diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutJsonEvent.json b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutJsonEvent.json index c43f41353..c43f41353 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutJsonEvent.json +++ b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutXmlEvent.json b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutXmlEvent.json index 294da2483..294da2483 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/AADM/Stdin2StdoutXmlEvent.json +++ b/examples/examples-aadm/src/main/resources/examples/config/AADM/Stdin2StdoutXmlEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json index 4da0bb969..4da0bb969 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json +++ b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAnomalyDetectionJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json index 5ae70f3e3..5ae70f3e3 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json +++ b/examples/examples-adaptive/src/main/resources/examples/config/Adaptive/Stdin2StdoutAutoLearnJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json index 6df3115d6..6df3115d6 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json index 9fa0b6ddd..9fa0b6ddd 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json index edf1b9cc3..edf1b9cc3 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html index 1077939b0..1077939b0 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html index 06df67e59..06df67e59 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html index f7a3f0c5b..f7a3f0c5b 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html index 4c8f311af..4c8f311af 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc index 98a876a1a..a6a3d582e 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/AnswerInitiationEvents.adoc @@ -11,10 +11,10 @@ // @author Sven van der Meer (sven.van.der.meer@ericsson.com) // -== Initiation Events +== Initiation Event -.Initiation Events +.Initiation Event [source,json,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/config/AnswerInitiationEvents.txt[Initiation Events] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json[Initiation Event] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc index 51d0139d7..74bbfb6c7 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTClient.adoc @@ -16,5 +16,5 @@ .Config REst Client [source,json,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/config/ApexConfigRESTClient.json[Config Rest Client] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json[Config Rest Client] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc index 28051195c..89aa91bf1 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/ApexConfigRESTServer.adoc @@ -16,5 +16,5 @@ .Config REST Server [source,json,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/config/ApexConfigRESTServer.json[Config REST Server] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json[Config REST Server] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc index ee962481d..ee88f5fca 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Client.adoc @@ -16,5 +16,5 @@ .HTML Client, Extra Mode [source,html,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecisionExtraMode_Client.html[HTML Client, Extra Mode] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html[HTML Client, Extra Mode] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc index 035e855ca..50673161a 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecisionExtraMode_Server.adoc @@ -16,5 +16,5 @@ .HTML Server, Extra Mode [source,html,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecisionExtraMode_Server.html[HTML Server, Extra Mode] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html[HTML Server, Extra Mode] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc index deab6a86e..c3d1bd7ab 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Client.adoc @@ -16,5 +16,5 @@ .HTML Client [source,html,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecision_Client.html[HTML Client] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html[HTML Client] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc index 25e624a19..f805d6148 100644 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc +++ b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/MakeDecision_Server.adoc @@ -16,5 +16,5 @@ .HTML Server [source,html,options="nowrap"] ---- -include::{adsite-examples-decisionmaker-dir}/main/resources/html/MakeDecision_Server.html[HTML Server] +include::{adsite-examples-decisionmaker-dir}/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html[HTML Server] ----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc b/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc deleted file mode 100644 index 14e40b2c2..000000000 --- a/examples/examples-decisionmaker/src/site-docs/adoc/fragments/dockerfile.adoc +++ /dev/null @@ -1,20 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Dockerfile - -.Dockerfile -[source,bash,options="nowrap"] ----- -include::{adsite-examples-decisionmaker-dir}/../Dockerfile[Dockerfile] -----
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc b/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc deleted file mode 100644 index be86a7439..000000000 --- a/examples/examples-decisionmaker/src/site/asciidoc/dockerfile.adoc +++ /dev/null @@ -1,14 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -include::{adsite-examples-decisionmaker-dir}/site-docs/adoc/fragments/dockerfile.adoc[] diff --git a/examples/examples-decisionmaker/src/site/site.xml b/examples/examples-decisionmaker/src/site/site.xml index 63631c843..d65f22ee5 100644 --- a/examples/examples-decisionmaker/src/site/site.xml +++ b/examples/examples-decisionmaker/src/site/site.xml @@ -33,8 +33,6 @@ <item href="RandomAnswerTask.html" name="Task Logic: Random Answer" /> <item href="RoundRobinAnswerTask.html" name="Task Logic: RoundRobin Answer" /> </item> - <item href="dockerfile.html" name="Dockerfile" /> - </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/examples/examples-myfirstpolicy/pom.xml b/examples/examples-myfirstpolicy/pom.xml index e3e664458..cc56d0b1f 100644 --- a/examples/examples-myfirstpolicy/pom.xml +++ b/examples/examples-myfirstpolicy/pom.xml @@ -124,6 +124,36 @@ <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url> </site> </distributionManagement> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.0.2</version> + <executions> + <execution> + <id>copy-domain-mfp-images</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <resources> + <resource> + <directory>${project.basedir}/src/site-docs/adoc/resources/images</directory> + <includes> + <include>**/*.jpg</include> + <include>**/*.png</include> + </includes> + </resource> + </resources> + <outputDirectory>${project.build.directory}/site/images</outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles> </project>
\ No newline at end of file diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json index fc81cd6a6..fc81cd6a6 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigFile2StdoutJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json index 27bd0a6a9..27bd0a6a9 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigStdin2StdoutJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json index c4cf72171..c4cf72171 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/1/MyFirstPolicyConfigWs2WsServerJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json index be8ae938a..be8ae938a 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigFile2StdoutJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json index 56e79b2f3..56e79b2f3 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigStdin2StdoutJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json index 65612b6db..65612b6db 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json +++ b/examples/examples-myfirstpolicy/src/main/resources/examples/config/MyFirstPolicy/2/MyFirstPolicyConfigWs2WsServerJsonEvent.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/ApexConfig.json index 070bbc105..070bbc105 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json +++ b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/ApexConfig.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent0.json index e46a2739c..e46a2739c 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json +++ b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent0.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent1.json index 5fcece8ac..5fcece8ac 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json +++ b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent1.json diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent2.json index 7e3e33777..7e3e33777 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json +++ b/examples/examples-onap-vcpe/src/main/resources/examples/config/ONAPvCPE/VCPEInitiationEvent2.json diff --git a/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc b/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc deleted file mode 100644 index 8a892f27d..000000000 --- a/examples/examples-onap-vcpe/src/site-docs/adoc/fragments/dockerfile.adoc +++ /dev/null @@ -1,20 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Dockerfile - -.Dockerfile -[source,bash,options="nowrap"] ----- -include::{apex-domains-onap-vcpe-dir}/../Dockerfile[Dockerfile] ----- diff --git a/examples/examples-onap-vcpe/src/site/site.xml b/examples/examples-onap-vcpe/src/site/site.xml index 524ac7921..f9808e698 100644 --- a/examples/examples-onap-vcpe/src/site/site.xml +++ b/examples/examples-onap-vcpe/src/site/site.xml @@ -16,7 +16,6 @@ <project name="APEX Examples ONAP vCPE"> <body> <menu name="APEX Examples ONAP vCPE"> - <item href="dockerfile.html" name="Dockerfile" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/examples/examples-pcvs/pom.xml b/examples/examples-pcvs/pom.xml index 2ac770287..540f1a19d 100644 --- a/examples/examples-pcvs/pom.xml +++ b/examples/examples-pcvs/pom.xml @@ -125,6 +125,36 @@ <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url> </site> </distributionManagement> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>3.0.2</version> + <executions> + <execution> + <id>copy-domain-pcvs-images</id> + <phase>initialize</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <resources> + <resource> + <directory>${project.basedir}/src/site-docs/adoc/resources/images</directory> + <includes> + <include>**/*.jpg</include> + <include>**/*.png</include> + </includes> + </resource> + </resources> + <outputDirectory>${project.build.directory}/site/images</outputDirectory> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles> </project>
\ No newline at end of file diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc index 6d71c6f93..608d5851e 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-ctxt.adoc @@ -19,18 +19,18 @@ We model edges and nodes for the topology, customers, and problems with all info .AVRO Schema Edges [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/topology-edges.avsc[AVRO Schema Edges] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/topology-edges.avsc[AVRO Schema Edges] ---- .AVRO Schema Nodes [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/topology-nodes.avsc[AVRO Schema Nodes] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/topology-nodes.avsc[AVRO Schema Nodes] ---- .AVRO Schema Customers [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/customers.avsc[AVRO Schema Customers] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/customers.avsc[AVRO Schema Customers] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc index 29822040d..8133fc428 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-internal.adoc @@ -21,12 +21,12 @@ For the communication between some of the policy states we are also using Avro s .AVRO Schema Situation [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/situation.avsc[AVRO Schema Situation] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/situation.avsc[AVRO Schema Situation] ---- .AVRO Schema Decision [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/decision.avsc[AVRO Schema Decision] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/decision.avsc[AVRO Schema Decision] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc index 255cb9b32..051972957 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/avro-trigger.adoc @@ -20,5 +20,5 @@ This does not impact the trigger system (it can still send the strings), but mak .AVRO Schema Link Status [source,json,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/avro/link-status.avsc[AVRO Schema Link Status] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/avro/link-status.avsc[AVRO Schema Link Status] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc index 28ad0c653..96d1b0cb3 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/cli-spec.adoc @@ -20,6 +20,6 @@ All logic and schemas are included (as macro file). .APEX VPN SLA Policy Specification [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/vpnsla.apex[APEX VPN SLA Policy Specification] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/vpnsla.apex[APEX VPN SLA Policy Specification] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc index 0463507d1..42bd6eb91 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-customer.adoc @@ -18,6 +18,6 @@ The customer context logic simply takes the trigger event (for context) and crea .JS Logic Customer Context [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-customer.js[JS Logic Customer Context] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-customer.js[JS Logic Customer Context] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc index b64ca3e0b..ad70df50f 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-edges.adoc @@ -18,5 +18,5 @@ The edge context logic simply takes the trigger event (for context) and creates .JS Logic Edge Context [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-edges.js[JS Logic Edge Context] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-edges.js[JS Logic Edge Context] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc index f8ff014b8..ba8d3f76d 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/ctxt-logic-nodes.adoc @@ -18,5 +18,5 @@ The node context logic simply takes the trigger event (for context) and creates .JS Logic Node Context [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/ctxt-nodes.js[JS Logic Node Context] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/ctxt-nodes.js[JS Logic Node Context] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc index 6e0ca0c9e..6dc9e5caa 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-act.adoc @@ -19,5 +19,5 @@ It is simply selecting an action, and creating the repsonse event for the orches .JS Logic Policy Act State [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-act.js[JS Logic Policy Act State] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-act.js[JS Logic Policy Act State] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc index f35d55365..e5e8f0119 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-none.adoc @@ -16,5 +16,5 @@ .JS Logic Policy Decide State - None [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-none.js[JS Logic Policy Decide State - None] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-none.js[JS Logic Policy Decide State - None] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc index d04e8c2e6..f2373afbe 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-priority.adoc @@ -16,5 +16,5 @@ .JS Logic Policy Decide State - Priority [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-priority.js[JS Logic Policy Decide State - Priority] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-priority.js[JS Logic Policy Decide State - Priority] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc index cb3d9cb85..8f4c2df5e 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-sla.adoc @@ -16,5 +16,5 @@ .JS Logic Policy Decide State - SLA [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-sla.js[JS Logic Policy Decide State - SLA] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-sla.js[JS Logic Policy Decide State - SLA] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc index 8cf601c90..538153340 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide-solved.adoc @@ -16,5 +16,5 @@ .JS Logic Policy Decide State - Solved [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-decide-solved.js[JS Logic Policy Decide State - Solved] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-decide-solved.js[JS Logic Policy Decide State - Solved] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc index 0b5b0b819..7b4e9dd82 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-decide.adoc @@ -20,7 +20,7 @@ This TSL select a task in the current policy execution (i.e. potentially a diffe .JS Logic Policy Decide State - TSL [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/tsl-decide.js[JS Logic Policy Decide State - TSL] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/tsl-decide.js[JS Logic Policy Decide State - TSL] ---- The actual task logic are then `none`, `solved`, `sla`, and `priority`. diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc index 9bf74738b..0e6e7e093 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-establish.adoc @@ -24,6 +24,6 @@ Finally, it creates a situation object. .JS Logic Policy Establish State [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-establish.js[JS Logic Policy Establish State] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-establish.js[JS Logic Policy Establish State] ---- diff --git a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc index be4bd0895..de0baabb7 100644 --- a/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc +++ b/examples/examples-pcvs/src/site-docs/adoc/fragments/vpnsla/logic-match.adoc @@ -21,5 +21,5 @@ This timestamp is later used for SLA and downtime calculations as well as for so .JS Logic Policy Match State [source,javascript,options="nowrap"] ---- -include::{adsite-examples-pcvs-dir}/main/resources/com/ericsson/apex/domains/pcvs/vpnsla/logic/task-match.js[JS Logic Policy Match State] +include::{adsite-examples-pcvs-dir}/main/resources/org/onap/policy/apex/examples/pcvs/vpnsla/logic/task-match.js[JS Logic Policy Match State] ---- diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json b/examples/examples-periodic/src/main/resources/examples/config/Periodic/ApexConfigPeriodic.json index a4c94779b..a4c94779b 100644 --- a/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json +++ b/examples/examples-periodic/src/main/resources/examples/config/Periodic/ApexConfigPeriodic.json diff --git a/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc b/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc index 612149818..5540f1591 100644 --- a/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc +++ b/examples/examples-periodic/src/site-docs/adoc/fragments/apex-configuration.adoc @@ -16,5 +16,5 @@ .APEX configuration [source,json,options="nowrap"] ---- -include::{adsite-examples-periodic-dir}/main/resources/config/ApexConfigPeriodic.json[APEX configuration] +include::{adsite-examples-periodic-dir}/main/resources/examples/config/Periodic/ApexConfigPeriodic.json[APEX configuration] ---- diff --git a/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc b/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc deleted file mode 100644 index ba5e19bef..000000000 --- a/examples/examples-periodic/src/site/asciidoc/dockerfile.adoc +++ /dev/null @@ -1,14 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -include::{adsite-examples-periodic-dir}/site-docs/adoc/fragments/dockerfile.adoc[] diff --git a/examples/examples-periodic/src/site/site.xml b/examples/examples-periodic/src/site/site.xml index fc2b846cb..56e2bda3c 100644 --- a/examples/examples-periodic/src/site/site.xml +++ b/examples/examples-periodic/src/site/site.xml @@ -20,7 +20,6 @@ <item href="apex-model.html" name="APEX Model (Policy)" /> <item href="logic-task-output.html" name="Logic: Output Task" /> <item href="logic-task-periodic.html" name="Logic: Periodic Task" /> - <item href="dockerfile.html" name="Dockerfile" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java index 1f906ea22..7e39e5817 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxArtifactKey.java @@ -39,7 +39,7 @@ import org.onap.policy.apex.model.utilities.Assertions; * must have an {@link AxArtifactKey} to identify it. Concepts that are wholly contained in another concept are * identified using a {@link AxReferenceKey} key. * - * <p>Key validation checks that the name and version fields match the {@link NAME_REGEXP} and {@link VERSION_REGEXP} + * <p>Key validation checks that the name and version fields match the NAME_REGEXP and VERSION_REGEXP * regular expressions respectively. */ @Embeddable @@ -94,7 +94,7 @@ public class AxArtifactKey extends AxKey { /** * Constructor to create a key using the key and version from the specified key ID. * - * @param id the key ID in a format that respects the {@link KEY_ID_REGEXP} + * @param id the key ID in a format that respects the KEY_ID_REGEXP */ public AxArtifactKey(final String id) { Assertions.argumentNotNull(id, "id may not be null"); diff --git a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java index 55ea95c3a..57196ade7 100644 --- a/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java +++ b/model/basic-model/src/main/java/org/onap/policy/apex/model/basicmodel/concepts/AxReferenceKey.java @@ -47,9 +47,9 @@ import org.onap.policy.apex.model.utilities.Assertions; * <p>If a reference key's parent is itself a reference key, then the parent's local name must be set in the reference * key. If the parent is a first order concept, then the parent's local name in the key will be set to NULL. * - * <p>Key validation checks that the parent name and parent version fields match the {@link NAME_REGEXP} and - * {@link VERSION_REGEXP} regular expressions respectively and that the local name fields match the - * {@link LOCAL_NAME_REGEXP} regular expression. + * <p>Key validation checks that the parent name and parent version fields match the NAME_REGEXP and + * VERSION_REGEXP regular expressions respectively and that the local name fields match the + * LOCAL_NAME_REGEXP regular expression. */ @Embeddable @XmlAccessorType(XmlAccessType.FIELD) @@ -203,7 +203,7 @@ public class AxReferenceKey extends AxKey { * Constructor to create a key from the specified key ID. * * @param id - * the key ID in a format that respects the {@link KEY_ID_REGEXP} + * the key ID in a format that respects the KEY_ID_REGEXP */ public AxReferenceKey(final String id) { final String conditionedId = Assertions.validateStringParameter("id", id, REFERENCE_KEY_ID_REGEXP); diff --git a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java index 27f9b8b9b..32555662e 100644 --- a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java +++ b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextAlbum.java @@ -62,7 +62,7 @@ import org.onap.policy.apex.model.utilities.Assertions; * read objects from the context album. * <p> * Validation checks that the album key and the context schema key are not null and that the scope field is not - * undefined and matches the regular expression {@link SCOPE_REGEXP}. + * undefined and matches the regular expression SCOPE_REGEXP. */ @Entity @Table(name = "AxContextAlbum") @@ -113,7 +113,7 @@ public class AxContextAlbum extends AxConcept { /** * The default constructor creates a context album with a null artifact key. The scope of the context album is set - * as {@link SCOPE_UNDEFINED}, the album is writable, and the artifact key of the context schema is set to the null + * as SCOPE_UNDEFINED, the album is writable, and the artifact key of the context schema is set to the null * artifact key. */ public AxContextAlbum() { @@ -134,7 +134,7 @@ public class AxContextAlbum extends AxConcept { /** * The keyed constructor creates a context album with the specified artifact key. The scope of the context album is - * set as {@link SCOPE_UNDEFINED}, the album is writable, and the artifact key of the context schema is set to the + * set as SCOPE_UNDEFINED, the album is writable, and the artifact key of the context schema is set to the * null artifact key. * * @param key the key of the context album @@ -147,7 +147,7 @@ public class AxContextAlbum extends AxConcept { * Constructor that sets all the fields of the context album. * * @param key the key of the context album - * @param scope the scope field, must match the regular expression {@link SCOPE_REGEXP} + * @param scope the scope field, must match the regular expression SCOPE_REGEXP * @param isWritable specifies whether the context album will be writable or not * @param itemSchema the artifact key of the context schema to use for this context album */ diff --git a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java index bf8289ecb..87c89376e 100644 --- a/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java +++ b/model/context-model/src/main/java/org/onap/policy/apex/model/contextmodel/concepts/AxContextSchema.java @@ -58,7 +58,7 @@ import org.onap.policy.apex.model.utilities.Assertions; * {@link AxContextSchema} being defined as @code cell} objects. * <p> * Validation checks that the schema key is not null. It also checks that the schema flavour is defined and matches the - * regular expression {@link SCHEMA_FLAVOUR_REGEXP}. Finally, validation checks that the defined schema is not a blank + * regular expression SCHEMA_FLAVOUR_REGEXP. Finally, validation checks that the defined schema is not a blank * or empty string. */ @Entity @@ -100,7 +100,7 @@ public class AxContextSchema extends AxConcept { /** * The default constructor creates a context schema with a null artifact key. The flavour of the context album is - * set as {@link SCHEMA_FLAVOUR_UNDEFINED} and the schema itself is defined as an empty string. + * set as SCHEMA_FLAVOUR_UNDEFINED and the schema itself is defined as an empty string. */ public AxContextSchema() { this(new AxArtifactKey()); @@ -118,7 +118,7 @@ public class AxContextSchema extends AxConcept { /** * The key constructor creates a context schema with the given artifact key. The flavour of the context album is set - * as {@link SCHEMA_FLAVOUR_UNDEFINED} and the schema itself is defined as an empty string. + * as SCHEMA_FLAVOUR_UNDEFINED and the schema itself is defined as an empty string. * * @param key the key */ diff --git a/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java new file mode 100755 index 000000000..f9d1304d7 --- /dev/null +++ b/model/utilities/src/main/java/org/onap/policy/apex/model/utilities/json/package-info.java @@ -0,0 +1,26 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +/** + * Provides a utility class for reading JSON streams. + * + * @author Liam Fallon (liam.fallon@ericsson.com) + */ +package org.onap.policy.apex.model.utilities.json; diff --git a/packages/apex-pdp-docker/pom.xml b/packages/apex-pdp-docker/pom.xml index 5bc27cb61..ac3994fe7 100644 --- a/packages/apex-pdp-docker/pom.xml +++ b/packages/apex-pdp-docker/pom.xml @@ -114,6 +114,9 @@ <name>apexSite</name> </property> </activation> + <properties> + <adsite-packages-docker-dir>${project.basedir}/src</adsite-packages-docker-dir> + </properties> <distributionManagement> <site> <id>${project.artifactId}-site</id> diff --git a/examples/examples-periodic/src/site-docs/adoc/fragments/dockerfile.adoc b/packages/apex-pdp-docker/src/site-docs/adoc/fragments/dockerfile.adoc index 3ee66b3bd..ec5ae9a01 100644..100755 --- a/examples/examples-periodic/src/site-docs/adoc/fragments/dockerfile.adoc +++ b/packages/apex-pdp-docker/src/site-docs/adoc/fragments/dockerfile.adoc @@ -11,10 +11,10 @@ // @author Sven van der Meer (sven.van.der.meer@ericsson.com) // -== Dockerfile +== APEX Dockerfile -.Dockerfile -[source,bash,options="nowrap"] +.APEX Dockerfile +[source%nowrap,sh,numbered,subs="attributes+"] ---- -include::{adsite-examples-periodic-dir}/../Dockerfile[Dockerfile] +include::{adsite-packages-docker-dir}/main/docker/Dockerfile[APEX Dockerfile] ---- diff --git a/examples/examples-onap-vcpe/src/site/asciidoc/dockerfile.adoc b/packages/apex-pdp-docker/src/site/asciidoc/dockerfile.adoc index 47e8a80e1..5c3ffb57a 100644..100755 --- a/examples/examples-onap-vcpe/src/site/asciidoc/dockerfile.adoc +++ b/packages/apex-pdp-docker/src/site/asciidoc/dockerfile.adoc @@ -11,4 +11,4 @@ // @author Sven van der Meer (sven.van.der.meer@ericsson.com) // -include::{apex-domains-onap-vcpe-dir}/site-docs/adoc/fragments/dockerfile.adoc[] +include::{adsite-packages-docker-dir}/site-docs/adoc/fragments/dockerfile.adoc[] diff --git a/packages/apex-pdp-docker/src/site/site.xml b/packages/apex-pdp-docker/src/site/site.xml index 7bf7f444a..ee59d8a00 100644 --- a/packages/apex-pdp-docker/src/site/site.xml +++ b/packages/apex-pdp-docker/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Packages Docker"> <body> <menu name="APEX Packages Docker"> + <item href="dockerfile.html" name="APEX Dockerfile" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/packages/apex-pdp-package-full/pom.xml b/packages/apex-pdp-package-full/pom.xml index ceda3ad11..65520e83f 100644 --- a/packages/apex-pdp-package-full/pom.xml +++ b/packages/apex-pdp-package-full/pom.xml @@ -41,6 +41,32 @@ <version>${project.version}</version> </dependency> + <!-- Client Servlet applications --> + <dependency> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-full</artifactId> + <type>war</type> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-editor</artifactId> + <type>war</type> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-deployment</artifactId> + <type>war</type> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-monitoring</artifactId> + <type>war</type> + <version>${project.version}</version> + </dependency> + <!-- Plugins for Context Distribution --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId> @@ -161,7 +187,19 @@ <artifactId>cli-editor</artifactId> <version>${project.version}</version> </dependency> - + + <!-- Tools --> + <dependency> + <groupId>org.onap.policy.apex-pdp.tools</groupId> + <artifactId>simple-wsclient</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.onap.policy.apex-pdp.tools</groupId> + <artifactId>model-generator</artifactId> + <version>${project.version}</version> + </dependency> + <!-- Test Data used by examples --> <dependency> <groupId>org.onap.policy.apex-pdp.context</groupId> @@ -323,11 +361,70 @@ <outputDirectory>${project.build.directory}/etc</outputDirectory> <includes>/readme_examples-servlet.txt</includes> </artifactItem> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.tools</groupId> + <artifactId>tools-common</artifactId> + <version>${project.version}</version> + <type>jar</type> + <overWrite>false</overWrite> + <outputDirectory>${project.build.directory}/etc</outputDirectory> + <includes>/app-version.txt</includes> + </artifactItem> + </artifactItems> + <overWriteReleases>true</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + </configuration> + </execution> + <execution> + <id>copy-fat-jars</id> + <phase>package</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.tools</groupId> + <artifactId>simple-wsclient</artifactId> + <version>${project.version}</version> + <type>jar</type> + <classifier>jar-with-dependencies</classifier> + <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-monitoring</artifactId> + <version>${project.version}</version> + <classifier>monitoring</classifier> + <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-editor</artifactId> + <version>${project.version}</version> + <classifier>editor</classifier> + <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-deployment</artifactId> + <version>${project.version}</version> + <classifier>deployment</classifier> + <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.onap.policy.apex-pdp.client</groupId> + <artifactId>client-full</artifactId> + <version>${project.version}</version> + <classifier>full</classifier> + <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> + </artifactItem> </artifactItems> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> + </executions> </plugin> diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat index 5aba49702..c1f71459e 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat @@ -17,13 +17,12 @@ :: ============LICENSE_END========================================================= :: -:: Script to run APEX Applications -:: Call -h for help +:: Script to run APEX Applications, call with '-h' for help :: - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key :: :: @package org.onap.policy.apex :: @author Sven van der Meer <sven.van.der.meer@ericsson.com> -:: @version v0.7.0 +:: @version v2.0.0 :: :: DO NOT CHANGE CODE BELOW, unless you know what you are doing @@ -72,16 +71,16 @@ set CLASSPATH=%APEX_HOME%\etc%cpsep%%APEX_HOME%\etc\hazelcast%cpsep%%APEX_HOME%\ :: array of applications with name=command :: declare -A APEX_APP_MAP -set APEX_APP_MAP[ws-console]=java -jar %APEX_HOME%\lib\applications\apex-apps.wsclients-simple-%_VERSION%-jar-with-dependencies.jar -c -set APEX_APP_MAP[ws-echo]=java -jar %APEX_HOME%\lib\applications\apex-apps.wsclients-simple-%_VERSION%-jar-with-dependencies.jar -set APEX_APP_MAP[tpl-event-json]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.apps.generators.model.model2event.Application -set APEX_APP_MAP[model-2-cli]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.apps.generators.model.model2cli.Application -set APEX_APP_MAP[rest-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-editor-%_VERSION%-editor.jar +set APEX_APP_MAP[ws-console]=java -jar %APEX_HOME%\lib\applications\simple-wsclient-%_VERSION%-jar-with-dependencies.jar -c +set APEX_APP_MAP[ws-echo]=java -jar %APEX_HOME%\lib\applications\simple-wsclient-%_VERSION%-jar-with-dependencies.jar +set APEX_APP_MAP[tpl-event-json]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.tools.model.generator.model2event.Application +set APEX_APP_MAP[model-2-cli]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.tools.model.generator.model2cli.Application +set APEX_APP_MAP[rest-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-editor-%_VERSION%-editor.jar set APEX_APP_MAP[cli-editor]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain set APEX_APP_MAP[engine]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.service.engine.main.ApexMain -set APEX_APP_MAP[eng-deployment]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-deployment-%_VERSION%-deployment.jar -set APEX_APP_MAP[eng-monitoring]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-monitoring-%_VERSION%-monitoring.jar -set APEX_APP_MAP[full-client]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\apex-services.client-full-%_VERSION%-full.jar +set APEX_APP_MAP[eng-deployment]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-deployment-%_VERSION%-deployment.jar +set APEX_APP_MAP[eng-monitoring]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-monitoring-%_VERSION%-monitoring.jar +set APEX_APP_MAP[full-client]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-full-%_VERSION%-full.jar :: array of applications with name=description :: declare -A APEX_APP_DESCR_MAP diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh index c0397429b..d0e3f2efe 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh @@ -19,6 +19,15 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- +## +## Script to run APEX Applications, call with '-h' for help +## - requires BASH with associative arrays, bash of at least version 4 +## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/ +## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key +## +## @package org.onap.policy.apex +## @author Sven van der Meer <sven.van.der.meer@ericsson.com> +## @version v2.0.0 ## ## DO NOT CHANGE CODE BELOW, unless you know what you are doing @@ -27,7 +36,7 @@ if [ -z $APEX_HOME ] then - APEX_HOME="/opt/app/policy/apex-pdp" + APEX_HOME="/opt/app/policy/apex-pdp/apex-pdp" fi if [ ! -d $APEX_HOME ] @@ -71,16 +80,16 @@ CLASSPATH="$APEX_HOME/etc${cpsep}$APEX_HOME/etc/hazelcast${cpsep}$APEX_HOME/etc/ ## array of applications with name=command declare -A APEX_APP_MAP -APEX_APP_MAP["ws-console"]="java -jar $APEX_HOME/lib/applications/apex-apps.wsclients-simple-$_version-jar-with-dependencies.jar -c" -APEX_APP_MAP["ws-echo"]="java -jar $APEX_HOME/lib/applications/apex-apps.wsclients-simple-$_version-jar-with-dependencies.jar" -APEX_APP_MAP["tpl-event-json"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.apps.generators.model.model2event.Application" -APEX_APP_MAP["model-2-cli"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.apps.generators.model.model2cli.Application" -APEX_APP_MAP["rest-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-editor-$_version-editor.jar" +APEX_APP_MAP["ws-console"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar -c" +APEX_APP_MAP["ws-echo"]="java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar" +APEX_APP_MAP["tpl-event-json"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2event.Application" +APEX_APP_MAP["model-2-cli"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2cli.Application" +APEX_APP_MAP["rest-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-editor-$_version-editor.jar" APEX_APP_MAP["cli-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain" APEX_APP_MAP["engine"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.service.engine.main.ApexMain" -APEX_APP_MAP["eng-deployment"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-deployment-$_version-deployment.jar" -APEX_APP_MAP["eng-monitoring"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-monitoring-$_version-monitoring.jar" -APEX_APP_MAP["full-client"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/apex-services.client-full-$_version-full.jar" +APEX_APP_MAP["eng-deployment"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-deployment-$_version-deployment.jar" +APEX_APP_MAP["eng-monitoring"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-monitoring-$_version-monitoring.jar" +APEX_APP_MAP["full-client"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-full-$_version-full.jar" ## array of applications with name=description declare -A APEX_APP_DESCR_MAP diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat index c4cb649bc..165af595c 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.bat @@ -17,11 +17,11 @@ :: ============LICENSE_END========================================================= :: -:: Script to run the APEX CLI Editor +:: Script to run the APEX CLI Editor, calls apexApps.bat :: :: @package org.onap.policy.apex :: @author Sven van der Meer <sven.van.der.meer@ericsson.com> -:: @version v0.7.0 +:: @version v2.0.0 :: :: DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh index 387a4d9cc..42c70fdb3 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh @@ -21,14 +21,11 @@ #------------------------------------------------------------------------------- ## -## Script to run the APEX CLI Editor -## - requires BASH with associative arrays, bash of at least version 4 -## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/ -## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key +## Script to run the APEX CLI Editor, calls apexApps.sh ## ## @package org.onap.policy.apex ## @author Sven van der Meer <sven.van.der.meer@ericsson.com> -## @version v0.7.0 +## @version v2.0.0 ## ## DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat index d44adbbe6..a48a30055 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.bat @@ -17,11 +17,11 @@ :: ============LICENSE_END========================================================= :: -:: Script to run the APEX +:: Script to run the APEX, calls apexApps.bat :: :: @package org.onap.policy.apex :: @author Sven van der Meer <sven.van.der.meer@ericsson.com> -:: @version v0.7.0 +:: @version v2.0.0 :: :: DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh index 0a251ab90..6a1386e0e 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh @@ -21,14 +21,11 @@ #------------------------------------------------------------------------------- ## -## Script to run the APEX -## - requires BASH with associative arrays, bash of at least version 4 -## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/ -## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key +## Script to run the APEX, calls apexApps.sh ## ## @package org.onap.policy.apex ## @author Sven van der Meer <sven.van.der.meer@ericsson.com> -## @version v0.7.0 +## @version v2.0.0 ## ## DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat index 69ada95bf..5942a2e1f 100644 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.bat @@ -17,11 +17,11 @@ :: ============LICENSE_END========================================================= :: -:: Script to run the APEX REST Editor +:: Script to run the APEX REST Editor, calls apexApps.bat :: :: @package org.onap.policy.apex :: @author Sven van der Meer <sven.van.der.meer@ericsson.com> -:: @version v0.7.0 +:: @version v2.0.0 :: :: DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh index cb3641f04..62ab50ea0 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh @@ -21,14 +21,11 @@ #------------------------------------------------------------------------------- ## -## Script to run the APEX REST Editor -## - requires BASH with associative arrays, bash of at least version 4 -## - for BASH examples with arrays see for instance: http://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/ -## - adding a new app means to add a command to APEX_APP_MAP and a description to APEX_APP_DESCR_MAP using same/unique key +## Script to run the APEX REST Editor, calls apexApps.sh ## ## @package org.onap.policy.apex ## @author Sven van der Meer <sven.van.der.meer@ericsson.com> -## @version v0.7.0 +## @version v2.0.0 ## ## DO NOT CHANGE CODE BELOW, unless you know what you are doing diff --git a/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml b/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml index 1080506b6..6dd024f2d 100644 --- a/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml +++ b/packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml @@ -26,7 +26,7 @@ <dependencySets> <dependencySet> <useProjectArtifact>true</useProjectArtifact> - <outputDirectory>/lib</outputDirectory> + <outputDirectory>lib</outputDirectory> <unpack>false</unpack> <scope>runtime</scope> <includes> @@ -35,7 +35,7 @@ </dependencySet> <dependencySet> <useProjectArtifact>true</useProjectArtifact> - <outputDirectory>/war</outputDirectory> + <outputDirectory>war</outputDirectory> <unpack>false</unpack> <scope>runtime</scope> <includes> @@ -49,7 +49,7 @@ <includes> <include>*</include> </includes> - <outputDirectory>/bin</outputDirectory> + <outputDirectory>bin</outputDirectory> <fileMode>0755</fileMode> <lineEnding>unix</lineEnding> <excludes> @@ -61,7 +61,7 @@ <includes> <include>**/*</include> </includes> - <outputDirectory>/etc</outputDirectory> + <outputDirectory>etc</outputDirectory> <lineEnding>unix</lineEnding> <excludes> <exclude>*.formatted</exclude> @@ -72,7 +72,7 @@ <includes> <include>**/*</include> </includes> - <outputDirectory>/examples</outputDirectory> + <outputDirectory>examples</outputDirectory> <lineEnding>unix</lineEnding> <excludes> <exclude>*.formatted</exclude> @@ -83,7 +83,7 @@ <includes> <include>**/*</include> </includes> - <outputDirectory>/etc</outputDirectory> + <outputDirectory>etc</outputDirectory> <lineEnding>unix</lineEnding> <excludes> <exclude>*.formatted</exclude> @@ -94,7 +94,7 @@ <includes> <include>**/*</include> </includes> - <outputDirectory>/examples</outputDirectory> + <outputDirectory>examples</outputDirectory> <lineEnding>unix</lineEnding> <excludes> <exclude>*.formatted</exclude> @@ -105,7 +105,7 @@ <includes> <include>**/*</include> </includes> - <outputDirectory>/lib</outputDirectory> + <outputDirectory>lib</outputDirectory> <excludes> <exclude>*.formatted</exclude> </excludes> @@ -116,7 +116,7 @@ <includes> <include>readme_examples-servlet.txt</include> </includes> - <outputDirectory>/war</outputDirectory> + <outputDirectory>war</outputDirectory> </fileSet> </fileSets> </assembly> diff --git a/packages/apex-pdp-package-full/src/main/resources/app-version.txt b/packages/apex-pdp-package-full/src/main/resources/app-version.txt deleted file mode 100644 index f2ab45c3b..000000000 --- a/packages/apex-pdp-package-full/src/main/resources/app-version.txt +++ /dev/null @@ -1 +0,0 @@ -${project.version}
\ No newline at end of file diff --git a/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml b/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml index 53a305e79..15a84c89a 100644 --- a/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml +++ b/plugins/plugins-context/plugins-context-locking/plugins-context-locking-curator/pom.xml @@ -65,11 +65,6 @@ </exclusion> </exclusions> </dependency> - <dependency> - <groupId>org.apache.curator</groupId> - <artifactId>curator-recipes</artifactId> - <version>4.0.1</version> - </dependency> </dependencies> <profiles> @@ -88,4 +83,4 @@ </distributionManagement> </profile> </profiles> -</project>
\ No newline at end of file +</project> diff --git a/plugins/plugins-executor/plugins-executor-jruby/pom.xml b/plugins/plugins-executor/plugins-executor-jruby/pom.xml index 9137a5f4b..3399e1516 100644 --- a/plugins/plugins-executor/plugins-executor-jruby/pom.xml +++ b/plugins/plugins-executor/plugins-executor-jruby/pom.xml @@ -46,11 +46,7 @@ </exclusion> <exclusion> <groupId>com.github.jnr</groupId> - <artifactId>jnr-posix:</artifactId> - </exclusion> - <exclusion> - <groupId>com.github.jnr</groupId> - <artifactId>jnr-posix:</artifactId> + <artifactId>jnr-posix</artifactId> </exclusion> <exclusion> <groupId>com.github.jnr</groupId> @@ -89,4 +85,4 @@ </distributionManagement> </profile> </profiles> -</project>
\ No newline at end of file +</project> @@ -186,7 +186,7 @@ <adsite-main-dir>${project.basedir}/src</adsite-main-dir> <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir> <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir> - <adsite-apps-uservice-test-dir>${project.basedir}/apps/apps.uservice/apps.uservice-test/src</adsite-apps-uservice-test-dir> + <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir> <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir> <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir> @@ -194,6 +194,8 @@ <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir> <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir> + <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir> + <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir> <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir> <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir> @@ -214,6 +216,7 @@ <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir> <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir> <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir> + <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir> </properties> <distributionManagement> @@ -561,7 +564,7 @@ <adsite-main-dir>${project.basedir}/src</adsite-main-dir> <adsite-tools-wsclients-dir>${project.basedir}/tools/simple-wsclient/src</adsite-tools-wsclients-dir> <adsite-tools-common-dir>${project.basedir}/tools/tools-common/src</adsite-tools-common-dir> - <adsite-apps-uservice-test-dir>${project.basedir}/apps/apps.uservice/apps.uservice-test/src</adsite-apps-uservice-test-dir> + <adsite-examples-myfirstpolicy-dir>${project.basedir}/examples/examples-myfirstpolicy/src</adsite-examples-myfirstpolicy-dir> <adsite-examples-decisionmaker-dir>${project.basedir}/examples/examples-decisionmaker/src</adsite-examples-decisionmaker-dir> <adsite-examples-pcvs-dir>${project.basedir}/examples/examples-pcvs/src</adsite-examples-pcvs-dir> @@ -569,6 +572,8 @@ <adsite-examples-onap-vcpe-dir>${project.basedir}/examples/examples-onap-vcpe/src</adsite-examples-onap-vcpe-dir> <adsite-examples-servlet-dir>${project.basedir}/examples/examples-servlet/src</adsite-examples-servlet-dir> + <adsite-packages-docker-dir>${project.basedir}/packages/apex-pdp-docker/src</adsite-packages-docker-dir> + <adsite-plugins-event-protocol-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/src</adsite-plugins-event-protocol-dir> <adsite-plugins-event-protocol-jms-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-jms/src</adsite-plugins-event-protocol-jms-dir> <adsite-plugins-event-protocol-xml-dir>${project.basedir}/plugins/plugins-event/plugins-event-protocol/plugins-event-protocol-xml/src</adsite-plugins-event-protocol-xml-dir> @@ -588,6 +593,7 @@ <adsite-plugins-executor-jruby-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jruby/src</adsite-plugins-executor-jruby-dir> <adsite-plugins-executor-jython-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-jython/src</adsite-plugins-executor-jython-dir> <adsite-plugins-executor-mvel-dir>${project.basedir}/plugins/plugins-executor/plugins-executor-mvel/src</adsite-plugins-executor-mvel-dir> + <adsite-services-engine-dir>${project.basedir}/services/services-engine/src</adsite-services-engine-dir> </attributes> </configuration> diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java index 75404137e..deb502ac1 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/package-info.java @@ -19,10 +19,10 @@ */ /** - * Provides a generic externally-facing {@link ApexEvent} class that can be sent into an APEX engine - * and processed by an APEX engine. It provides the producer {@link ApexEventProducer} producer and - * {@link ApexEventConsumer} consumer interfaces that APEX uses to send events to and receive events - * from other systems. It also provides the {@link ApexEventConverter} interface that can be + * Provides a generic externally-facing ApexEvent class that can be sent into an APEX engine + * and processed by an APEX engine. It provides the producer ApexEventProducer producer and + * ApexEventConsumer consumer interfaces that APEX uses to send events to and receive events + * from other systems. It also provides the ApexEventConverter interface that can be * implemented by plugins that wish to convert some external event format into the APEX event * format. It also provides a periodic event generator that can be used to send periodic events into * an APEX engine for triggering of policies to carry out housekeeping tasks. diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java index b54a90349..eeb2eab0f 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/package-info.java @@ -19,9 +19,9 @@ */ /** - * Provides Java APIs for APEX engines at runtime. The {@link EngineService} is used to start, stop - * and manage APEX engines. {@link EngineServiceEventInterface} is used to send events to an APEX - * engine. {@link ApexEventListener} interface is used to receive events from an APEX engine. + * Provides Java APIs for APEX engines at runtime. The EngineService is used to start, stop + * and manage APEX engines. EngineServiceEventInterface is used to send events to an APEX + * engine. ApexEventListener interface is used to receive events from an APEX engine. * * @author Liam Fallon (liam.fallon@ericsson.com) */ diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java index 0c10df706..41e30188b 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/carriertechnology/CarrierTechnologyParameters.java @@ -54,8 +54,6 @@ public abstract class CarrierTechnologyParameters implements ParameterGroup { /** * Constructor to create a carrier technology parameters instance with the name of a sub class of this class and * register the instance with the parameter service. - * - * @param parameterClassName the class name of a sub class of this class */ public CarrierTechnologyParameters() { super(); diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java index 2c6473776..e9e8923d0 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/parameters/package-info.java @@ -19,10 +19,9 @@ */ /** - * Implements parameter handling for all parameters in APEX. It uses specializations of (@link - * {@link org.onap.policy.apex.model.basicmodel.service.AbstractParameters} for all parameters and - * works with {@link org.onap.policy.apex.model.basicmodel.service.ParameterService} for storing and - * finding parameters. + * Implements parameter handling for all parameters in APEX. + * It uses specializations of the class <code>AbstractParameters</code> (basic model) for all parameters. + * It works with <code>ParameterService</code> (basic model) for storing and finding parameters. * * @author Liam Fallon (liam.fallon@ericsson.com) */ diff --git a/src/site-docs/.gitignore b/src/site-docs/.gitignore deleted file mode 100644 index 17d1abda7..000000000 --- a/src/site-docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -logos/ - diff --git a/src/site-docs/adoc/fragments/apex-intro/resources.adoc b/src/site-docs/adoc/fragments/apex-intro/resources.adoc index f4c8b947a..62ace92eb 100644 --- a/src/site-docs/adoc/fragments/apex-intro/resources.adoc +++ b/src/site-docs/adoc/fragments/apex-intro/resources.adoc @@ -14,6 +14,6 @@ == Resources * APEX Documentation hosted on Github: link:https://ericsson.github.io/apex-docs[] -* APEX source code repo hosted on Github: link:https://github.com/Ericsson/apex[] -* Issue Management (source and documentation): link:https://github.com/Ericsson/apex/issues[] +* APEX source code repository hosted by ONAP: link:https://gerrit.onap.org/r/#/admin/projects/policy/apex-pdp[] +* Issue Management (source and documentation, ONAP JIRA, requires a Linux Foundation ID): link:https://jira.onap.org/projects/POLICY/issues[] * List of APEX publications: link:https://ericsson.github.io/apex-docs/apex-publications.html[] diff --git a/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc b/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc index 973564df3..2f273a284 100644 --- a/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/app-model-2-cli.adoc @@ -47,7 +47,7 @@ usage: gen-model2cli For instance, running the tool with the __Sample Domain__ policy model as: [source%nowrap,sh] ---- -apexApps.sh tpl-event-json -m $APEX_HOME/examples/models/SampleDomain/SamplePolicyModelJAVA.json -t stimuli +apexApps.sh model-2-cli -m $APEX_HOME/examples/models/SampleDomain/SamplePolicyModelJAVA.json ---- will produce the following status messages: diff --git a/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc b/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc index bd31bedf9..74936061d 100644 --- a/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/app-tpl-event-json.adoc @@ -38,6 +38,7 @@ The option `-h` provides a help screen. [source%nowrap,sh] ---- +gen-model2event v{release-version} - generates JSON templates for events generated from a policy model usage: gen-model2event -h,--help prints this help and usage screen -m,--model <MODEL-FILE> set the input policy model file diff --git a/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc b/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc index e677079f2..a129ca3a0 100644 --- a/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/cli-editor.adoc @@ -58,7 +58,6 @@ The option `-h` provides a help screen with all command line arguments. ---- usage: org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain [options...] options - -a,--model-props-file <MODEL_PROPS_FILE> name of the apex model properties file to use -c,--command-file <COMMAND_FILE> name of a file containing editor commands to run into the editor -h,--help outputs the usage of this command diff --git a/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc b/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc index 52836a783..fb19353b7 100644 --- a/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/eng-deployment.adoc @@ -30,16 +30,21 @@ The option `-h` provides a help screen with all command line arguments. [source%nowrap,sh] ---- -usage: org.onap.policy.apex.services.client.deployment.rest.ApexDeploymentRestMain [options...] --h,--help outputs the usage of this command --p,--port <PORT> port to use for the Apex Services REST calls --t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating +usage: org.onap.policy.apex.client.deployment.rest.ApexDeploymentRestMain [options...] +-h,--help outputs the usage of this command +-p,--port <PORT> port to use for the Apex Services REST calls +-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating + ---- If the Deployment Client is started without any arguments the final messages will look similar to this: [source%nowrap,sh] ---- +Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . . +Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.NetworkListener start +INFO: Started listener bound to [localhost:18989] +Sep 05, 2018 11:27:09 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/ ---- diff --git a/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc b/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc index 960546d06..9b26d7562 100644 --- a/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/eng-monitoring.adoc @@ -30,16 +30,20 @@ The option `-h` provides a help screen with all command line arguments. [source%nowrap,sh] ---- -usage: org.onap.policy.apex.services.client.monitoring.rest.ApexMonitoringRestMain [options...] --h,--help outputs the usage of this command --p,--port <PORT> port to use for the Apex Services REST calls --t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating +usage: org.onap.policy.apex.client.monitoring.rest.ApexMonitoringRestMain [options...] +-h,--help outputs the usage of this command +-p,--port <PORT> port to use for the Apex Services REST calls +-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating ---- If the Monitoring Client is started without any arguments the final messages will look similar to this: [source%nowrap,sh] ---- +Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . . +Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.NetworkListener start +INFO: Started listener bound to [localhost:18989] +Sep 05, 2018 11:26:20 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. Apex Services REST endpoint (ApexMonitoringRestMain: Config=[ApexMonitoringRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/ ---- diff --git a/src/site-docs/adoc/fragments/howto-apex/engine.adoc b/src/site-docs/adoc/fragments/howto-apex/engine.adoc index 819c2ca87..79dfe20e9 100644 --- a/src/site-docs/adoc/fragments/howto-apex/engine.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/engine.adoc @@ -19,7 +19,7 @@ On UNIX and Cygwin systems use: - `apexEngine.sh` - this script will ** Test if `$APEX_USER` is set and if the user exists, terminate with an error otherwise - ** Test if `$APEX_HOME` is set. If not set, it will use the default setting as `/opt/ericsson/apex/apex`. + ** Test if `$APEX_HOME` is set. If not set, it will use the default setting as `/opt/app/policy/apex-pdp/apex-pdp`. Then the set directory is tested to exist, the script will terminate if not. ** When all tests are passed successfully, the script will call `apexApps.sh` with arguments to start the APEX engine. - `apexApps.sh engine` - this is the general APEX application launcher, which will @@ -59,13 +59,11 @@ The option `-h` prints a help screen. ---- usage: org.onap.policy.apex.service.engine.main.ApexMain [options...] options - -c,--config-file <CONFIG_FILE> the full path to the configuration file to use, - the configuration file must be a Json - file containing the Apex configuration parameters - -h,--help outputs the usage of this command - -m,--model-file <MODEL_FILE> the full path to the model file to use, - if set it overrides the model file set in the - configuration file - -v,--version outputs the version of Apex +-c,--config-file <CONFIG_FILE> the full path to the configuration file to use, the configuration file must be a Json file + containing the Apex configuration parameters +-h,--help outputs the usage of this command +-m,--model-file <MODEL_FILE> the full path to the model file to use, if set it overrides the model file set in the + configuration file +-v,--version outputs the version of Apex ---- diff --git a/src/site-docs/adoc/fragments/howto-apex/full-client.adoc b/src/site-docs/adoc/fragments/howto-apex/full-client.adoc index 97a18393b..4370d80ac 100644 --- a/src/site-docs/adoc/fragments/howto-apex/full-client.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/full-client.adoc @@ -31,16 +31,21 @@ The option `-h` provides a help screen with all command line arguments. [source%nowrap,sh] ---- -usage: org.onap.policy.apex.services.client.full.rest.ApexServicesRestMain [options...] --h,--help outputs the usage of this command --p,--port <PORT> port to use for the Apex Services REST calls --t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating +usage: org.onap.policy.apex.client.full.rest.ApexServicesRestMain [options...] +-h,--help outputs the usage of this command +-p,--port <PORT> port to use for the Apex Services REST calls +-t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating + ---- If the Full Client is started without any arguments the final messages will look similar to this: [source%nowrap,sh] ---- +Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . . +Sep 05, 2018 11:28:28 PM org.glassfish.grizzly.http.server.NetworkListener start +INFO: Started listener bound to [localhost:18989] +Sep 05, 2018 11:28:28 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. Apex Editor REST endpoint (ApexServicesRestMain: Config=[ApexServicesRestParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/ ---- diff --git a/src/site-docs/adoc/fragments/howto-apex/introduction.adoc b/src/site-docs/adoc/fragments/howto-apex/introduction.adoc index faa2f4949..a7d8ee695 100644 --- a/src/site-docs/adoc/fragments/howto-apex/introduction.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/introduction.adoc @@ -12,7 +12,7 @@ // == Introduction to APEX Engine and Applications -The core of APEX is the APEX Engine, also known as the APEX Policy Engine. +The core of APEX is the APEX Engine, also known as the APEX Policy Engine or the APEX PDP (since it is in fact a Policy Decision Point). Beside this engine, an APEX system comes with a few applications intended to help with policy authoring, deployment, and execution. The engine itself and most applications are started from the command line with command line arguments. @@ -20,17 +20,10 @@ This is called a Command Line Interface (CLI). Some applications require an installation on a webserver, as for instance the REST Editor. Those applications can be accessed via a web browser. -Starting with APEX version 0.5.6, we also provide plugins for Eclipse realizing a policy development environment. -Those plugins support the main APEX policy language. -Other, higher-level, policy languages will be added in future versions along with their Eclipse plugins. -Furthermore, we are planning to provide a backend supporting the Language Server Protocol (LSP). -This backend, run as a server, will allow to join any editor or IDE that is LSP-enabled to benefit from the APEX policy languages. - -Last not least, one can use the available APEX APIs and applications to develop other applications as required. +You can also use the available APEX APIs and applications to develop other applications as required. This includes policy languages (and associated parsers and compilers / interpreters), GUIs to access APEX or to define policies, clients to connect to APEX, etc. -Separate documentation will be available in APEX releases addressing this type of applications. -For this documentation, we assume an installation of APEX as a full system (i.e. not minimal) of version 0.5.6 or higher. +For this documentation, we assume an installation of APEX as a full system based on a current ONAP release. == CLI on Unix, Windows, and Cygwin A note on APEX CLI applications: all applications and the engine itself have been deployed and tested on different operating systems: Red Hat, Ubuntu, Debian, Mac OSX, Windows, Cygwin. @@ -38,7 +31,7 @@ Each operating system comes with its own way of configuring and executing Java. The main items here are: - For UNIX systems (RHL, Ubuntu, Debian, Mac OSX), the provided bash scripts work as expected - with absolute paths (e.g. `/opt/ericsson/apex/apex-{release-version}/examples`), + with absolute paths (e.g. `/opt/app/policy/apex-pdp/apex-pdp-{release-version}/examples`), indirect and linked paths (e.g. `../apex/apex`), and path substitutions using environment settings (e.g. `$APEX_HOME/bin/`) - For Windows systems, the provided batch files (`.bat`) work as expected with diff --git a/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc b/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc index 3be6f9f94..fafa65691 100644 --- a/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc +++ b/src/site-docs/adoc/fragments/howto-apex/rest-editor.adoc @@ -51,10 +51,10 @@ The option `-h` provides a help screen with all command line arguments. [source%nowrap,sh] ---- -usage: org.onap.policy.apex.auth.rest.ApexEditorMain [options...] +usage: org.onap.policy.apex.client.editor.rest.ApexEditorMain [options...] -h,--help outputs the usage of this command --l,--listen <ADDRESS> the IP address to listen on. Default value is 0.0.0.0 to listen on all available - addresses. Use value 'localhost' to restrict access to the local machine only. +-l,--listen <ADDRESS> the IP address to listen on. Default value is localhost to restrict access to the + local machine only. -p,--port <PORT> port to use for the Apex RESTful editor REST calls. -t,--time-to-live <TIME_TO_LIVE> the amount of time in seconds that the server will run for before terminating. Default value is -1 to run indefinitely. @@ -64,11 +64,15 @@ If the REST Editor is started without any arguments the final messages will look [source%nowrap,sh] ---- +Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . . +Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.NetworkListener start +INFO: Started listener bound to [localhost:18989] +Sep 05, 2018 11:24:30 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. -Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://0.0.0.0:18988/apex/, TTL=-1sec], State=RUNNING) started at http://0.0.0.0:18988/apex/ +Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/ ---- The last line states the URL on which the REST Editor can be accessed. -The example above stated `http://0.0.0.0:18988/apex/`. -In a web browser use the URL `http://localhost:18988` and the REST Editor will start. +The example above stated `http://0.0.0.0:18989/apex/`. +In a web browser use the URL `http://localhost:18989` and the REST Editor will start. diff --git a/src/site-docs/adoc/fragments/howto-build/introduction.adoc b/src/site-docs/adoc/fragments/howto-build/introduction.adoc index 02ba21fbd..546a769d7 100644 --- a/src/site-docs/adoc/fragments/howto-build/introduction.adoc +++ b/src/site-docs/adoc/fragments/howto-build/introduction.adoc @@ -34,6 +34,15 @@ The examples in this document assume that the APEX source repositories are clone - Windows: `C:\dev\apex` - Cygwin: `/cygdrive/c/dev/apex` + +[IMPORTANT] +.A Build requires ONAP Nexus +==== +APEX has a dependency to ONAP parent projects. +You might need to adjust your Maven M2 settings. +The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings]. +==== + [IMPORTANT] .A Build needs Space ==== diff --git a/src/site-docs/adoc/fragments/howto-build/site.adoc b/src/site-docs/adoc/fragments/howto-build/site.adoc index 42cbda525..6ec453c9e 100644 --- a/src/site-docs/adoc/fragments/howto-build/site.adoc +++ b/src/site-docs/adoc/fragments/howto-build/site.adoc @@ -18,9 +18,9 @@ Use Maven to build the APEX Site. Stage the APEX web site. The target folder for the staged site is -- Unix: `/usr/local/src/apex/target/gh-pages` -- Windows: `C:\dev\apex\target\gh-pages` -- Cygwin: `/cygdrive/c/dev/apex/target/gh-pages` +- Unix: `/usr/local/src/apex/target/ad-site` +- Windows: `C:\dev\apex\target\ad-site` +- Cygwin: `/cygdrive/c/dev/apex/target/ad-site` Once the web site is staged, copy the full site to a folder of choice or into a web server. @@ -45,20 +45,20 @@ Then go to the APEX packaging directory. [source%nowrap,sh] ---- cd /usr/local/src/apex -rm -fr target/gh-pages +rm -fr target/ad-site ---- | [source%nowrap,bat] ---- c: cd \dev\apex -rmdir /s /q target\gh-pages +rmdir /s /q target\ad-site ---- | [source%nowrap,sh] ---- cd /cygdrive/c/dev/apex -rm -fr target/gh-pages +rm -fr target/ad-site ---- |==================== diff --git a/src/site-docs/adoc/fragments/howto-build/standard.adoc b/src/site-docs/adoc/fragments/howto-build/standard.adoc index 76ebfc2bf..97013742b 100644 --- a/src/site-docs/adoc/fragments/howto-build/standard.adoc +++ b/src/site-docs/adoc/fragments/howto-build/standard.adoc @@ -33,7 +33,7 @@ Use Maven to for a standard build without any tests. ---- |==================== -The build takes 2-3 minutes on a standard development laptop. +The build takes about 6 minutes on a standard development laptop. It should run through without errors, but with a lot of messages from the build process. When Maven is finished with the build, the final screen should look similar to this (omitting some `success` lines): @@ -53,7 +53,7 @@ The following example show how to change to the target directory and how it shou | [source%nowrap,sh,numbered] ---- -# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target +# cd packages/apex-pdp-package-full/target # ls -l ---- @@ -72,7 +72,7 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/screens/target-ls-unix.txt[s | [source%nowrap,bat,numbered] ---- ->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target +>cd packages\apex-pdp-package-full\target >dir ---- diff --git a/src/site-docs/adoc/fragments/howto-build/with-tests.adoc b/src/site-docs/adoc/fragments/howto-build/with-tests.adoc index f8d300c45..e923ece60 100644 --- a/src/site-docs/adoc/fragments/howto-build/with-tests.adoc +++ b/src/site-docs/adoc/fragments/howto-build/with-tests.adoc @@ -41,17 +41,7 @@ If this happens, reduce the load on your build machine and restart the build. ---- |==================== -The build takes about 5-6 minutes with tests on a standard development laptop. +The build takes about 10 minutes with tests on a standard development laptop. It should run through without errors, but with a lot of messages from the build process. If build with tests (i.e. without `-DskipTests`), there will be error messages and stack trace prints from some tests. This is normal, as long as the build finishes successful. - -When Maven is finished with the build, the final screen should look similar to this (omitting some `success` lines): - -[source%nowrap,sh,numbered,subs="attributes+"] ----- -include::{adsite-main-dir}/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt[mvn build, with tests] ----- - -The build will have created all artifacts required for an APEX installation. - diff --git a/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc b/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc index 776ad3448..2e8e4fb95 100644 --- a/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc +++ b/src/site-docs/adoc/fragments/howto-codestyle/01-introduction.adoc @@ -21,7 +21,6 @@ As long as the style of a particular block of code is understandable, consistent The JAutoDoc and Checkstyle Eclipse Plugins and tools are useful and remove a lot of the tedium from code documentation. Use them to check your code and please fix any issues they identify with your code. -The templates and examples on this page have been tested on a clean installation of Eclipse Oxygen Release (4.7.0) on Ubuntu Linux 16.04 LTS. - -The Apex settings referred to on this page are also available in the apex-model GIT repository in the APEX model repository in apex-model/apex-model.build-tools/src/main/resources/`. +Since APEX is part of ONAP, the general ONAP rules and guideliness for development do apply. +Please see link:https://wiki.onap.org/display/DW/Developing+ONAP[ONAP Wiki] for details. diff --git a/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc b/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc index a6a93bfa4..d8a55c37e 100644 --- a/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc +++ b/src/site-docs/adoc/fragments/howto-codestyle/11-plugin-checkstyle.adoc @@ -21,6 +21,8 @@ In Eclipse Help->Eclipse Marketplace... and type "Checkstyle". Select "Checkstyle Plug-in" when the search returns and install it. Note that "Checkstyle Plug-in" may not be the first result in the list of items returned. -You must configure Checkstyle in order to get the most out of it. -There are two built-in style templates in Checkstyle (from Oracle and Google) but user will almost certainly wish to tweak these. +For APEX, the ONAP checkstyle rules do apply. +The configuration is part of the ONAP parent. +See link:https://git.onap.org/oparent/plain/checkstyle/src/main/resources/onap-checkstyle/[ONAP Git] for details and updates. +All settings for checkstyle are already part of the code (POM files). diff --git a/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc index 2e6698fff..d59b424af 100644 --- a/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc +++ b/src/site-docs/adoc/fragments/howto-codestyle/30-configure-checkstyle-maven.adoc @@ -18,28 +18,7 @@ In order not to have to distribute style files for checkstyle into all Maven mod That module is then used as a dependency in the __POM__ for all other modules that wish to use that checkstyle style. For a full explanation see link:https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html[the explanation of Checkstyle multi-module configuration]. -In Apex, the module `apex-model.build-tools` provides the Apex checkstyle style files as resources in `src/main/resources/checkstyle`. -This style is a slightly tweaked version of the standard Google checkstyle style that allows longer lines and has some other checks slightly relaxed. -Therefore, all modules that wish to use the Apex style must put the following build directive into their `pom.xml`. - -[source%nowrap,xml] ----- -<plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.17</version> - <dependencies> - <dependency> - <groupId>org.onap.policy.apex.model</groupId> - <artifactId>apex-model.build-tools</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - <configuration> - <configLocation>checkstyle/apex_style_checks.xml</configLocation> - <headerLocation>checkstyle/apex_header.txt</headerLocation> - </configuration> -</plugin> ----- - +For APEX, the ONAP checkstyle rules do apply. +The configuration is part of the ONAP parent. +See link:https://git.onap.org/oparent/plain/checkstyle/src/main/resources/onap-checkstyle/[ONAP Git] for details and updates. diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc deleted file mode 100644 index ce6367ef9..000000000 --- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-header.adoc +++ /dev/null @@ -1,17 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -[source%nowrap,text,subs="attributes+"] ----- -include::{apex-main-dir}/checkstyle/apex_header.txt[] -----
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc deleted file mode 100644 index f67a01c0a..000000000 --- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-checkstyle-style-checks.adoc +++ /dev/null @@ -1,17 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -[source%nowrap,xml,subs="attributes+"] ----- -include::{apex-main-dir}/checkstyle/apex_style_checks.xml[] -----
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc deleted file mode 100644 index 255855b43..000000000 --- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-checkstyle-settings.adoc +++ /dev/null @@ -1,17 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -[source%nowrap,xml,subs="attributes+"] ----- -include::{apex-main-dir}/eclipse/ApexCheckstyleSettings.xml[] -----
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc deleted file mode 100644 index 638d33972..000000000 --- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-cleanup.adoc +++ /dev/null @@ -1,17 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -[source%nowrap,xml,subs="attributes+"] ----- -include::{apex-main-dir}/eclipse/ApexCleanUpTemplate.xml[] -----
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc b/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc deleted file mode 100644 index dad270110..000000000 --- a/src/site-docs/adoc/fragments/howto-codestyle/99-tpl-eclipse-formatter-profile.adoc +++ /dev/null @@ -1,17 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -[source%nowrap,xml,subs="attributes+"] ----- -include::{apex-main-dir}/eclipse/ApexFormatterProfile.xml[] -----
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc b/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc index 788894572..8f22cb498 100644 --- a/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc +++ b/src/site-docs/adoc/fragments/howto-logging/example-logic.adoc @@ -13,52 +13,52 @@ == Example Configuration for Logging Logic -The following example shows a configuration that logs policy logic to standard out (__info__) and a file (__debug__) -All other APEX components are logging to a file (__debug__) and standard out (__error__). +The following example shows a configuration that logs policy logic to standard out and a file (__info__). +All other APEX components are logging to a file (__debug__).. This configuration an be used in a pre-production phase with the APEX engine still running in a separate terminal to monitor policy execution. -This logback configuration is in the APEX installation as `etc/logback-logic.xml` +This logback configuration is in the APEX installation as `etc/logback-logic.xml`. [source%nowrap,xml] ---- <configuration debug="false"> - <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> - <contextName>Apex</contextName> - <property name="VAR_LOG" value="/var/log/ericsson/apex/" /> + <contextName>Apex</contextName> + <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" /> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern> - </encoder> - </appender> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern> + </encoder> + </appender> - <appender name="FILE" class="ch.qos.logback.core.FileAppender"> - <file>${VAR_LOG}/apex.log</file> - <encoder> - <pattern> - %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} - </pattern> - </encoder> - </appender> + <appender name="FILE" class="ch.qos.logback.core.FileAppender"> + <file>${VAR_LOG}/apex.log</file> + <encoder> + <pattern> + %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} + </pattern> + </encoder> + </appender> - <appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>policy: %msg\n</pattern> - </encoder> - </appender> + <appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>policy: %msg\n</pattern> + </encoder> + </appender> - <root level="error"> - <appender-ref ref="STDOUT" /> - </root> + <root level="error"> + <appender-ref ref="STDOUT" /> + </root> -<logger name="org.onap.policy.apex" level="debug" additivity="false"> - <appender-ref ref="FILE" /> -</logger> + <logger name="org.onap.policy.apex" level="debug" additivity="false"> + <appender-ref ref="FILE" /> + </logger> - <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false"> - <appender-ref ref="POLICY_APPENDER_STDOUT" /> - <appender-ref ref="FILE" /> - </logger> + <logger name="org.onap.policy.apex.executionlogging" level="info" additivity="false"> + <appender-ref ref="POLICY_APPENDER_STDOUT" /> + <appender-ref ref="FILE" /> + </logger> </configuration> ---- diff --git a/src/site-docs/adoc/fragments/howto-logging/example-server.adoc b/src/site-docs/adoc/fragments/howto-logging/example-server.adoc index b438bd4a7..8f40a4217 100644 --- a/src/site-docs/adoc/fragments/howto-logging/example-server.adoc +++ b/src/site-docs/adoc/fragments/howto-logging/example-server.adoc @@ -20,27 +20,27 @@ This logback configuration is in the APEX installation as `logback-server.xml` [source%nowrap,xml] ---- <configuration debug="false"> - <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> - - <contextName>Apex</contextName> - <property name="VAR_LOG" value="/var/log/ericsson/apex/" /> - - <appender name="FILE" class="ch.qos.logback.core.FileAppender"> - <file>${VAR_LOG}/apex.log</file> - <encoder> - <pattern> - %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} - </pattern> - </encoder> - </appender> - - <root level="debug"> - <appender-ref ref="FILE" /> - </root> - - <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false"> - <appender-ref ref="FILE" /> - </logger> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + + <contextName>Apex</contextName> + <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" /> + + <appender name="FILE" class="ch.qos.logback.core.FileAppender"> + <file>${VAR_LOG}/apex.log</file> + <encoder> + <pattern> + %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} + </pattern> + </encoder> + </appender> + + <root level="debug"> + <appender-ref ref="FILE" /> + </root> + + <logger name="org.onap.policy.apex.executionlogging" level="debug" additivity="false"> + <appender-ref ref="FILE" /> + </logger> </configuration> ---- diff --git a/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc b/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc index 779e45458..a0cc02591 100644 --- a/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc +++ b/src/site-docs/adoc/fragments/howto-logging/logging-policy-logic.adoc @@ -17,9 +17,8 @@ The logging for the logic inside a policy (task logic, task selection logic, sta The logger for policy logic is `org.onap.policy.apex.executionlogging`. The following example defines -- a new appender for policy logic logging to standard out using a very simple pattern (simply the actual message) -- a logger for policy logic to standard out using the new appender -- a logger for policy logic to the standard `FILE` appender +- a new appender for standard out using a very simple pattern (simply the actual message) +- a logger for policy logic to standard out using the new appender and the already described file appender. [source%nowrap,xml] ---- @@ -29,12 +28,6 @@ The following example defines </encoder> </appender> -<appender name="POLICY_APPENDER_STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>policy: %msg\n</pattern> - </encoder> -</appender> - <logger name="org.onap.policy.apex.executionlogging" level="info" additivity="false"> <appender-ref ref="POLICY_APPENDER_STDOUT" /> <appender-ref ref="FILE" /> @@ -48,7 +41,7 @@ The following example defines a logger for task logic. [source%nowrap,xml] ---- <logger name="org.onap.policy.apex.executionlogging.TaskExecutionLogging" level="TRACE" additivity="false"> - <appender-ref ref="STDOUT" /> + <appender-ref ref="POLICY_APPENDER_STDOUT" /> </logger> ---- diff --git a/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc b/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc index a09b3d27e..4cd4b9b67 100644 --- a/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc +++ b/src/site-docs/adoc/fragments/howto-logging/standard-configuration.adoc @@ -14,7 +14,7 @@ == Standard Logging Configuration The standard logging configuration defines a context __APEX__, which is used in the standard output pattern. -The location for log files is defined in the property `VAR_LOG` and set to `/var/log/apex`. +The location for log files is defined in the property `VAR_LOG` and set to `/var/log/onap/policy/apex-pdp`. The standard status listener is set to __NOP__ and the overall logback configuration is set to no debug. [source%nowrap,xml,numbered] @@ -23,7 +23,7 @@ The standard status listener is set to __NOP__ and the overall logback configura <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> <contextName>Apex</contextName> - <property name="VAR_LOG" value="/var/log/ericsson/apex/" /> + <property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" /> ...appenders ...loggers @@ -49,38 +49,35 @@ The root level logger then is set to the level __info__ using the standard out a </root> ---- -The first appender is called `FILE`. +The second appender is called `FILE`. It writes logs to a file `apex.log`. [source%nowrap,xml,numbered] ---- <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${VAR_LOG}/apex.log</file> <encoder> - <pattern> - %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} - </pattern> + <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level %logger{26} - %msg %n %ex{full}</pattern> </encoder> </appender> ---- -The first appender is called `CTXT_FILE`. +The third appender is called `CTXT_FILE`. It writes logs to a file `apex_ctxt.log`. [source%nowrap,xml,numbered] ---- <appender name="CTXT_FILE" class="ch.qos.logback.core.FileAppender"> <file>${VAR_LOG}/apex_ctxt.log</file> <encoder> - <pattern> - %d %-5relative [procId=${processId}] [%thread] %-5level%logger{26} - %msg %n %ex{full} - </pattern> + <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level %logger{26} - %msg %n %ex{full}</pattern> </encoder> </appender> ---- The last definitions are for specific loggers. -The first logger captures all standard APEX classes, appends logs to `STDOUT` with the log level __info__. -The second logger capture all standard APEX classes, appends logs to `FILE` with log level __info__. -The third logger captures context monitoring classes, appends logs to `CTXT_FILE` with log level __trace__. +The first logger captures all standard APEX classes. +It is configured for log level __info__ and uses the standard output and file appenders. +The second logger captures APEX context classes responsible for context monitoring. +It is configured for log level __trace__ and uses the context file appender. [source%nowrap,xml,numbered] ---- diff --git a/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc b/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc index 77769dc31..cf582aa2e 100644 --- a/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc +++ b/src/site-docs/adoc/fragments/howto-write-logic/policy-examples.adoc @@ -18,7 +18,7 @@ It describes a sales problem, to which policy can be applied. The example details the policy background, shows how to use the REST Editor to create a policy, and provides details for running the policies. The documentation can be found: -* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.myfirstpolicy/MyFirstPolicyHowto.html[My-First-Policy on the APEX site] +* link:https://ericsson.github.io/apex-docs/modules/examples/examples-myfirstpolicy/MyFirstPolicyHowto.html[My-First-Policy on the APEX site] * link:https://ericsson.github.io/apex-docs/docs-apex/html/HowTo-MyFirstPolicy.html[Stand-alone HTML] * link:https://ericsson.github.io/apex-docs/docs-apex/pdf/HowTo-MyFirstPolicy.pdf[Stand-alone PDF] @@ -30,7 +30,7 @@ It also provides details for installing an actual testbed with off-the-shelve so The policy model here demonstrates virtually all APEX features: local context and policies controlling it, task selection logic and multiple tasks in a single state, AVRO schemas for context, AVOR schemas for events (trigger and local), and a CLI editor specification of the policy. The documentation can be found: -* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.pcvs/vpnsla/policy.html[VPN SLA Policy on the APEX site] +* link:https://ericsson.github.io/apex-docs/modules/examples/examples-pcvs/vpnsla/policy.html[VPN SLA Policy on the APEX site] == Decision Maker @@ -40,5 +40,5 @@ Interesting here is that the it creates a Docker image to run the policy and tha It also has local context to remember past decisions, and shows how to use that to no make the same decision twice in a row. The documentation can be found: -* link:https://ericsson.github.io/apex-docs/modules/apex-domains/apex-domains.decisionmaker/index.html[Decision Maker on APEX site] +* link:https://ericsson.github.io/apex-docs/modules/examples/examples-decisionmaker/index.html[Decision Maker on APEX site] diff --git a/src/site-docs/adoc/fragments/install-guide/build-apex.adoc b/src/site-docs/adoc/fragments/install-guide/build-apex.adoc index b773d97bd..8676d8f29 100644 --- a/src/site-docs/adoc/fragments/install-guide/build-apex.adoc +++ b/src/site-docs/adoc/fragments/install-guide/build-apex.adoc @@ -15,9 +15,17 @@ The examples in this document assume that the APEX source repositories are cloned to: -- Unix, Cygwin: `/usr/local/src/apex` -- Windows: `C:\dev\apex` -- Cygwin: `/cygdrive/c/dev/apex` +- Unix, Cygwin: `/usr/local/src/apex-pdp` +- Windows: `C:\dev\apex-pdp` +- Cygwin: `/cygdrive/c/dev/apex-pdp` + +[IMPORTANT] +.A Build requires ONAP Nexus +==== +APEX has a dependency to ONAP parent projects. +You might need to adjust your Maven M2 settings. +The most current settings can be found in the ONAP oparent repo: link:https://git.onap.org/oparent/plain/settings.xml[Settings]. +==== [IMPORTANT] .A Build needs Space @@ -47,14 +55,14 @@ Use Maven to for a standard build without any tests. | [source%nowrap,sh,numbered] ---- -# cd /usr/local/src/apex +# cd /usr/local/src/apex-pdp # mvn clean install -DskipTests ---- | [source%nowrap,bat,numbered] ---- >c: ->cd \dev\apex +>cd \dev\apex-pdp >mvn clean install -DskipTests ---- |==================== @@ -79,7 +87,7 @@ The following example show how to change to the target directory and how it shou | [source%nowrap,sh,numbered] ---- -# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target +# cd packages/apex-pdp-package-full/target # ls -l ---- @@ -98,7 +106,7 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/screens/target-ls-unix.txt[s | [source%nowrap,bat,numbered] ---- ->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target +>cd packages\apex-pdp-package-full\target >dir ---- diff --git a/src/site-docs/adoc/fragments/install-guide/configure.adoc b/src/site-docs/adoc/fragments/install-guide/configure.adoc index 77c63a29a..97388f8f7 100644 --- a/src/site-docs/adoc/fragments/install-guide/configure.adoc +++ b/src/site-docs/adoc/fragments/install-guide/configure.adoc @@ -56,14 +56,14 @@ The last row explains how to set those variables permanently. [source%nowrap,bash,numbered] ---- # export APEX_USER=apexuser -# cd /opt/ericsson/apex/apex +# cd /opt/app/policy/apex-pdp/apex-pdp # export APEX_HOME=`pwd` ---- [source%nowrap,tcsh,numbered] ---- # setenv APEX_USER apexuser -# cd /opt/ericsson/apex/apex +# cd /opt/app/policy/apex-pdp/apex-pdp # setenv APEX_HOME `pwd` ---- | @@ -77,7 +77,7 @@ The last row explains how to set those variables permanently. ---- # env \| grep APEX APEX_USER=apexuser -APEX_HOME=/opt/ericsson/apex/apex +APEX_HOME=/opt/app/policy/apex-pdp/apex-pdp ---- | [source%nowrap,bat,numbered,subs="attributes+"] @@ -125,7 +125,7 @@ Configure the APEX logging settings to your requirements, for instance: Edit the file `$APEX_HOME/etc/logback.xml` for any required changes. To change the log directory change the line -`<property name="VAR_LOG" value="/var/log/ericsson/apex/" />` +`<property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />` to @@ -148,8 +148,8 @@ This is important when APEX was installed manually or when the log directory was | [source%nowrap,sh,numbered] ---- -mkdir -p /var/log/ericsson/apex -chown -R apexuser:apexuser /var/log/ericsson/apex +mkdir -p /var/log/onap/policy/apex-pdp +chown -R apexuser:apexuser /var/log/onap/policy/apex-pdp ---- | [source%nowrap,bat,numbered,subs="attributes+"] diff --git a/src/site-docs/adoc/fragments/install-guide/docker.adoc b/src/site-docs/adoc/fragments/install-guide/docker.adoc index be5273a48..6f63956aa 100644 --- a/src/site-docs/adoc/fragments/install-guide/docker.adoc +++ b/src/site-docs/adoc/fragments/install-guide/docker.adoc @@ -13,248 +13,32 @@ == Running APEX in Docker -This section explains how to create a Docker image that contains the base APEX package and shows how to run APEX in Docker. -It also explains how to use the base APEX Docker image to create application docker images that contain both APEX and your application policies. +Since APEX is in ONAP, we provide a full virtualization environment for the engine. -We assume you have already installed Docker on your host. -For instructions on how to install Docker, see the link:https://www.docker.com/community-edition[Get Started with Docker] page on the Docker web site. +=== Run in ONAP -=== Create the APEX Base Docker Image +Running APEX from the ONAP docker repository only requires 2 commands: -You need only perform this task once to create an APEX base image that you can use as a base for your applications from then on. -This task sets up an Ubuntu Docker image and then installs Java and APEX on Ubuntu running in the Docker image. - -. Create an empty directory, here the directory is called `apex`, and change into that directory -+ -[source%nowrap,bash,numbered] ----- -# mkdir apex -# cd apex +. Log into the ONAP docker repo +[source%nowrap,sh,numbered] ---- -+ -. Copy the APEX Debian package from the APEX download site into the directory -. Open a text editor and create a file called `Dockerfile` in your directory -. Paste the following text into the editor that is editing `Dockerfile` -+ -[source%nowrap,bash,numbered,subs="attributes+"] +docker login -u docker -p docker nexus3.onap.org:10003 ---- -# -# Docker file to build an image that runs APEX on Java 8 in Ubuntu -# -FROM ubuntu:16.04 -MAINTAINER <YOUR> <NAME> <YOUR>.<NAME>@ericsson.com - -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y software-properties-common && \ - add-apt-repository ppa:webupd8team/java -y && \ - apt-get update && \ - echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ - apt-get install -y oracle-java8-installer - -RUN mkdir /packages -COPY apex-apps.uservice-packages-{release-version}-full.deb /packages -RUN dpkg -i packages/apex-apps.uservice-packages-{release-version}-full.deb -RUN rm /packages/apex-apps.uservice-packages-{release-version}-full.deb - -ENV PATH /opt/ericsson/apex/apex/bin:$PATH - -RUN apt-get clean - -RUN chown -R apexuser:apexuser /home/apexuser/* -WORKDIR /home/apexuser - +. Run the APEX docker image +[source%nowrap,sh,numbered] ---- -+ -. Replace the fields <YOUR> and <NAME> above with your name and email address -. Save the `Dockerfile` -. An example working base `Dockerfile` appears below -+ -[source%nowrap,bash,numbered,subs="attributes+"] +docker run -it --rm nexus3.onap.org:10003/onap/policy-apex-pdp:latest ---- -# -# Docker file to build an image that runs APEX on Java 8 in Ubuntu -# -FROM ubuntu:16.04 -MAINTAINER Sean Citizen sean.citizen@ericsson.com -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y software-properties-common && \ - add-apt-repository ppa:webupd8team/java -y && \ - apt-get update && \ - echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ - apt-get install -y oracle-java8-installer -RUN mkdir /packages -COPY apex-apps.uservice-packages-{release-version}-full.deb /packages -RUN dpkg -i packages/apex-apps.uservice-packages-{release-version}-full.deb -RUN rm /packages/apex-apps.uservice-packages-{release-version}-full.deb +=== Build a Docker Image -ENV PATH /opt/ericsson/apex/apex/bin:$PATH +Alternatively, one can use the Dockerfile defined in the Docker package to build an image. -RUN apt-get clean - -RUN chown -R apexuser:apexuser /home/apexuser/* -WORKDIR /home/apexuser ----- -+ -. Create and tag the base Docker image for APEX using this command -+ -[source%nowrap,bash,numbered] ----- -docker build -t apex/base . -docker tag apex/base apex/base:latest -docker tag apex/base apex/base:{release-version} ----- -+ -. Test the APEX Docker base image with the following command, APEX will start a sample policy: -+ -[source%nowrap,bash,numbered] ----- -docker run --name apex --user=apexuser:apexuser -it --rm -p 12345:12345 apex/base apexEngine.sh -c examples/config/SampleDomain/Stdin2StdoutJsonEventJavascript.json ----- -+ -. Paste the following event into the shell and the APEX Policy will process the event -+ -[source%nowrap,json,numbered] ----- -{ - "nameSpace": "org.onap.policy.apex.sample.events", - "name": "Event0000", - "version": "0.0.1", - "source": "test", - "target": "apex", - "TestSlogan": "Test slogan for External Event0", - "TestMatchCase": 0, - "TestTimestamp": 1469781869269, - "TestTemperature": 9080.866 -} ----- -+ -. APEX returns the following event -+ -[source%nowrap,json,numbered] ----- -{ - "nameSpace" : "org.onap.policy.apex..sample.events", - "name" : "Event0004", - "version" : "0.0.1", - "source" : "", - "target" : "", - "TestActCaseSelected" : 3, - "TestActStateTime" : 1481215910429, - "TestTemperature" : 9080.866, - "TestDecideCaseSelected" : 1, - "TestMatchCaseSelected" : 2, - "TestTimestamp" : 1469781869269, - "TestDecideStateTime" : 1481215910425, - "TestMatchCase" : 0, - "TestSlogan" : "Test slogan for External Event0", - "TestEstablishCaseSelected" : 0, - "TestEstablishStateTime" : 1481215910421, - "TestMatchStateTime" : 1481215910415 -} ----- -+ -. You now have built and tested an APEX base Docker image. - You can connect the APEX Deployment and Monitoring servlet to this APEX engine instance. For example, assuming the APEX Deployment and Monitoring servlet is deploying on the localhost computer on port 8080 you can use the following URL: -+ ----- -http://localhost:8080/apex-services.client-{release-version}/?hostname=0.0.0.0&port=12345 ----- - -=== Create an APEX Application Docker Image using the APEX Base Docker Image - -We assume you have created an APEX application, that you wish to use static deployment, and that you have APEX metadata to add to the base APEX Docker image. - -. 1.Create an empty directory for your application, here the directory is called `myApplication`, and change into that directory -+ -[source%nowrap,bash,numbered] ----- -mkdir myApplication -cd myApplication ----- -+ -. Copy the directories containing your application metadata into that directory, for example, if you have three directories called `myappDirectory0`, `myappDirectory1`, and `myappDirectoryn`, you will have the following directory structure -+ -[source%nowrap,bash,numbered] ----- -ls | cat -myappDirectory0 -myappDirectory1 -myappDirectoryn ----- -+ -. Open a text editor and create a file called `Dockerfile` in your application directory -. Paste the following text into the editor that is editing `Dockerfile` -+ -[source%nowrap,bash,numbered] ----- -# -# Docker file to build an image that runs APEX Applications on Java 8 in Ubuntu -# -FROM apex/base:{release-version} -MAINTAINER <YOUR> <NAME> <YOUR>.<NAME>@ericsson.com - -# Copy your application metadata -COPY <MY_APP_DIRECTORY_0> /home/apexuser/<MY_APP_DIRECTORY_0> -COPY <MY_APP_DIRECTORY_1> /home/apexuser/<MY_APP_DIRECTORY_1> -COPY <MY_APP_DIRECTORY_N> /home/apexuser/<MY_APP_DIRECTORY_N> - -run chown -R apexuser:apexuser /home/apexuser/* ----- -+ -. Edit the template fields - .. Replace the fields <YOUR> and <NAME> with your name and email address - .. Replace the <MY_APP_DIRECTORY_x> fields with the names of your actual application directory names, myappDirectoryx in our example here. Do this for all application directories you have. -. Save the `Dockerfile` -. An example working application `Dockerfile` appears below -+ -[source%nowrap,bash,numbered] ----- -# -# Docker file to build an image that runs APEX Applications on Java 8 in Ubuntu -# -FROM apex/base:{release-version} -MAINTAINER Sean Citizen sean.citizen@ericsson.com - -# Copy your application metadata -COPY myappDirectory0 /home/apexuser/myappDirectory0 -COPY myappDirectory1 /home/apexuser/myappDirectory1 -COPY myappDirectoryn /home/apexuser/myappDirectoryn - -run chown -R apexuser:apexuser /home/apexuser/* ----- -+ -. Create the Docker image for your APEX application using this command -+ -[source%nowrap,bash,numbered] ----- -docker build -t apex/myapplication . ----- -+ -. Test the APEX Docker base image with the following command, APEX will start to a bash shell in the `apexuser` home directory: -+ -[source%nowrap,bash,numbered] ----- -docker run --name myapplication -it --rm -p 12345:12345 apex/myapplication apexBash.sh ----- -+ -. Check that your application directories have been created, the command returns the directory list: -+ -[source%nowrap,bash,numbered] +.APEX Dockerfile +[source%nowrap,sh,numbered,subs="attributes+"] ---- -> pwd -/opt/ericsson -> ls -l -total 16 -drwxr-xr-x 8 apexuser apexuser 4096 Dec 9 13:28 examples -drwxr-xr-x 2 apexuser apexuser 4096 Dec 9 13:28 myappDirectory0 -drwxr-xr-x 2 apexuser apexuser 4096 Dec 9 13:28 myappDirectory1 -drwxr-xr-x 2 apexuser apexuser 4096 Dec 9 13:28 myappDirectoryn +include::{adsite-packages-docker-dir}/main/docker/Dockerfile[APEX Dockerfile] ---- -+ -. You now have built an APEX Application docker image and you can use the `apexEngine.sh` command to run your application using the appropriate configuration file for your application. diff --git a/src/site-docs/adoc/fragments/install-guide/get-source.adoc b/src/site-docs/adoc/fragments/install-guide/get-source.adoc index 11786da4e..0aa97db1e 100644 --- a/src/site-docs/adoc/fragments/install-guide/get-source.adoc +++ b/src/site-docs/adoc/fragments/install-guide/get-source.adoc @@ -12,16 +12,16 @@ // == Get the APEX Source Code -The APEX source code is hosted in as project on Github link:https://github.com/Ericsson/apex[Ericsson:apex]. + +The first APEX source code was hosted on Github in January 2018. +By the end of 2018, APEX was added as a project in the ONAP Policy Framework, released later in the ONAP Casablanca release. + +The APEX source code is hosted in ONAP as project APEX. The current stable version is in the master branch. -Simply clone the master branch from Github using either HTTPS (first example below) or SSH (second example below). +Simply clone the master branch from ONAP using HTTPS. [source%nowrap,sh,numbered] ---- -git clone https://github.com/Ericsson/apex.git +git clone https://gerrit.onap.org/r/policy/apex-pdp ---- -[source%nowrap,sh,numbered] ----- -git clone git@github.com:Ericsson/apex.git ----- diff --git a/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc b/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc deleted file mode 100644 index a8bf3d4f1..000000000 --- a/src/site-docs/adoc/fragments/install-guide/install-monitoring.adoc +++ /dev/null @@ -1,99 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Installing the Web Monitoring Application - -APEX comes with a deployment and monitoring application realized as a servlet. -This requires a _full_ installation of APEX. -This requires a web server that can execute `war` web archives. -We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well. - -Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details. -Start the Tomcat service, or make sure that Tomcat is running. -Locate the APEX monitoring application. - -[source%nowrap,sh,numbered,subs="attributes+"] ----- -$APEX_HOME/war/apex-services.client.monitoring-{release-version}.war ----- - -[source%nowrap,bat,numbered,subs="attributes+"] ----- -%APEX_HOME%\war\apex-services.client.monitoring-{release-version}.war ----- - -There are multiple ways to install the APEX monitoring application: - -- copy the `.war` file into the Tomcat `webapps` folder -- use the Tomcat `Manager App` to deploy via the web interface -- deploy using a REST call to Tomcat - -For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO]. -Once you installed the APEX monitoring application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat. -You should see the APEX monitoring application being installed and running. - -image::install-guide/tomcat-installed.png[Tomcat Application Manager with APEX Monitoring Application] - -In case of errors, examine the log files in the Tomcat log directory. -In a conventional install, those log files are in the logs directory where Tomcat is installed. - -Once the APEX monitoring application is installed, start an APEX engine with the `SampleDomain` configuration as described above. -Wait until the engine is fully started. -Then open a browser (or a new tab) and use the following URL to connect to the APEX monitoring application. -Change the values for the Tomcat port (`10080` in the example), the APEX application version (`{release-version}` in the example), and the APEX management port (`12345` in the example, taken from the example configuration) to your local settings. -If your browser is not opened on the same host as the APEX engine runs, change `localhost` to the host name with the APEX engine. - -[source%nowrap,url,subs="attributes+"] ----- -http://localhost:10080/apex-services.client-{release-version}/?hostname=localhost&port=12345 ----- - -The browser will now show the APEX monitoring application. - -image::install-guide/monitoring-app.png[APEX Monitoring and Deployment Application] - -Now send some events to the APEX engine. -The configuration is for standard input, so simply paste the following event into the APEX engine console. - -[source%nowrap,json,numbered] ----- -{ - "nameSpace": "org.onap.policy.apex.sample.events", - "name": "Event0000", - "version": "0.0.1", - "source": "test", - "target": "apex", - "TestSlogan": "Test slogan for External Event0", - "TestMatchCase": 0, - "TestTimestamp": 1469781869269, - "TestTemperature": 9080.866 -} ----- - -When events are sent to APEX, the monitoring application will show all engine status changes. -The following screen shot show the engine status after passing several events into the engine. - -image::install-guide/monitoring-app-status.png[APEX Monitoring: status] - -To terminate this setting, first use `CTRL+C` in the engine console to terminate the engine. -Within a few seconds, the APEX monitoring application will terminate as well with a connection error: - ----- -Error connecting to Apex Engine Service at localhost:12345 -cound not handshake with server localhost:12345 -See detailed message in log ----- - -Terminate the browser now (or the tab with the application). -Finally, if you do not want to use Tomcat for any other applications, terminate the Tomcat server as well. - diff --git a/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc b/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc deleted file mode 100644 index 721ede0a9..000000000 --- a/src/site-docs/adoc/fragments/install-guide/install-resteditor.adoc +++ /dev/null @@ -1,60 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Installing the REST Editor - -APEX comes with a RESR Editor application realized as a servlett. -This requires a _full_ installation of APEX. -This requires a web server that can execute `war` web archives. -We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well. - -Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details. -Start the Tomcat service, or make sure that Tomcat is running. -Locate the APEX monitoring application in your local APEX installation. - -[source%nowrap,sh,numbered,subs="attributes+"] ----- -$APEX_HOME/war/apex-services.client-editor-{release-version}.war ----- - -[source%nowrap,bat,numbered,subs="attributes+"] ----- -%APEX_HOME%\war\apex-services.client-editor-{release-version}.war ----- - -There are multiple ways to install the APEX monitoring application: - -- copy the `.war` file into the Tomcat `webapps` folder -- use the Tomcat `Manager App` to deploy via the web interface -- deploy using a REST call to Tomcat - -For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO]. -Once you installed the APEX monitoring application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat. -You should see the APEX REST Editor application being installed and running. - -In case of errors, examine the log files in the Tomcat log directory. -In a conventional install, those log files are in the logs directory where Tomcat is installed. - -Once the APEX REST Editor is installed, open a browser (or a new tab) and use the following URL to connect to the APEX monitoring application. -Change the values for the Tomcat port (`10080` in the example), the APEX REST EDITOR version (`{release-version}` in the example), and the APEX management port (`12345` in the example, taken from the example configuration) to your local settings. -If your browser is not opened on the same host as the APEX engine runs, change `localhost` to the host name with the APEX engine. - -[source%nowrap,url,subs="attributes+"] ----- -http://localhost:10080/apex%2Dauth.rest%2D{release-version}/ ----- - -The browser will now show the APEX REST Editor. - -Terminate the browser now (or the tab with the application). -Finally, if you do not want to use Tomcat for any other applications, terminate the Tomcat server as well. diff --git a/src/site-docs/adoc/fragments/install-guide/install-wars.adoc b/src/site-docs/adoc/fragments/install-guide/install-wars.adoc new file mode 100755 index 000000000..2de1e0b89 --- /dev/null +++ b/src/site-docs/adoc/fragments/install-guide/install-wars.adoc @@ -0,0 +1,46 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== Installing WAR Applications +APEX comes with a set of WAR files. +These are complete applications that can be installed and run in an application server. +All of these applications are realized as servlets. +You can find the WAR applications in `$APEX_HOME/war` (UNIX, Cygwin) or `%APEX_HOME%\war` (Windows). + +Installing and using the WAR applications requires a web server that can execute `war` web archives. +We recommend to use link:https://tomcat.apache.org/[Apache Tomcat], however other web servers can be used as well. + +Install Apache Tomcat including the `Manager App`, see link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Configuring_Manager_Application_Access[V9.0 Docs] for details. +Start the Tomcat service, or make sure that Tomcat is running. + +There are multiple ways to install the APEX WAR applications: + +- copy the `.war` file into the Tomcat `webapps` folder +- use the Tomcat `Manager App` to deploy via the web interface +- deploy using a REST call to Tomcat + +For details on how to install `war` files please consult the link:https://tomcat.apache.org/tomcat-9.0-doc/index.html[Tomcat Documentation] or the link:https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html[Manager App HOW-TO]. +Once you installed an APEX WAR application (and wait for sufficient time for Tomcat to finalize the installation), open the `Manager App` in Tomcat. +You should see the APEX WAR application being installed and running. + +In case of errors, examine the log files in the Tomcat log directory. +In a conventional install, those log files are in the logs directory where Tomcat is installed. + +The current APEX version provides the following WAR applications: + +* client-deployment-{release-version}.war - a client to deploy new policy models to a running engine +* client-editor-{release-version}.war - the standard policy REST editor GUI +* client-monitoring-{release-version}.war - a client for monitoring a running APEX engine +* client-full-{release-version}.war - a full client with a one-stop-access to deployment, monitoring, and REST editor +* examples-servlet-{release-version}.war - an example APEX servlet + diff --git a/src/site-docs/adoc/fragments/install-guide/install.adoc b/src/site-docs/adoc/fragments/install-guide/install.adoc index a1e95347a..57d78739e 100644 --- a/src/site-docs/adoc/fragments/install-guide/install.adoc +++ b/src/site-docs/adoc/fragments/install-guide/install.adoc @@ -21,9 +21,9 @@ APEX can be installed in different ways: === Install with RPM and DPKG The install distributions of APEX automatically install the system. -The installation directory is `/opt/ericsson/apex`. -Log files are located in `/var/log/ericsson/apex`. -The latest APEX version will be available as `/opt/ericsson/apex/apex`. +The installation directory is `/opt/app/policy/apex-pdp`. +Log files are located in `/var/log/onap/policy/apex-pdp`. +The latest APEX version will be available as `/opt/app/policy/apex-pdp/apex-pdp`. For the installation, a new user `apexuser` and a new group `apexuser` will be created. This user owns the installation directories and the log file location. @@ -35,7 +35,7 @@ The user is also used by the standard APEX start scripts to run APEX with this u | [source%nowrap,sh,numbered,subs="attributes+"] ---- -# sudo rpm -i apex-apps.uservice-packages-{release-version}-full.rpm +# sudo rpm -i apex-pdp-package-full-{release-version}.rpm ********************preinst******************* arguments 1 ********************************************** @@ -54,10 +54,10 @@ arguments 1 | [source%nowrap,sh,numbered,subs="attributes+"] ---- -# sudo dpkg -i apex-apps.uservice-packages-{release-version}-full.deb +# sudo dpkg -i apex-pdp-package-full-{release-version}.deb Selecting previously unselected package apex-uservice. (Reading database ... 288458 files and directories currently installed.) -Preparing to unpack apex-apps.uservice-packages-{release-version}-full.deb ... +Preparing to unpack apex-pdp-package-full-{release-version}.deb ... ********************preinst******************* arguments install ********************************************** @@ -86,8 +86,8 @@ The following example shows how to install APEX in `/opt/apex` and create a link # mkdir apex # cd apex # mkdir apex-full-{release-version} -# tar xvfz ~/Downloads/apex-apps.uservice-packages-{release-version}-full.tar.gz -C apex-full-{release-version} -# ln -s apex apex-apps.uservice-packages-{release-version} +# tar xvfz ~/Downloads/apex-pdp-package-full-{release-version}.tar.gz -C apex-full-{release-version} +# ln -s apex apex-pdp-package-full-{release-version} ---- @@ -104,8 +104,6 @@ image::install-guide/win-extract-tar.png[Extract the APEX distribution] Inside the new APEX folder you see the main directories: `bin`, `etc`, `examples`, `lib`, and `war` -image::install-guide/win-extracted.png[Extracted APEX distribution] - Once extracted, please rename the created folder to `apex-full-{release-version}`. This will keep the directory name in line with the rest of this documentation. @@ -119,7 +117,7 @@ Assuming `7Zip` is installed in the standard folder, simply run the following co ---- >c: >cd \apex ->"\Program Files\7-Zip\7z.exe" x apex-apps.uservice-packages-{release-version}-full.tar.gz -so | "\Program Files\7-Zip\7z.exe" x -aoa -si -ttar -o"apex-full-{release-version}" +>"\Program Files\7-Zip\7z.exe" x apex-pdp-package-full-{release-version}.tar.gz -so | "\Program Files\7-Zip\7z.exe" x -aoa -si -ttar -o"apex-full-{release-version}" ---- APEX is now installed in the folder `C:\apex\apex-full-{release-version}`. @@ -188,7 +186,7 @@ The following example show how to change to the target directory and how it shou | [source%nowrap,sh,numbered] ---- -# cd modules/apex-apps/apex-apps.uservice/apex-apps.uservice-packaging/apex-apps.uservice-package-full/target +# cd packages/apex-pdp-package-full/target # ls -l ---- @@ -208,7 +206,7 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/screens/target-ls-unix.txt[s | [source%nowrap,bat,numbered] ---- ->cd modules\apex-apps\apex-apps.uservice\apex-apps.uservice-packaging\apex-apps.uservice-package-full\target +>cd packages\apex-pdp-package-full\target >dir ---- diff --git a/src/site-docs/adoc/fragments/install-guide/layout.adoc b/src/site-docs/adoc/fragments/install-guide/layout.adoc index ef3d1cf5b..bbb21021f 100644 --- a/src/site-docs/adoc/fragments/install-guide/layout.adoc +++ b/src/site-docs/adoc/fragments/install-guide/layout.adoc @@ -17,8 +17,8 @@ A full installation of APEX comes with the following layout. ---- $APEX_HOME - ├───bin <1> - ├───etc <2> + ├───bin <1> + ├───etc <2> │ ├───editor │ ├───hazelcast │ ├───infinispan @@ -27,11 +27,13 @@ $APEX_HOME │ ├───config <4> │ ├───docker <5> │ ├───events <6> - │ ├───models <7> - │ └───scripts <8> - ├───lib <9> - │ └───applications <10> - └───war <11> + │ ├───html <7> + │ ├───models <8> + │ └───scripts <9> + ├───lib <10> + │ └───applications <11> + └───war <12> + ---- <1> binaries, mainly scripts (bash and bat) to start the APEX engine and applications <2> configuration files, such as logback (logging) and third party library configurations @@ -39,9 +41,10 @@ $APEX_HOME <4> configurations for the examples (with sub directories for individual examples) <5> Docker files and additional Docker instructions for the exampples <6> example events for the examples (with sub directories for individual examples) -<7> the policy models, generated for each example (with sub directories for individual examples) -<8> additional scripts for the examples (with sub directories for individual examples) -<9> the library folder with all Java JAR files -<10> applications, also known as jar with dependencies (or fat jars), individually deployable -<11> WAR files for web applications +<7> HTML files for some examples, e.g. the Decisionmaker example +<8> the policy models, generated for each example (with sub directories for individual examples) +<9> additional scripts for the examples (with sub directories for individual examples) +<10> the library folder with all Java JAR files +<11> applications, also known as jar with dependencies (or fat jars), individually deployable +<12> WAR files for web applications diff --git a/src/site-docs/adoc/fragments/install-guide/verify.adoc b/src/site-docs/adoc/fragments/install-guide/verify.adoc index 782c2723e..6774a8489 100644 --- a/src/site-docs/adoc/fragments/install-guide/verify.adoc +++ b/src/site-docs/adoc/fragments/install-guide/verify.adoc @@ -14,13 +14,10 @@ == Verify the APEX Installation When APEX is installed and all settings are realized, the installation can be verified. -=== Verify a Minimal Installation -The minimal installation does not come with any configuration or policy model. -It is therefore not possible to test all APEX features, or an engine running with policies. - -However, one can verify that the engine starts up to the point where it tries to load a configuration. - +=== Verify Installation - run Engine +A simple verification of an APEX installation can be done by simply starting the APEX engine without any configuration. On Unix (or Cygwin) start the engine using `$APEX_HOME/bin/apexEngine.sh`. +On Windows start the engine using `%APEX_HOME%\bin\apexEngine.bat`. The engine will fail to fully start. However, if the output looks similar to the following line, the APEX installation is realized. @@ -28,22 +25,26 @@ However, if the output looks similar to the following line, the APEX installatio ---- Starting Apex service with parameters [] . . . start of Apex service failed: Apex configuration file was not specified as an argument -2017-07-28 13:18:44,266 Apex [main] ERROR c.e.a.service.engine.main.ApexMain - start of Apex service failed: ----- +2018-09-03 13:11:33,914 Apex [main] ERROR o.o.p.a.service.engine.main.ApexMain - start of Apex service failed +org.onap.policy.apex.model.basicmodel.concepts.ApexException: Apex configuration file was not specified as an argument + at org.onap.policy.apex.service.engine.main.ApexCommandLineArguments.validateReadableFile(ApexCommandLineArguments.java:267) + at org.onap.policy.apex.service.engine.main.ApexCommandLineArguments.validate(ApexCommandLineArguments.java:161) + at org.onap.policy.apex.service.engine.main.ApexMain.<init>(ApexMain.java:68) + at org.onap.policy.apex.service.engine.main.ApexMain.main(ApexMain.java:165) +usage: org.onap.policy.apex.service.engine.main.ApexMain [options...] +options +-c,--config-file <CONFIG_FILE>the full path to the configuration file to use, the configuration file must be a Json file + containing the Apex configuration parameters +-h,--help outputs the usage of this command +-m,--model-file <MODEL_FILE> the full path to the model file to use, if set it overrides the model file set in the + configuration file +-v,--version outputs the version of Apex -On Windows start the engine using `%APEX_HOME%\bin\apexEngine.bat`. -The engine will fail to fully start. -However, if the output looks similar to the following line, the APEX installation is realized. - -[source%nowrap,bat,numbered] ----- -Starting Apex service with parameters [] . . . -start of Apex service failed: Apex configuration file was not specified as an argument -2017-07-28 13:18:44,266 Apex [main] ERROR c.e.a.service.engine.main.ApexMain - start of Apex service failed: ---- -=== Verify a Full Installation - run an Example + +=== Verify Installation - run an Example A full APEX installation comes with several examples. Here, we can fully verify the installation by running one of the examples. @@ -55,7 +56,7 @@ Note: Cygwin executes scripts as Unix scripts but runs Java as a Windows applica ---- # $APEX_HOME/bin/apexEngine.sh -c $APEX_HOME/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json # <1> # $APEX_HOME/bin/apexEngine.sh -c C:/apex/apex-full-{release-version}/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json # <2> ->%APEX_HOME%\bin\apexEngine.bat -c %APEX_HOME%\examples\config\SampleDomain\Stdin2StdoutJsonEventJava.json @@ <3> +>%APEX_HOME%\bin\apexEngine.bat -c %APEX_HOME%\examples\config\SampleDomain\Stdin2StdoutJsonEventJava.json :: <3> ---- <1> UNIX <2> Cygwin @@ -67,12 +68,19 @@ Assuming the logging levels are not change (default level is `info`), the output [source%nowrap,sh,numbered] ---- -2017-07-28 13:20:54,673 Apex [main] INFO c.e.a.s.engine.runtime.EngineService - engine model SamplePolicyModelJAVA:0.0.1 added to the engine-AxArtifactKey:(name=MyApexEngine-3,version=0.0.1) -2017-07-28 13:20:54,675 Apex [Apex-apex-engine-service-0:0] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-0,version=0.0.1) processing ... -2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:1] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-1,version=0.0.1) processing ... -2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:2] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-2,version=0.0.1) processing ... -2017-07-28 13:20:54,677 Apex [Apex-apex-engine-service-0:3] INFO c.e.a.s.engine.runtime.EngineService - Engine AxArtifactKey:(name=MyApexEngine-3,version=0.0.1) processing ... -2017-07-28 13:20:54,680 Apex [main] INFO c.e.a.s.e.r.impl.EngineServiceImpl - Added the action listener to the engine +Starting Apex service with parameters [-c, v:/dev/ericsson/apex/onap/apex-pdp/packages/apex-pdp-package-full/target/install_hierarchy/examples/config/SampleDomain/Stdin2StdoutJsonEventJava.json] . . . +2018-09-05 15:16:42,800 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-0:0.0.1 . +2018-09-05 15:16:42,804 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-1:0.0.1 . +2018-09-05 15:16:42,804 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-2:0.0.1 . +2018-09-05 15:16:42,805 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Created apex engine MyApexEngine-3:0.0.1 . +2018-09-05 15:16:42,805 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - APEX service created. +2018-09-05 15:16:43,962 Apex [main] INFO o.o.p.a.s.e.e.EngDepMessagingService - engine<-->deployment messaging starting . . . +2018-09-05 15:16:43,963 Apex [main] INFO o.o.p.a.s.e.e.EngDepMessagingService - engine<-->deployment messaging started +2018-09-05 15:16:44,987 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-0:0.0.1 +2018-09-05 15:16:45,112 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-1:0.0.1 +2018-09-05 15:16:45,113 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-2:0.0.1 +2018-09-05 15:16:45,113 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Registering apex model on engine MyApexEngine-3:0.0.1 +2018-09-05 15:16:45,120 Apex [main] INFO o.o.p.a.s.e.r.impl.EngineServiceImpl - Added the action listener to the engine Started Apex service ---- @@ -107,23 +115,23 @@ Pasting the input event multiple times will produce output events with different [source%nowrap,json,numbered] ---- { - "nameSpace" : "org.onap.policy.apex.sample.events", - "name" : "Event0004", - "version" : "0.0.1", - "source" : "Act", - "target" : "Outside", - "TestActCaseSelected" : 1, - "TestActStateTime" : 1499280954832, - "TestTemperature" : 9080.866, - "TestDecideCaseSelected" : 2, - "TestMatchCaseSelected" : 2, - "TestTimestamp" : 1469781869269, - "TestDecideStateTime" : 1499280954831, - "TestMatchCase" : 0, - "TestSlogan" : "Test slogan for External Event0", - "TestEstablishCaseSelected" : 1, - "TestEstablishStateTime" : 1499280954831, - "TestMatchStateTime" : 1499280954828 + "name": "Event0004", + "version": "0.0.1", + "nameSpace": "org.onap.policy.apex.sample.events", + "source": "Act", + "target": "Outside", + "TestActCaseSelected": 2, + "TestActStateTime": 1536157104627, + "TestDecideCaseSelected": 0, + "TestDecideStateTime": 1536157104625, + "TestEstablishCaseSelected": 0, + "TestEstablishStateTime": 1536157104623, + "TestMatchCase": 0, + "TestMatchCaseSelected": 1, + "TestMatchStateTime": 1536157104620, + "TestSlogan": "Test slogan for External Event0", + "TestTemperature": 9080.866, + "TestTimestamp": 1469781869269 } ---- |==================== @@ -147,20 +155,20 @@ Start the REST editor as follows. ---- The script will start a simple web server (link:https://javaee.github.io/grizzly/[Grizzly]) and deploy a `war` web archive in it. -Once the editor is started, it will be available on `localhost:18988`. +Once the editor is started, it will be available on `localhost:18989`. The last few line of the messages should be: [source%nowrap,sh,numbered] ---- -Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18988/apex/, TTL=-1sec], State=READY) starting at http://localhost:18988/apex/ . . . -Jul 28, 2017 1:22:15 PM org.glassfish.grizzly.http.server.NetworkListener start -INFO: Started listener bound to [localhost:18988] -Jul 28, 2017 1:22:15 PM org.glassfish.grizzly.http.server.HttpServer start +Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=READY) starting at http://localhost:18989/apexservices/ . . . +Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.NetworkListener start +INFO: Started listener bound to [localhost:18989] +Sep 05, 2018 10:35:57 PM org.glassfish.grizzly.http.server.HttpServer start INFO: [HttpServer] Started. -Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18988/apex/, TTL=-1sec], State=RUNNING) started at http://localhost:18988/apex/ +Apex Editor REST endpoint (ApexEditorMain: Config=[ApexEditorParameters: URI=http://localhost:18989/apexservices/, TTL=-1sec], State=RUNNING) started at http://localhost:18989/apexservices/ ---- -Now open a browser (Firefox, Chrome, Opera, Internet Explorer) and use the URL `http://localhost:18988/`. +Now open a browser (Firefox, Chrome, Opera, Internet Explorer) and use the URL `http://localhost:18989/`. This will connect the browser to the started REST editor. The start screen should be as follows. diff --git a/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc b/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc index 6013e7c98..2a954210a 100644 --- a/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/5g-2015.adoc @@ -35,12 +35,12 @@ a| [source,bibtex] ---- @article{VanDerMeer2015b, - Author = {van der Meer, Sven}, - Journal = {IEEE First International 5G Summit}, - Month = {May}, - Title = {{5G \& Autonomic Networking - Challenges in closing the Loop}}, - Url = {https://ieeetv.ieee.org/mobile/video/princeton-5g-summit-sven-van-der-meer-keynote-automatic-automation}, - Year = {2015}, + Author = {van der Meer, Sven}, + Journal = {IEEE First International 5G Summit}, + Month = may, + Title = {{5G \& Autonomic Networking - Challenges in closing the Loop}}, + Year = {2015} +} ---- |=== diff --git a/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc b/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc index 27042a949..feb6e38ea 100644 --- a/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/cnsm-2014.adoc @@ -33,19 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/cnsm/KeeneyMF14, - author = {John Keeney and - Sven van der Meer and - Liam Fallon}, - title = {Towards Real-time Management of - Virtualized Telecommunication Networks}, - booktitle = {10th International Conference on Network and Service Management, - {CNSM} 2014, Rio de Janeiro, Brazil, November 17-21, 2014}, + author = {John Keeney and Sven van der Meer and Liam Fallon}, + title = {Towards Real-time Management of Virtualized Telecommunication Networks}, + booktitle = {10th International Conference on Network and Service Management, {CNSM} 2014, Rio de Janeiro, Brazil, November 17-21, 2014}, pages = {388--393}, year = {2014}, crossref = {DBLP:conf/cnsm/2014}, - url = {https://doi.org/10.1109/CNSM.2014.7014200}, doi = {10.1109/CNSM.2014.7014200}, - timestamp = {Tue, 23 May 2017 01:11:56 +0200}, biburl = {http://dblp.org/rec/bib/conf/cnsm/KeeneyMF14}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc b/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc index 01bd55d00..a90ea3351 100644 --- a/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/cnsm-2015.adoc @@ -33,19 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/cnsm/MeerKF15, - author = {Sven van der Meer and - John Keeney and - Liam Fallon}, - title = {Dynamically Adaptive Policies for - Dynamically Adaptive Telecommunications Networks}, - booktitle = {11th International Conference on Network and Service Management, - {CNSM} 2015, Barcelona, Spain, November 9-13, 2015}, + author = {Sven van der Meer and John Keeney and Liam Fallon}, + title = {Dynamically Adaptive Policies for Dynamically Adaptive Telecommunications Networks}, + booktitle = {11th International Conference on Network and Service Management, {CNSM} 2015, Barcelona, Spain, November 9-13, 2015}, pages = {182--186}, year = {2015}, crossref = {DBLP:conf/cnsm/2015}, - url = {https://doi.org/10.1109/CNSM.2015.7367357}, doi = {10.1109/CNSM.2015.7367357}, - timestamp = {Tue, 23 May 2017 01:11:56 +0200}, biburl = {http://dblp.org/rec/bib/conf/cnsm/MeerKF15}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc index 0c9000a02..dffe3217e 100644 --- a/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/im-2013.adoc @@ -33,19 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/im/KeeneyMH13, - author = {John Keeney and - Sven van der Meer and - Gabriel Hogan}, - title = {A Recommender-system for Telecommunications - Network Management Actions}, - booktitle = {2013 {IFIP/IEEE} International Symposium on Integrated - Network Management - {IM} 2013, Ghent, Belgium, May 27-31, 2013}, + author = {John Keeney and Sven van der Meer and Gabriel Hogan} + title = {A Recommender-system for Telecommunications Network Management Actions}, + booktitle = {2013 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2013, Ghent, Belgium, May 27-31, 2013}, pages = {760--763}, year = {2013}, crossref = {DBLP:conf/im/2013}, url = {http://ieeexplore.ieee.org/document/6573072/}, - timestamp = {Sun, 30 Apr 2017 09:41:39 +0200}, biburl = {http://dblp.org/rec/bib/conf/im/KeeneyMH13}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc index 0daeebbe2..634190b2d 100644 --- a/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/im-2017a.adoc @@ -33,19 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/im/FallonKM17, - author = {Liam Fallon and - John Keeney and - Sven van der Meer}, + author = {Liam Fallon and John Keeney and Sven van der Meer}, title = {Distributed Management Information Models}, - booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated - Network Management - {IM} 2017, Lisbon, Portugal, May 8-12, 2017}, + booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2017, Lisbon, Portugal, May 8-12, 2017}, pages = {414--420}, year = {2017}, crossref = {DBLP:conf/im/2017}, - url = {https://doi.org/10.23919/INM.2017.7987306}, doi = {10.23919/INM.2017.7987306}, - timestamp = {Fri, 28 Jul 2017 12:12:57 +0200}, biburl = {http://dblp.org/rec/bib/conf/im/FallonKM17}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc b/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc index 92a59bcd1..2294bb867 100644 --- a/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/im-2017b.adoc @@ -33,22 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/im/FallonKMQM17, - author = {Liam Fallon and - John Keeney and - Mark McFadden and - John Quilty and - Sven van der Meer}, - title = {Using the {COMPA} Autonomous Architecture - for Mobile Network Security}, - booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated - Network Management - {IM} 2017, Lisbon, Portugal, May 8-12, 2017}, + author = {Liam Fallon and John Keeney and Mark McFadden and John Quilty and Sven van der Meer}, + title = {Using the {COMPA} Autonomous Architecture for Mobile Network Security}, + booktitle = {2017 {IFIP/IEEE} International Symposium on Integrated Network Management {IM} 2017, Lisbon, Portugal, May 8-12, 2017}, pages = {747--753}, year = {2017}, crossref = {DBLP:conf/im/2017}, - url = {https://doi.org/10.23919/INM.2017.7987370}, doi = {10.23919/INM.2017.7987370}, - timestamp = {Fri, 28 Jul 2017 12:12:57 +0200}, biburl = {http://dblp.org/rec/bib/conf/im/FallonKMQM17}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc b/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc index 157ed86dd..94a4d9104 100644 --- a/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/monami-2013.adoc @@ -26,28 +26,20 @@ h| Abstract | The explosion in consumer devices has resulted in a significant increase in the number of mobile telecommunications nodes. As a result of increased device and node numbers, network operators have experienced a large increase in associated events. In such an environment, scalability and performance of event handling become important aspects for Operation Support Systems (OSS). A traditional approach has been to centralize monitoring and decision functions. The scale of events in a modern mobile telecommunications network means such centralized implementations are performance limited. What is required is a remodeling of Complex Event Processing (monitoring) and Policies (decision making) towards a distributed yet coordinated system. This paper describes an extensible architecture for such a distributed policy-based event processing system. Our approach provides a pluggable mechanism into which various event handling functionality can be integrated. In order to illustrate the applicability of our approach we evaluate the performance of 2 message queuing protocols, Advanced Message Queuing Protocol (AMQP) based RabbitMQ and Java Web Sockets. Our performance evaluation illustrates the ability of our architecture to transparently integrate alternative event processing technologies. h| Links -| ### +| link:https://www.researchgate.net/publication/259785930_Cloudifying_Mobile_Network_Management_Performance_Tests_of_Event_Distribution_and_Rule_Processing[ResarchGate] [accessed Aug 11, 2017] h| BibTeX a| [source,bibtex] ---- @inproceedings{DBLP:conf/monami/DawarMKFB13, - author = {Sumit Dawar and - Sven van der Meer and - John Keeney and - Enda Fallon and - Tom Bennet}, - title = {Cloudifying Mobile Network Management: Performance Tests - of Event Distribution and Rule Processing}, - booktitle = {Mobile Networks and Management - 5th International Conference, - {MONAMI} 2013, Cork, Ireland, September 23-25, 2013}, + author = {Sumit Dawar and Sven van der Meer and John Keeney and Enda Fallon and Tom Bennet}, + title = {Cloudifying Mobile Network Management: Performance Tests of Event Distribution and Rule Processing}, + booktitle = {Mobile Networks and Management - 5th International Conference, {MONAMI} 2013, Cork, Ireland, September 23-25, 2013}, pages = {94--107}, year = {2013}, crossref = {DBLP:conf/monami/2013}, - url = {https://doi.org/10.1007/978-3-319-04277-0_8}, doi = {10.1007/978-3-319-04277-0_8}, - timestamp = {Wed, 24 May 2017 08:27:31 +0200}, biburl = {http://dblp.org/rec/bib/conf/monami/DawarMKFB13}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc index ee3dceea7..b38278d70 100644 --- a/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2016.adoc @@ -33,18 +33,13 @@ a| [source,bibtex] ---- @inproceedings{DBLP:conf/noms/FallonMK16, - author = {Liam Fallon and - Sven van der Meer and - John Keeney}, + author = {Liam Fallon and Sven van der Meer and John Keeney}, title = {Apex: An Engine for Dynamic Adaptive Policy Execution}, - booktitle = {2016 {IEEE/IFIP} Network Operations and Management Symposium, - {NOMS} 2016, Istanbul, Turkey, April 25-29, 2016}, + booktitle = {2016 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2016, Istanbul, Turkey, April 25-29, 2016}, pages = {699--702}, year = {2016}, crossref = {DBLP:conf/noms/2016}, - url = {https://doi.org/10.1109/NOMS.2016.7502880}, doi = {10.1109/NOMS.2016.7502880}, - timestamp = {Fri, 19 May 2017 01:26:25 +0200}, biburl = {http://dblp.org/rec/bib/conf/noms/FallonMK16}, bibsource = {dblp computer science bibliography, http://dblp.org} } diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc index b7558da4e..d580fb387 100644 --- a/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc @@ -23,37 +23,26 @@ h| Venue | IEEE NOMS, Taipei, April 2018 h| Abstract -| Since the 1970’s it has been acknowledged that a -complex system can be broken into (a) its invariant functional -parts (mechanism), and (b) the externalized choices for how the -system should behave (policy). Policy-based management’s main -objective is to separate and externalize the decisions required by a -system from the mechanisms provided by the system, and provide -a way to define and evaluate these decisions. A few decades later, -we have today a plethora of different policy models and even more -policy languages – plus tooling – offering policy-based solutions -for virtually any use case and scenario. However, policy-based -management as a standalone domain has never been evaluated -in terms of which parts are variant / invariant, i.e. which parts -of policy-based management can be domain-, model-, language-, -usecase-independent. In this paper, we introduce and define a -formal universal policy model that does exactly that. The result -is a model that can be used to design, implement, and deploy -immutable policy infrastructure (engine and executor) being able -to execute (virtually) any policy model. +| Since the 1970’s it has been acknowledged that a complex system can be broken into (a) its invariant functional parts (mechanism), and (b) the externalized choices for how the system should behave (policy). Policy-based management’s main objective is to separate and externalize the decisions required by a system from the mechanisms provided by the system, and provide a way to define and evaluate these decisions. A few decades later, we have today a plethora of different policy models and even more policy languages – plus tooling – offering policy-based solutions for virtually any use case and scenario. However, policy-based management as a standalone domain has never been evaluated in terms of which parts are variant / invariant, i.e. which parts of policy-based management can be domain-, model-, language-, usecase-independent. In this paper, we introduce and define a formal universal policy model that does exactly that. The result is a model that can be used to design, implement, and deploy immutable policy infrastructure (engine and executor) being able to execute (virtually) any policy model. + +h| Links +| link:https://www.researchgate.net/publication/325057975_Taming_Policy_Complexity_Model_to_Execution[Research Gate] [accessed Sep 4, 2018] h| BibTeX a| [source,bibtex] ---- -@inproceedings{noms/MeerMK18a, - author = {Sven van der Meer and - John Keeney and - Liam Fallon}, - title = {Taming Policy Complexity: Model to Execution}, - booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, - {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, - year = {2018} +@inproceedings{DBLP:conf/noms/MeerKF18, + author = {Sven van der Meer and John Keeney and Liam Fallon}, + title = {Taming policy complexity: Model to execution}, + booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, + pages = {1--8}, + year = {2018}, + crossref = {DBLP:conf/noms/2018}, + doi = {10.1109/NOMS.2018.8406172}, + biburl = {https://dblp.org/rec/bib/conf/noms/MeerKF18}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} ---- |=== diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc index 2500e70b1..2c22158fd 100644 --- a/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc @@ -23,33 +23,26 @@ h| Venue | IEEE NOMS, Taipei, April 2018 h| Abstract -| 5G networks will be the first real converged networks -supporting a plethora of different services, each with their -own requirements. A static best-effort approach is no longer -sufficient. Extreme flexibility and dynamicity is required, yet costs -must be drastically reduced. The only way that these conflicting -goals can be achieved is with vastly increased automation in the -provision and operation of our future 5G networks. In this paper -we briefly discuss the facilitators, goals and challenges for 5G -networks. We identify some of the places where automation is not -just helpful, but is in fact required for 5G to become a reality. -We go on to present a conceptual approach for modeling and -achieving autonomic operations and management in 5G networks -positioning modern policy-based management as a key enabler -for autonomic 5G network management. +| 5G networks will be the first real converged networks supporting a plethora of different services, each with their own requirements. A static best-effort approach is no longer sufficient. Extreme flexibility and dynamicity is required, yet costs must be drastically reduced. The only way that these conflicting goals can be achieved is with vastly increased automation in the provision and operation of our future 5G networks. In this paper we briefly discuss the facilitators, goals and challenges for 5G networks. We identify some of the places where automation is not just helpful, but is in fact required for 5G to become a reality. We go on to present a conceptual approach for modeling and achieving autonomic operations and management in 5G networks positioning modern policy-based management as a key enabler for autonomic 5G network management. + +h| Links +| link:https://www.researchgate.net/publication/325057790_5G_Networks_Must_Be_Autonomic?_iepl%5BgeneralViewId%5D=NFUJVNL9bfZcUhlhGPKG13VvHQDRMJhMCBbY&_iepl%5Bcontexts%5D%5B0%5D=searchReact&_iepl%5BviewId%5D=K8kQ3zeC2xUNNSJwMYtpD849IAOlx6jPYj2I&_iepl%5BsearchType%5D=publication&_iepl%5Bdata%5D%5BcountLessEqual20%5D=1&_iepl%5Bdata%5D%5BinteractedWithPosition1%5D=1&_iepl%5Bdata%5D%5BwithEnrichment%5D=1&_iepl%5Bposition%5D=1&_iepl%5BrgKey%5D=PB%3A325057790&_iepl%5BtargetEntityId%5D=PB%3A325057790&_iepl%5BinteractionType%5D=publicationTitle[Research Gate] [accessed Sep 4, 2018] h| BibTeX a| [source,bibtex] ---- -@inproceedings{noms/MeerMK18b, - author = {Sven van der Meer and - John Keeney and - Liam Fallon}, - title = {5G Networks Must Be Autonomic!}, - booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, - {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, - year = {2018} +@inproceedings{DBLP:conf/noms/MeerKF18a, + author = {Sven van der Meer and John Keeney and Liam Fallon}, + title = {5G networks must be autonomic!}, + booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, + pages = {1--5}, + year = {2018}, + crossref = {DBLP:conf/noms/2018}, + doi = {10.1109/NOMS.2018.8406185}, + biburl = {https://dblp.org/rec/bib/conf/noms/MeerKF18a}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} ---- |=== diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc index 96803d828..f3107c015 100644 --- a/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc @@ -30,20 +30,23 @@ There is no substitute for seeing how a network management feature actually perf In this work we present our experiences of building a networking testbed that incorporates an emulated network, a production-grade network controller, an analytics function, and a policy execution environment. This allows users to develop policies for adaptive (closed loop) management of a realistic emulated network. We also present two scenarios where the testbed is used to emulate and mitigate against a temporary and prolonged failure occurring on a network. +h| Links +| link:https://www.researchgate.net/publication/325059988_A_Testbed_For_Policy_Driven_Closed_Loop_Network_Management[Research Gate] [accessed Sep 4, 2018] + h| BibTeX a| [source,bibtex] ---- -@inproceedings{noms/McNamaraMK18, - author = {Joseph McNamara and - John Keeney and - Liam Fallon and - Sven van der Meer and - Enda Fallon}, - title = {A Testbed For Policy Driven Closed Loop Network Management}, - booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, - {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, - year = {2018} +@inproceedings{DBLP:conf/noms/McNamaraKFMF18, + author = {Joseph McNamara and John Keeney and Liam Fallon and Sven van der Meer and Enda Fallon}, + title = {A testbed for policy driven closed loop network management}, + booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, + pages = {1--6}, + year = {2018}, + crossref = {DBLP:conf/noms/2018}, + doi = {10.1109/NOMS.2018.8406144}, + biburl = {https://dblp.org/rec/bib/conf/noms/McNamaraKFMF18}, + bibsource = {dblp computer science bibliography, https://dblp.org} } ---- diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc new file mode 100755 index 000000000..2039de492 --- /dev/null +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc @@ -0,0 +1,51 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== APEX Demo (NOMS'18) + +[width="100%",cols="15%,90%"] +|=== + +h| Title +e| Demo: Adaptive policy execution (APEX) + +h| Venue +| IEEE NOMS, Taipei, April 2018 + +h| Abstract +| This demo focuses on demonstrating features of the Adaptive Policy Execution (APEX) system. APEX is a carrier-grade, production ready, scalable policy engine implementing, based on published theory, universal and immutable policy infrastructure. The demo will showcase the main APEX features, from authoring via deployment to runtime; with three demo use cases. All software and features are available on Github. + +h| Links +| link:https://www.researchgate.net/publication/325058016_Demo_Adaptive_Policy_Execution_APEX[Research Gate] [accessed Sep 4, 2018] + +h| BibTeX +a| +[source,bibtex] +---- +@inproceedings{DBLP:conf/noms/MeerKFM18, + author = {Sven van der Meer and John Keeney and Liam Fallon and Joseph McNamara}, + title = {Demo: Adaptive policy execution {(APEX)}}, + booktitle = {2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, + pages = {1--2}, + year = {2018}, + crossref = {DBLP:conf/noms/2018}, + url = {https://doi.org/10.1109/NOMS.2018.8406117}, + doi = {10.1109/NOMS.2018.8406117}, + timestamp = {Tue, 10 Jul 2018 16:33:52 +0200}, + biburl = {https://dblp.org/rec/bib/conf/noms/MeerKFM18}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} +---- + +|=== + diff --git a/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc b/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc new file mode 100755 index 000000000..00bd7b43c --- /dev/null +++ b/src/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc @@ -0,0 +1,44 @@ +// +// ============LICENSE_START======================================================= +// Copyright (C) 2016-2018 Ericsson. All rights reserved. +// ================================================================================ +// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE +// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode +// +// SPDX-License-Identifier: CC-BY-4.0 +// ============LICENSE_END========================================================= +// +// @author Sven van der Meer (sven.van.der.meer@ericsson.com) +// + +== NOMS 2018, Keynote #6 + +[width="100%",cols="15%,90%"] +|=== + +h| Title +e| What do we actually manage in 5G? - And what is missing? + +h| Venue +| IEEE NOMS, Taipei, April 2018 + +h| Abstract +| We are at the crossroads of yet another technology shift. Networks evolved continuously from TDM to IP, legacy to SDN, PNF to VNF as part of virtualization and now microservices/containers/K8s. All these technologies play a vital role in the evolution of 5G and the future networks will deliver services to many vertical industries. Distributed cloud is key to deliver services that require low latency and high bandwidth. Orchestration and adaptive Policy decisions will be key for automation in 5G networks. In this keynote, we will discuss the requirements and challenges for managing this – massive scale, dynamic, and complex – new environment. We will see what efforts are underway and planned for 5 G management, including open source initiatives such as ONAP. Finally, we will explore what is missing today to tame the 5G management complexity. + +h| Links +| link:http://noms2018.ieee-noms.org/content/keynotes[Event], link:https://www.researchgate.net/publication/325057988_What_do_we_actually_manage_in_5G_And_what_is_missing[Research Gate] [accessed Sep 4, 2018] + +h| BibTeX +a| +[source,bibtex] +---- +@online{vandermeer-noms2018-e, + author = {Sven van der Meer}, + title = {What do we actually manage in 5G? - And what is missing?}, + howpublished = {Keynote, 2018 {IEEE/IFIP} Network Operations and Management Symposium, {NOMS} 2018, Taipei, Taiwan, April 23-27, 2018}, + year = {2018} +} +---- + +|=== + diff --git a/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt b/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt index eaf1c1351..a85af55b6 100644 --- a/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt +++ b/src/site-docs/adoc/fragments/screens/mvn-install-skiptests.txt @@ -1,13 +1,13 @@ -[INFO] apex-apps.uservice ................................. SUCCESS [ 0.054 s] -[INFO] apex-apps.uservice-packaging ....................... SUCCESS [ 0.058 s] -[INFO] apex-apps.uservice-package-minimal ................. SUCCESS [ 7.138 s] -[INFO] apex-apps.uservice-package-full .................... SUCCESS [ 58.960 s] -[INFO] apex-apps.uservice-packages ........................ SUCCESS [ 1.781 s] -[INFO] apex-apps.servlet .................................. SUCCESS [ 3.465 s] +[INFO] tools .............................................. SUCCESS [ 0.248 s] +[INFO] tools-common ....................................... SUCCESS [ 0.784 s] +[INFO] simple-wsclient .................................... SUCCESS [ 3.303 s] +[INFO] model-generator .................................... SUCCESS [ 0.644 s] +[INFO] packages ........................................... SUCCESS [ 0.336 s] +[INFO] apex-pdp-package-full .............................. SUCCESS [01:10 min] +[INFO] Policy APEX PDP - Docker build 2.0.0-SNAPSHOT ...... SUCCESS [ 10.307 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ -[INFO] Total time: 02:48 min -[INFO] Finished at: 2018-01-04T12:20:45+00:00 -[INFO] Final Memory: 164M/1648M +[INFO] Total time: 03:43 min +[INFO] Finished at: 2018-09-03T11:56:01+01:00 [INFO] ------------------------------------------------------------------------
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/screens/mvn-install.txt b/src/site-docs/adoc/fragments/screens/mvn-install.txt deleted file mode 100644 index 6e5f9c1e9..000000000 --- a/src/site-docs/adoc/fragments/screens/mvn-install.txt +++ /dev/null @@ -1,13 +0,0 @@ -[INFO] apex-apps.uservice ................................. SUCCESS [ 0.027 s] -[INFO] apex-apps.uservice-packaging ....................... SUCCESS [ 0.008 s] -[INFO] apex-apps.uservice-package-minimal ................. SUCCESS [ 6.934 s] -[INFO] apex-apps.uservice-package-full .................... SUCCESS [ 55.667 s] -[INFO] apex-apps.uservice-packages ........................ SUCCESS [ 1.833 s] -[INFO] apex-apps.servlet .................................. SUCCESS [ 2.383 s] -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD SUCCESS -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 05:34 min -[INFO] Finished at: 2018-01-04T13:49:16+00:00 -[INFO] Final Memory: 164M/1595M -[INFO] ------------------------------------------------------------------------
\ No newline at end of file diff --git a/src/site-docs/adoc/fragments/screens/target-ls-unix.txt b/src/site-docs/adoc/fragments/screens/target-ls-unix.txt index 99973f795..1e1d4ecc6 100644 --- a/src/site-docs/adoc/fragments/screens/target-ls-unix.txt +++ b/src/site-docs/adoc/fragments/screens/target-ls-unix.txt @@ -1,12 +1,15 @@ --rwxrwx---+ 1 esvevan Domain Users 706 Jan 4 10:44 apex-apps.uservice-package-full_0.7.0_all.changes --rwxrwx---+ 1 esvevan Domain Users 32694 Jan 4 10:43 apex-apps.uservice-package-full-0.7.0.jar --rwxrwx---+ 1 esvevan Domain Users 255629634 Jan 4 10:44 apex-uservice-full-0.7.0.deb --rwxrwx---+ 1 esvevan Domain Users 255613724 Jan 4 10:43 apex-uservice-full-0.7.0-tarball.tar.gz -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 archive-tmp/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 classes/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 dependency-maven-plugin-markers/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 etc/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 examples/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 install_hierarchy/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 lib/ -drwxrwx---+ 1 esvevan Domain Users 0 Jan 4 10:43 maven-archiver/
\ No newline at end of file +-rwxrwx---+ 1 esvevan Domain Users 772 Sep 3 11:55 apex-pdp-package-full_2.0.0~SNAPSHOT_all.changes* +-rwxrwx---+ 1 esvevan Domain Users 146328082 Sep 3 11:55 apex-pdp-package-full-2.0.0-SNAPSHOT.deb* +-rwxrwx---+ 1 esvevan Domain Users 15633 Sep 3 11:54 apex-pdp-package-full-2.0.0-SNAPSHOT.jar* +-rwxrwx---+ 1 esvevan Domain Users 146296819 Sep 3 11:55 apex-pdp-package-full-2.0.0-SNAPSHOT-tarball.tar.gz* +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 archive-tmp/ +-rwxrwx---+ 1 esvevan Domain Users 89 Sep 3 11:54 checkstyle-cachefile* +-rwxrwx---+ 1 esvevan Domain Users 10621 Sep 3 11:54 checkstyle-checker.xml* +-rwxrwx---+ 1 esvevan Domain Users 584 Sep 3 11:54 checkstyle-header.txt* +-rwxrwx---+ 1 esvevan Domain Users 86 Sep 3 11:54 checkstyle-result.xml* +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 classes/ +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 dependency-maven-plugin-markers/ +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 etc/ +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 examples/ +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:55 install_hierarchy/ +drwxrwx---+ 1 esvevan Domain Users 0 Sep 3 11:54 maven-archiver/ diff --git a/src/site-docs/adoc/fragments/screens/target-ls-win.txt b/src/site-docs/adoc/fragments/screens/target-ls-win.txt index 7a78d07dd..1addb2920 100644 --- a/src/site-docs/adoc/fragments/screens/target-ls-win.txt +++ b/src/site-docs/adoc/fragments/screens/target-ls-win.txt @@ -1,16 +1,19 @@ -04/01/2018 11:51 <DIR> . -04/01/2018 11:51 <DIR> .. -04/01/2018 10:43 32,694 apex-apps.uservice-package-full-0.7.0.jar -04/01/2018 10:44 706 apex-apps.uservice-package-full_0.7.0_all.changes -04/01/2018 10:43 255,613,724 apex-uservice-full-0.7.0-tarball.tar.gz -04/01/2018 10:44 255,629,634 apex-uservice-full-0.7.0.deb -04/01/2018 10:43 <DIR> archive-tmp -04/01/2018 10:43 <DIR> classes -04/01/2018 10:43 <DIR> dependency-maven-plugin-markers -04/01/2018 10:43 <DIR> etc -04/01/2018 10:43 <DIR> examples -04/01/2018 10:43 <DIR> install_hierarchy -04/01/2018 10:43 <DIR> lib -04/01/2018 10:43 <DIR> maven-archiver - 4 File(s) 511,276,758 bytes - 10 Dir(s) 6,230,409,216 bytes free
\ No newline at end of file +03/09/2018 11:55 <DIR> . +03/09/2018 11:55 <DIR> .. +03/09/2018 11:55 146,296,819 apex-pdp-package-full-2.0.0-SNAPSHOT-tarball.tar.gz +03/09/2018 11:55 146,328,082 apex-pdp-package-full-2.0.0-SNAPSHOT.deb +03/09/2018 11:54 15,633 apex-pdp-package-full-2.0.0-SNAPSHOT.jar +03/09/2018 11:55 772 apex-pdp-package-full_2.0.0~SNAPSHOT_all.changes +03/09/2018 11:54 <DIR> archive-tmp +03/09/2018 11:54 89 checkstyle-cachefile +03/09/2018 11:54 10,621 checkstyle-checker.xml +03/09/2018 11:54 584 checkstyle-header.txt +03/09/2018 11:54 86 checkstyle-result.xml +03/09/2018 11:54 <DIR> classes +03/09/2018 11:54 <DIR> dependency-maven-plugin-markers +03/09/2018 11:54 <DIR> etc +03/09/2018 11:54 <DIR> examples +03/09/2018 11:55 <DIR> install_hierarchy +03/09/2018 11:54 <DIR> maven-archiver + 8 File(s) 292,652,686 bytes + 9 Dir(s) 14,138,720,256 bytes free
\ No newline at end of file diff --git a/src/site-docs/adoc/guides/APEX-Install-Guide.adoc b/src/site-docs/adoc/guides/APEX-Install-Guide.adoc index e3a9891b0..f9afb77c6 100644 --- a/src/site-docs/adoc/guides/APEX-Install-Guide.adoc +++ b/src/site-docs/adoc/guides/APEX-Install-Guide.adoc @@ -45,8 +45,6 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/configure.adoc include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/verify.adoc[] -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[] - -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[] +include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[] include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/docker.adoc[] diff --git a/src/site-docs/adoc/guides/APEX-User-Manual.adoc b/src/site-docs/adoc/guides/APEX-User-Manual.adoc index f732c4397..7a390361d 100644 --- a/src/site-docs/adoc/guides/APEX-User-Manual.adoc +++ b/src/site-docs/adoc/guides/APEX-User-Manual.adoc @@ -49,9 +49,7 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/configure.adoc include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/verify.adoc[leveloffset=+1] -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[leveloffset=+1] - -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[leveloffset=+1] +include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[leveloffset=+1] include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/docker.adoc[leveloffset=+1] diff --git a/src/site-docs/adoc/guides/HowTo-Codestyle.adoc b/src/site-docs/adoc/guides/HowTo-Codestyle.adoc index f84a64662..3dd8cc382 100644 --- a/src/site-docs/adoc/guides/HowTo-Codestyle.adoc +++ b/src/site-docs/adoc/guides/HowTo-Codestyle.adoc @@ -62,4 +62,3 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/howto-codestyle/42-using-che include::{adsite-main-dir}/site-docs/adoc/fragments/howto-codestyle/50-disable-eclispe-formatting.adoc[] include::{adsite-main-dir}/site-docs/adoc/fragments/howto-codestyle/51-supress-checkstyle.adoc[] -
\ No newline at end of file diff --git a/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png b/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png Binary files differdeleted file mode 100644 index 421edd350..000000000 --- a/src/site-docs/adoc/resources/images/install-guide/monitoring-app-status.png +++ /dev/null diff --git a/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png b/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png Binary files differdeleted file mode 100644 index c18c3c877..000000000 --- a/src/site-docs/adoc/resources/images/install-guide/monitoring-app.png +++ /dev/null diff --git a/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png b/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png Binary files differindex 7b4b9e5d6..3d0056618 100644 --- a/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png +++ b/src/site-docs/adoc/resources/images/install-guide/rest-loaded.png diff --git a/src/site-docs/adoc/resources/images/install-guide/rest-start.png b/src/site-docs/adoc/resources/images/install-guide/rest-start.png Binary files differindex c76f0c1ca..dd515c6a8 100644 --- a/src/site-docs/adoc/resources/images/install-guide/rest-start.png +++ b/src/site-docs/adoc/resources/images/install-guide/rest-start.png diff --git a/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png b/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png Binary files differdeleted file mode 100644 index f50e9278e..000000000 --- a/src/site-docs/adoc/resources/images/install-guide/tomcat-installed.png +++ /dev/null diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png Binary files differindex 00d5e3557..55d7e7dd5 100644 --- a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png +++ b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar-gz.png diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png Binary files differindex c69960cac..ba76fa338 100644 --- a/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png +++ b/src/site-docs/adoc/resources/images/install-guide/win-extract-tar.png diff --git a/src/site-docs/adoc/resources/images/install-guide/win-extracted.png b/src/site-docs/adoc/resources/images/install-guide/win-extracted.png Binary files differdeleted file mode 100644 index 7b5ba841e..000000000 --- a/src/site-docs/adoc/resources/images/install-guide/win-extracted.png +++ /dev/null diff --git a/src/site-docs/logos/ApexLogo.png b/src/site-docs/logos/ApexLogo.png Binary files differnew file mode 100755 index 000000000..c1936b399 --- /dev/null +++ b/src/site-docs/logos/ApexLogo.png diff --git a/src/site-docs/logos/ApexLogo_s.png b/src/site-docs/logos/ApexLogo_s.png Binary files differnew file mode 100755 index 000000000..22372675d --- /dev/null +++ b/src/site-docs/logos/ApexLogo_s.png diff --git a/src/site-docs/logos/NMLabLogo.png b/src/site-docs/logos/NMLabLogo.png Binary files differnew file mode 100755 index 000000000..efc964560 --- /dev/null +++ b/src/site-docs/logos/NMLabLogo.png diff --git a/src/site-docs/logos/NMLabLogo_s.png b/src/site-docs/logos/NMLabLogo_s.png Binary files differnew file mode 100755 index 000000000..749503707 --- /dev/null +++ b/src/site-docs/logos/NMLabLogo_s.png diff --git a/src/site-docs/logos/Onaplogo.png b/src/site-docs/logos/Onaplogo.png Binary files differnew file mode 100755 index 000000000..36ee1f51c --- /dev/null +++ b/src/site-docs/logos/Onaplogo.png diff --git a/src/site-docs/logos/Onaplogo_s.png b/src/site-docs/logos/Onaplogo_s.png Binary files differnew file mode 100755 index 000000000..ed03003d4 --- /dev/null +++ b/src/site-docs/logos/Onaplogo_s.png diff --git a/src/site-docs/logos/logos.svgz b/src/site-docs/logos/logos.svgz Binary files differnew file mode 100755 index 000000000..75ad854fd --- /dev/null +++ b/src/site-docs/logos/logos.svgz diff --git a/src/site/asciidoc/apex-publications.adoc b/src/site/asciidoc/apex-publications.adoc index dbf5ce8eb..6c030aeb4 100644 --- a/src/site/asciidoc/apex-publications.adoc +++ b/src/site/asciidoc/apex-publications.adoc @@ -25,6 +25,8 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/im-20 include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018a.adoc[leveloffset=+1] +include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018d.adoc[leveloffset=+1] + include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018c.adoc[leveloffset=+1] @@ -43,3 +45,4 @@ include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/5g-20 include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018b.adoc[leveloffset=+1] +include::{adsite-main-dir}/site-docs/adoc/fragments/reference-publications/noms-2018e.adoc[leveloffset=+1] diff --git a/src/site/asciidoc/user-manual/install/um-install-monitoring.adoc b/src/site/asciidoc/user-manual/install/um-install-monitoring.adoc deleted file mode 100644 index 79889ec97..000000000 --- a/src/site/asciidoc/user-manual/install/um-install-monitoring.adoc +++ /dev/null @@ -1,14 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-monitoring.adoc[] diff --git a/src/site/asciidoc/user-manual/install/um-install-resteditor.adoc b/src/site/asciidoc/user-manual/install/um-install-wars.adoc index 1d2741ab5..1640bc957 100644 --- a/src/site/asciidoc/user-manual/install/um-install-resteditor.adoc +++ b/src/site/asciidoc/user-manual/install/um-install-wars.adoc @@ -11,4 +11,4 @@ // @author Sven van der Meer (sven.van.der.meer@ericsson.com) // -include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-resteditor.adoc[] +include::{adsite-main-dir}/site-docs/adoc/fragments/install-guide/install-wars.adoc[] diff --git a/src/site/site.xml b/src/site/site.xml index 20d77ae4e..11ae2c15a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -36,8 +36,7 @@ <item href="user-manual/install/um-install-layout.html" name="Final Layout" /> <item href="user-manual/install/um-install-configure.html" name="System Configuration" /> <item href="user-manual/install/um-install-verify.html" name="Verify Installation" /> - <item href="user-manual/install/um-install-monitoring.html" name="Install Monitoring" /> - <item href="user-manual/install/um-install-resteditor.html" name="Install REST Editor" /> + <item href="user-manual/install/um-install-wars.html" name="Install WARs" /> <item href="user-manual/install/um-install-docker.html" name="APEX in Docker" /> </item> diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index fe215c5dc..a18539b3c 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -140,7 +140,7 @@ <li><a href="modules/examples/examples-pcvs/index.html">examples-pcvs</a> - An example policy for managing customers and link failures showing video streaming for a simple VPN scenario</li> <li><a href="modules/examples/examples-onap-vcpe/index.html">examples-onap-vcpe</a> - An example policy for managing vCPE's in ONAP</li> <li><a href="modules/examples/examples-periodic/index.html">examples-periodic</a> - An example periodic policy</li> - <li><a href="modules/examples/examples-servlet/index.html">examples-aadm</a> - An APEX Servlet Example</li> + <li><a href="modules/examples/examples-servlet/index.html">examples-servlet</a> - An APEX Servlet Example</li> <li><a href="modules/examples/examples-adaptive/index.html">examples-adaptive</a> - A simple adaptive policy</li> <li><a href="modules/examples/examples-aadm/index.html">examples-aadm</a> - A policy realizing a complex scenario for Autonomic Anomaly Detection and Mitigation (AADM)</li> </ul> @@ -307,9 +307,10 @@ </td> </tr> <tr> - <td><a href="https://github.com/Ericsson/apex/issues">APEX Issue Management (Github)</a></td> + <td><a href="https://jira.onap.org/projects/POLICY/issues">APEX Issue Management (ONAP, JIRA)</a></td> <td> Issues with the APEX software and integrated documentation are managed here. + This link requires a Linux Foundation ID. </td> </tr> </table> diff --git a/testsuites/integration/integration-common/pom.xml b/testsuites/integration/integration-common/pom.xml index 7ec330304..7cb679815 100644 --- a/testsuites/integration/integration-common/pom.xml +++ b/testsuites/integration/integration-common/pom.xml @@ -54,6 +54,7 @@ <plugins> <plugin> <artifactId>maven-pmd-plugin</artifactId> + <version>3.10.0</version> <configuration> <excludes> <exclude>**/test/common/**/*.java</exclude> @@ -113,4 +114,4 @@ </distributionManagement> </profile> </profiles> -</project>
\ No newline at end of file +</project> diff --git a/testsuites/integration/integration-common/src/site/site.xml b/testsuites/integration/integration-common/src/site/site.xml index 4a8c60365..595761973 100644 --- a/testsuites/integration/integration-common/src/site/site.xml +++ b/testsuites/integration/integration-common/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Testsuites Integration Common"> <body> <menu name="APEX Testsuites Integration Common"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> @@ -24,4 +25,4 @@ <item name="Common" href="index.html" /> </breadcrumbs> </body> -</project>
\ No newline at end of file +</project> diff --git a/testsuites/integration/integration-uservice-test/pom.xml b/testsuites/integration/integration-uservice-test/pom.xml index f41e7555b..52a54c2dd 100644 --- a/testsuites/integration/integration-uservice-test/pom.xml +++ b/testsuites/integration/integration-uservice-test/pom.xml @@ -213,12 +213,6 @@ <artifactId>jersey-container-servlet-core</artifactId> <version>${version.jersey}</version> </dependency> - <dependency> - <groupId>org.onap.policy.apex-pdp.context</groupId> - <artifactId>context-test-utils</artifactId> - <version>${project.version}</version> - <scope>test</scope> - </dependency> </dependencies> <build> @@ -249,4 +243,4 @@ </distributionManagement> </profile> </profiles> -</project>
\ No newline at end of file +</project> diff --git a/testsuites/performance/performance-context-metrics/src/site/site.xml b/testsuites/performance/performance-context-metrics/src/site/site.xml index 18a3b10fe..937759ed5 100644 --- a/testsuites/performance/performance-context-metrics/src/site/site.xml +++ b/testsuites/performance/performance-context-metrics/src/site/site.xml @@ -16,6 +16,7 @@ <project name="APEX Testsuites Performance Context-Metrics"> <body> <menu name="APEX Testsuites Performance Context-Metrics"> + <item href="javadocs/index.html" name="API Doc" /> </menu> <menu ref="reports" inherit="top" /> <menu ref="modules" /> diff --git a/tools/scripts/clear-site.sh b/tools/scripts/clear-site.sh new file mode 100755 index 000000000..c72e9f16e --- /dev/null +++ b/tools/scripts/clear-site.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +#------------------------------------------------------------------------------- +# ============LICENSE_START======================================================= +# Copyright (C) 2016-2018 Ericsson. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +#------------------------------------------------------------------------------- + +## +## Script to clear all created site artifacts, so all target/site for all modules plus target/ad-site on parrent. +## Call -h for help +## +## @author Sven van der Meer <sven.van.der.meer@ericsson.com> +## @version v2.0.0 + + +## +## DO NOT CHANGE CODE BELOW, unless you know what you are doing +## + +## script name for output +MOD_SCRIPT_NAME=`basename $0` + + +## +## Help screen and exit condition (i.e. too few arguments) +## +Help() +{ + echo "" + echo "$MOD_SCRIPT_NAME - remove all generated site artifacts." + echo "" + echo " Usage: $MOD_SCRIPT_NAME [options]" + echo "" + echo " Options" + echo " -x - execute the delete actions" + echo " -h - this help screen" + echo "" + echo "" + exit 255; +} +if [ $# -eq 0 ]; then + Help +fi + +while [ $# -gt 0 ] +do + case $1 in + # -x do clear + -x) + echo + echo "$MOD_SCRIPT_NAME: removing generated sites in all modules" + for dir in `find -type d -name "site"|grep "/target/"` + do + echo "--> removing $dir" + rm -fr $dir + done + echo "--> removing target/ad-site" + rm -fr target/ad-site + exit + ;; + + #-h prints help and exists + -h) Help;exit 0;; + + *) echo "$MOD_SCRIPT_NAME: undefined CLI option - $1"; exit 255;; + esac +done + diff --git a/packages/apex-pdp-package-full/src/main/package/examples/docker/base/base.Dockerfile b/tools/scripts/copy-css.sh index 4872f5546..7603c0d41 100644..100755 --- a/packages/apex-pdp-package-full/src/main/package/examples/docker/base/base.Dockerfile +++ b/tools/scripts/copy-css.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= # Copyright (C) 2016-2018 Ericsson. All rights reserved. @@ -18,31 +20,28 @@ # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- -# -# Docker file to build an image that runs APEX on Java 8 in Ubuntu -# -# apex/base:0.6.0 -FROM ubuntu:16.04 -MAINTAINER John Keeney John.Keeney@ericsson.com +## +## Script to copy css artifacts from parent to all child modules, recursively. +## +## @author Sven van der Meer <sven.van.der.meer@ericsson.com> +## @version v2.0.0 -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y software-properties-common && \ - add-apt-repository ppa:webupd8team/java -y && \ - apt-get update && \ - echo oracle-javax8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \ - apt-get install -y oracle-java8-installer && \ - rm -rf /var/cache/oracle-jdk8-installer && \ - apt-get clean -RUN mkdir /packages -COPY apex-pdp-package-full-2.0.0-SNAPSHOT.deb /packages -RUN dpkg -i packages/apex-pdp-package-full-2.0.0-SNAPSHOT.deb && \ - rm /packages/apex-pdp-package-full-2.0.0-SNAPSHOT.deb +## +## DO NOT CHANGE CODE BELOW, unless you know what you are doing +## -ENV PATH /opt/ericsson/apex/apex/bin:$PATH +## script name for output +MOD_SCRIPT_NAME=`basename $0` -RUN apt-get clean +echo +echo "$MOD_SCRIPT_NAME: copying standard css and images to modules" +for dir in `find -type d -name "site"|grep "/src"|grep "./modules/"` +do + echo "--> copying to $dir" + cp -dfrp src/site/css $dir + cp -dfrp src/site/images $dir +done -RUN chown -R apexuser:apexuser /home/apexuser/* -WORKDIR /home/apexuser +echo "-> done" +echo diff --git a/tools/simple-wsclient/pom.xml b/tools/simple-wsclient/pom.xml index be18247d8..9437f6216 100644 --- a/tools/simple-wsclient/pom.xml +++ b/tools/simple-wsclient/pom.xml @@ -30,10 +30,6 @@ <name>${project.artifactId}</name> <description>[${project.parent.artifactId}] Simple Websocket client (console and echo)</description> - <properties> - <apex-apps-wsclients-simple-dir>${project.basedir}/src</apex-apps-wsclients-simple-dir> - </properties> - <dependencies> <dependency> <groupId>org.java-websocket</groupId> @@ -64,7 +60,7 @@ </descriptorRefs> <archive> <manifest> - <mainClass>org.onap.policy.apex.tools.simple.wsclients.Application</mainClass> + <mainClass>org.onap.policy.apex.tools.simple.wsclient.Application</mainClass> </manifest> </archive> </configuration> @@ -93,4 +89,4 @@ </distributionManagement> </profile> </profiles> -</project>
\ No newline at end of file +</project> diff --git a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java index 487bed297..b93038604 100644 --- a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java +++ b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java @@ -21,17 +21,23 @@ package org.onap.policy.apex.tools.common.docs; //// -//// NOTE: This file contains tags for ASCIIDOC -//// DO NOT REMOVE any of those tag lines, e.g. -//// //tag::** -//// //end::** +////NOTE: This file contains tags for ASCIIDOC +////DO NOT REMOVE any of those tag lines, e.g. +//////tag::** +//////end::** +//// +////DO NOT auto-refresh imports or organise imports! //// import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.HelpFormatter; import org.junit.Test; + +//tag::import[] import org.onap.policy.apex.tools.common.CliOptions; import org.onap.policy.apex.tools.common.CliParser; +//end::import[] + import org.slf4j.ext.XLogger; import org.slf4j.ext.XLoggerFactory; |