move packages build + tweaking pom.xml
Change-Id: Iac032aa8f379cc8d614ec7913b41a68cbda9674d
Issue-ID: POLICY-162
Signed-off-by: Jorge Hernandez <jh1730@att.com>
diff --git a/controlloop/packages/apps/pom.xml b/controlloop/packages/apps/pom.xml
new file mode 100644
index 0000000..f591bdc
--- /dev/null
+++ b/controlloop/packages/apps/pom.xml
@@ -0,0 +1,77 @@
+<!--
+ ============LICENSE_START=======================================================
+ PDP-D Application Installation Packages
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>packages</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>apps</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PDP-D APPS Installation Package</name>
+ <description>PDP-D APPS Installation Package</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/zip.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- List any dependencies here that should be included in the installer zip -->
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>basex</artifactId>
+ <version>${project.version}</version>
+ <type>tar.gz</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>artifacts</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </dependency>
+ </dependencies>
+
+</project>
+
diff --git a/controlloop/packages/apps/src/assembly/zip.xml b/controlloop/packages/apps/src/assembly/zip.xml
new file mode 100644
index 0000000..f3392e1
--- /dev/null
+++ b/controlloop/packages/apps/src/assembly/zip.xml
@@ -0,0 +1,40 @@
+<!--
+ ============LICENSE_START=======================================================
+ PDP-D APPS Installation Package
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<assembly>
+ <id>zipfile</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>src/files</directory>
+ <outputDirectory>.</outputDirectory>
+ <fileMode>755</fileMode>
+ </fileSet>
+ </fileSets>
+ <dependencySets>
+ <dependencySet>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+ </dependencySets>
+</assembly>
+
diff --git a/controlloop/packages/apps/src/files/README.apps.txt b/controlloop/packages/apps/src/files/README.apps.txt
new file mode 100644
index 0000000..aab0218
--- /dev/null
+++ b/controlloop/packages/apps/src/files/README.apps.txt
@@ -0,0 +1,8 @@
+
+The PDP-D apps installation package contains:
+
+1. artifacts-<version>.zip contains models and other jars to support PDP-D applications.
+2. basex-<version>.tar.gz contains scripts and additional files to support the PDP-D models.
+
+The apps-<version>.zip must be placed in the same directory as the installation package
+before installation before installation is attempted.
diff --git a/controlloop/packages/artifacts/pom.xml b/controlloop/packages/artifacts/pom.xml
new file mode 100644
index 0000000..cce85c7
--- /dev/null
+++ b/controlloop/packages/artifacts/pom.xml
@@ -0,0 +1,154 @@
+<!--
+ ============LICENSE_START=======================================================
+ PDP-D Application Installation Packages
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>packages</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>artifacts</artifactId>
+ <packaging>pom</packaging>
+
+ <name>Artifacts for PDP-D Applications</name>
+ <description>PDP-D models, rules and tooling</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/zip.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- The following are placed in the local or remote repository at installation -->
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>drools-pdp-apps</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>controlloop</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>common</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>model-impl</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>events</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>appc</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>aai</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>mso</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>trafficgenerator</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>eventmanager</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>guard</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>policy-yaml</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>demo</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>template.demo</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>archetype-closedloop-demo-rules</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/controlloop/packages/artifacts/src/assembly/zip.xml b/controlloop/packages/artifacts/src/assembly/zip.xml
new file mode 100644
index 0000000..e3f018d
--- /dev/null
+++ b/controlloop/packages/artifacts/src/assembly/zip.xml
@@ -0,0 +1,33 @@
+<!--
+ ============LICENSE_START=======================================================
+ Artifacts for PDP-D Applications
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<assembly>
+ <id>zipfile</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet>
+ <outputDirectory>artifacts</outputDirectory>
+ <useTransitiveDependencies>false</useTransitiveDependencies>
+ </dependencySet>
+ </dependencySets>
+</assembly>
diff --git a/controlloop/packages/basex/pom.xml b/controlloop/packages/basex/pom.xml
new file mode 100644
index 0000000..7e2014b
--- /dev/null
+++ b/controlloop/packages/basex/pom.xml
@@ -0,0 +1,61 @@
+<!--
+ ============LICENSE_START=======================================================
+ PDP-D Application Installation Packages
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>packages</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>basex</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PDP-D APPS Base Package</name>
+ <description>PDP-D APPS Packaging</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/zip.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
diff --git a/controlloop/packages/basex/src/assembly/zip.xml b/controlloop/packages/basex/src/assembly/zip.xml
new file mode 100644
index 0000000..a33f1b7
--- /dev/null
+++ b/controlloop/packages/basex/src/assembly/zip.xml
@@ -0,0 +1,36 @@
+<!--
+ ============LICENSE_START=======================================================
+ PDP-D APPS Base Package
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<assembly>
+ <id>basex</id>
+ <formats>
+ <format>tar.gz</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>src/files</directory>
+ <outputDirectory>.</outputDirectory>
+ <fileMode>700</fileMode>
+ <directoryMode>700</directoryMode>
+ </fileSet>
+ </fileSets>
+</assembly>
+
diff --git a/controlloop/packages/basex/src/files/bin/create-closed-loop-demo.sh b/controlloop/packages/basex/src/files/bin/create-closed-loop-demo.sh
new file mode 100644
index 0000000..be98012
--- /dev/null
+++ b/controlloop/packages/basex/src/files/bin/create-closed-loop-demo.sh
@@ -0,0 +1,315 @@
+#! /bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# PDP-D APPS Base Package
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+# Interactive script to generate a closed loop demo rules artifact
+# for testing purposes of standalone PDP-D
+
+echo "Closed Loop Demo Creator for standalone PDP-D"
+echo "----------------------------------------------"
+echo
+
+GROUPID="org.onap.policy.demo.rules"
+ARTIFACTID="closed-loop-demo-rules"
+VERSION="1.1.0"
+PACKAGE="org.onap.policy.demo.rules"
+CLOSEDLOOPCONTROLNAME="CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"
+POLICYSCOPE="service=test;resource=FRWL;type=configuration"
+POLICYNAME="FirewallDemo"
+POLICYVERSION="v0.0.1"
+ACTOR="APPC"
+APPCTOPIC="APPC-CL"
+APPCSERVERS="vm1.mr.simpledemo.openecomp.org"
+APPCAPIKEY=
+APPCAPISECRET=
+NOTIFICATIONTOPIC="POLICY-CL-MGT"
+NOTIFICATIONSERVERS="vm1.mr.simpledemo.openecomp.org"
+NOTIFICATIONAPIKEY=
+NOTIFICATIONAPISECRET=
+DCAETOPIC="DCAE-CL-EVENT"
+DCAESERVERS="vm1.mr.simpledemo.openecomp.org"
+DCAEAPIKEY=
+DCAEAPISECRET=
+AAIURL="http://localhost:7676/aai/test"
+AAIUSERNAME="policy"
+AAIPASSWORD="policy"
+AAINAMEDQUERYUUID=d925ed73-8231-4d02-9545-db4e101fffff
+AAIPATTERNMATCH=1
+MSOURL="http://localhost:7677/mso/test"
+MSOUSERNAME="policy"
+MSOPASSWORD="policy"
+
+read -e -i "${GROUPID}" -p "Closed Loop Rules Maven Group Id> " GROUP_ID
+read -e -i "${ARTIFACTID}" -p "Closed Loop Rules Maven Coordinates Artifact Id> " ARTIFACTID
+read -e -i "${VERSION}" -p "Closed Loop Rules Maven Coordinates Version> " VERSION
+read -e -i "${PACKAGE}" -p "Closed Loop Rules Package> " PACKAGE
+read -e -i "${CLOSEDLOOPCONTROLNAME}" -p "Closed Loop Template Control Name> " CLOSEDLOOPCONTROLNAME
+read -e -i "${POLICYSCOPE}" -p "Closed Loop Policy Scope> " POLICYSCOPE
+read -e -i "${POLICYNAME}" -p "Closed Loop Policy Name> " POLICYNAME
+read -e -i "${POLICYVERSION}" -p "Closed Loop Policy Version> " POLICYVERSION
+read -e -i "${ACTOR}" -p "Closed Loop Actor ('APPC' or 'MSO')> " ACTOR
+read -e -i "${APPCTOPIC}" -p "Closed Loop APP-C Recipe Topic> " APPCTOPIC
+read -e -i "${APPCSERVERS}" -p "Closed Loop APP-C UEB Servers for ${APPCTOPIC} topic> " APPCSERVERS
+read -e -i "${APPCAPIKEY}" -p "Closed Loop APP-C UEB API Key for ${APPCTOPIC} topic> " APPCAPIKEY
+read -e -i "${APPCAPISECRET}" -p "Closed Loop APP-C UEB API Secret for ${APPCTOPIC} topic> " APPCAPISECRET
+read -e -i "${NOTIFICATIONTOPIC}" -p "Closed Loop Ruby Notification Topic> " NOTIFICATIONTOPIC
+read -e -i "${NOTIFICATIONSERVERS}" -p "Closed Loop Ruby UEB Servers for ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONSERVERS
+read -e -i "${NOTIFICATIONAPIKEY}" -p "Closed Loop Ruby UEB API Key ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONAPIKEY
+read -e -i "${NOTIFICATIONAPISECRET}" -p "Closed Loop Ruby UEB API Secret ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONAPISECRET
+read -e -i "${DCAETOPIC}" -p "Closed Loop DCAE Topic> " DCAETOPIC
+read -e -i "${DCAESERVERS}" -p "Closed Loop DCAE UEB Servers> " DCAESERVERS
+read -e -i "${DCAEAPIKEY}" -p "Closed Loop DCAE UEB API Key for ${DCAETOPIC} topic> " DCAEAPIKEY
+read -e -i "${DCAEAPISECRET}" -p "Closed Loop DCAE UEB API Secret for ${DCAETOPIC} topic> " DCAEAPISECRET
+read -e -i "${AAIURL}" -p "Closed Loop AAI URL> " AAIURL
+read -e -i "${AAIUSERNAME}" -p "Closed Loop AAI Username> " AAIUSERNAME
+read -e -i "${AAIPASSWORD}" -p "Closed Loop AAI Password> " AAIPASSWORD
+read -e -i "${AAINAMEDQUERYUUID}" -p "Closed Loop AAI Named Query UUID> " AAINAMEDQUERYUUID
+read -e -i "${AAIPATTERNMATCH}" -p "Closed Loop AAI Pattern Match (1 for vFW, otherwise vDNS)> " AAIPATTERNMATCH
+read -e -i "${MSOURL}" -p "Closed Loop MSO URL> " MSOURL
+read -e -i "${MSOUSERNAME}" -p "Closed Loop MSO Username> " MSOUSERNAME
+read -e -i "${MSOPASSWORD}" -p "Closed Loop MSO Password> " MSOPASSWORD
+
+echo
+echo
+
+if [ -z "${GROUPID}" ]; then echo "Aborting: Closed Loop Rules Maven Group Id not provided"; exit 1; fi
+if [ -z "${ARTIFACTID}" ]; then echo "Aborting: Closed Loop Rules Maven Coordinates Artifact Id not provided"; exit 1; fi
+if [ -z "${VERSION}" ]; then echo "Aborting: Closed Loop Rules Maven Coordinates Version not provided"; exit 1; fi
+if [ -z "${PACKAGE}" ]; then echo "Aborting: Closed Loop Rules Package not provided"; exit 1; fi
+if [ -z "${CLOSEDLOOPCONTROLNAME}" ]; then echo "Aborting: Closed Loop Template Control Name not provided"; exit 1; fi
+if [ -z "${POLICYSCOPE}" ]; then echo "Aborting: Closed Loop Template Policy Scope not provided"; exit 1; fi
+if [ -z "${POLICYNAME}" ]; then echo "Aborting: Closed Loop Template Policy Name not provided"; exit 1; fi
+if [ -z "${POLICYVERSION}" ]; then echo "Aborting: Closed Loop Template Policy Version not provided"; exit 1; fi
+if [ -z "${ACTOR}" ]; then echo "Aborting: Closed Loop Template Actor not provided"; exit 1; fi
+if [ -z "${APPCTOPIC}" ]; then echo "Aborting: Closed Loop Template APP-C Recipe Topic not provided"; exit 1; fi
+if [ -z "${APPCSERVERS}" ]; then echo "Aborting: Closed Loop Template APP-C UEB Servers not provided"; exit 1; fi
+if [ -z "${NOTIFICATIONTOPIC}" ]; then echo "Aborting: Closed Loop Template Ruby Notification Topic not provided"; exit 1; fi
+if [ -z "${NOTIFICATIONSERVERS}" ]; then echo "Aborting: Closed Loop Template Ruby UEB Servers not provided"; exit 1; fi
+if [ -z "${DCAETOPIC}" ]; then echo "Aborting: Closed Loop Template DCAE DMAAP Topic not provided"; exit 1; fi
+if [ -z "${DCAESERVERS}" ]; then echo "Aborting: Closed Loop Template DCAE DMAAP Servers not provided"; exit 1; fi
+if [ -z "${AAIURL}" ]; then echo "Aborting: Closed Loop Template AAI URL not provided"; exit 1; fi
+if [ -z "${AAIUSERNAME}" ]; then echo "Aborting: Closed Loop Template AAI Username not provided"; exit 1; fi
+if [ -z "${AAIPASSWORD}" ]; then echo "Aborting: Closed Loop Template AAI Password not provided"; exit 1; fi
+if [ -z "${AAINAMEDQUERYUUID}" ]; then echo "Aborting: Closed Loop Template AAI Named Query UUID not provided"; exit 1; fi
+if [ -z "${AAIPATTERNMATCH}" ]; then echo "Aborting: Closed Loop Template AAPI Pattern Match not provided"; exit 1; fi
+if [ -z "${MSOURL}" ]; then echo "Aborting: Closed Loop Template MSO URL not provided"; exit 1; fi
+if [ -z "${MSOUSERNAME}" ]; then echo "Aborting: Closed Loop Template MSO Username not provided"; exit 1; fi
+if [ -z "${MSOPASSWORD}" ]; then echo "Aborting: Closed Loop Template MSO Password not provided"; exit 1; fi
+
+if [ -z "${DCAEAPIKEY}" ]; then DCAEAPIKEY="NULL"; fi
+if [ -z "${DCAEAPISECRET}" ]; then DCAEAPISECRET="NULL"; fi
+if [ -z "${APPCAPIKEY}" ]; then APPCAPIKEY="NULL"; fi
+if [ -z "${APPCAPISECRET}" ]; then APPCAPISECRET="NULL"; fi
+if [ -z "${NOTIFICATIONAPIKEY}" ]; then NOTIFICATIONAPIKEY="NULL"; fi
+if [ -z "${NOTIFICATIONAPISECRET}" ]; then NOTIFICATIONAPISECRET="NULL"; fi
+
+if [[ "$VERSION" == *-SNAPSHOT ]]; then
+ DEPENDENCIES_VERSION="1.1.0-SNAPSHOT"
+else
+ DEPENDENCIES_VERSION="${VERSION}"
+fi
+
+read -e -i "${DEPENDENCIES_VERSION}" -p "Closed Loop Model/PDP-D dependent version(s) (ie: 1.0.0-SNAPSHOT, 1607.31.1-1, or [1607.31.1,)) > " DEPENDENCIES_VERSION
+if [ -z "${DEPENDENCIES_VERSION}" ]; then echo "Aborting: Closed Loop Model/PDP-D dependencies not provided"; exit 1; fi
+
+echo "---------------------------------------------------------------------------------------"
+echo "Please review the entered Closed Loop Maven Coordinates and Policy Template Parameters:"
+echo
+echo "Installation in Local Maven Repository"
+echo
+echo "Closed Loop Rules Maven Artifact Generation: Group Id: ${GROUP_ID}"
+echo "Closed Loop Rules Maven Artifact Generation: Artifact Id: ${ARTIFACTID}"
+echo "Closed Loop Rules Maven Artifact Generation: Version: ${VERSION}"
+echo "Closed Loop Rules Maven Artifact Generation: Package: ${PACKAGE}"
+echo
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Control Name: ${CLOSEDLOOPCONTROLNAME}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Scope: ${POLICYSCOPE}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Name: ${POLICYNAME}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Version: ${POLICYVERSION}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Actor: ${ACTOR}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Recipe: ${APPC}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Recipe Topic: ${APPCTOPIC}"
+echo "Closed Loop Template Drools DRL Expansion: Closed Loop Notification Topic: ${NOTIFICATIONTOPIC}"
+echo
+echo "Closed Loop Controller Configuration: Rules: Group Id: ${GROUP_ID}"
+echo "Closed Loop Controller Configuration: Rules: Artifact Id: ${ARTIFACTID}"
+echo "Closed Loop Controller Configuration: Rules: Version: ${VERSION}"
+echo
+echo "Closed Loop Controller Configuration: DCAE UEB Topic: ${DCAETOPIC}"
+echo "Closed Loop Controller Configuration: DCAE UEB Servers: ${DCAESERVERS}"
+echo "Closed Loop Controller Configuration: DCAE UEB API Key: ${DCAEAPIKEY}"
+echo "Closed Loop Controller Configuration: DCAE UEB API Secret: ${DCAEAPISECRET}"
+echo
+echo "Closed Loop Controller Configuration: APP-C UEB Topic: ${APPCTOPIC}"
+echo "Closed Loop Controller Configuration: APP-C UEB Servers: ${APPCSERVERS}"
+echo "Closed Loop Controller Configuration: APP-C UEB API Key: ${APPCAPIKEY}"
+echo "Closed Loop Controller Configuration: APP-C UEB API Secret: ${APPCAPISECRET}"
+echo
+echo "Closed Loop Controller Configuration: NOTIFICATION Topic: ${NOTIFICATIONTOPIC}"
+echo "Closed Loop Controller Configuration: NOTIFICATION UEB Servers: ${NOTIFICATIONSERVERS}"
+echo "Closed Loop Controller Configuration: NOTIFICATION UEB API Key: ${NOTIFICATIONAPIKEY}"
+echo "Closed Loop Controller Configuration: NOTIFICATION UEB API Secret: ${NOTIFICATIONAPISECRET}"
+echo
+echo "Closed Loop Controller Configuration: AAI URL: ${AAIURL}"
+echo "Closed Loop Controller Configuration: AAI Username: ${AAIUSERNAME}"
+echo "Closed Loop Controller Configuration: AAI Password: ${AAIPASSWORD}"
+echo "Closed Loop Controller Configuration: AAI Named Query UUID: ${AAINAMEDQUERYUUID}"
+echo "Closed Loop Controller Configuration: AAI Pattern Match: ${AAIPATTERNMATCH}"
+echo
+echo "Closed Loop Controller Configuration: MSO URL: ${MSOURL}"
+echo "Closed Loop Controller Configuration: MSO Username: ${MSOUSERNAME}"
+echo "Closed Loop Controller Configuration: MSO Password: ${MSOPASSWORD}"
+echo
+echo "Closed Loop Model/PDP-D dependent version(s): ${DEPENDENCIES_VERSION}"
+echo "---------------------------------------------------------------------------------------"
+echo
+
+HAPPY="Y"
+read -e -i "${HAPPY}" -p "Are the previous parameters correct (Y/N)? " HAPPY
+if [[ ${HAPPY} != "Y" ]]; then
+ exit 1
+fi
+
+echo
+DIR_TMP="/tmp"
+echo "The Closed Loop Source Rules will be installed at ${DIR_TMP}"
+read -e -i "${DIR_TMP}" -p "Do you want to change the Source Rules install directory? " DIR_TMP
+
+if [ ! -w "${DIR_TMP}" ]; then
+ echo "Aborting. ${DIR_TMP} is not writable"
+ exit 1
+fi
+
+ARCHETYPE_GROUP_ID="org.onap.policy.drools-applications"
+ARCHETYPE_ARTIFACT_ID="archetype-closedloop-demo-rules"
+
+if [ -d "${DIR_TMP}/${ARTIFACTID}/" ]; then
+ if [ "$(ls -A "${DIR_TMP}/${ARTIFACTID}"/)" ]; then
+ echo "${DIR_TMP} already contains a ${ARTIFACTID}/ directory, saving it to ${DIR_TMP}/${ARTIFACTID}.arch.bak/"
+ if [ -d "${DIR_TMP}/${ARTIFACTID}.arch.bak"/ ]; then
+ (
+ echo "${DIR_TMP}/${ARTIFACTID}.arch.bak/ also exists, deleting it .."
+ cd "${DIR_TMP}"/
+ rm -fr "${ARTIFACTID}.arch.bak"
+ )
+ fi
+ /bin/mv --force "${DIR_TMP}/${ARTIFACTID}/" "${DIR_TMP}/${ARTIFACTID}.arch.bak"
+ if [ "${?}" -ne 0 ]; then
+ echo
+ echo
+ echo "Aborting: ${DIR_TMP}/${ARTIFACTID}/ cannot be moved"
+ exit 1
+ fi
+ else
+ ( cd "${DIR_TMP}/" ; rmdir "${DIR_TMP}/${ARTIFACTID}/" )
+ fi
+fi
+
+CREATEARTIFACT="Y"
+read -e -i "${CREATEARTIFACT}" -p "Create Maven Artifact (Y/N)? " CREATEARTIFACT
+if [[ ${CREATEARTIFACT} != "Y" ]]; then
+ exit 1
+fi
+
+(
+cd "${DIR_TMP}"
+
+mvn archetype:generate \
+ -B \
+ -DarchetypeCatalog=local \
+ -DarchetypeGroupId="${ARCHETYPE_GROUP_ID}" \
+ -DarchetypeArtifactId="${ARCHETYPE_ARTIFACT_ID}" \
+ -DarchetypeVersion="${VERSION}" \
+ -DgroupId="${GROUP_ID}" \
+ -DartifactId="${ARTIFACTID}" \
+ -Dversion="${VERSION}" \
+ -Dpackage="${PACKAGE}" \
+ -DclosedLoopControlName="${CLOSEDLOOPCONTROLNAME}" \
+ -DpolicyScope="${POLICYSCOPE}" \
+ -DpolicyName="${POLICYNAME}" \
+ -DpolicyVersion="${POLICYVERSION}" \
+ -Dactor="${ACTOR}" \
+ -DappcTopic="${APPCTOPIC}" \
+ -DappcServers="${APPCSERVERS}" \
+ -DappcApiKey="${APPCAPIKEY}" \
+ -DappcApiSecret="${APPCAPISECRET}" \
+ -DnotificationTopic="${NOTIFICATIONTOPIC}" \
+ -DnotificationServers="${NOTIFICATIONSERVERS}" \
+ -DnotificationApiKey="${NOTIFICATIONAPIKEY}" \
+ -DnotificationApiSecret="${NOTIFICATIONAPISECRET}" \
+ -DdcaeTopic="${DCAETOPIC}" \
+ -DdcaeServers="${DCAESERVERS}" \
+ -DdcaeApiKey="${DCAEAPIKEY}" \
+ -DdcaeApiSecret="${DCAEAPISECRET}" \
+ -DaaiURL="${AAIURL}" \
+ -DaaiUsername="${AAIUSERNAME}" \
+ -DaaiPassword="${AAIPASSWORD}" \
+ -DaaiNamedQueryUUID="${AAINAMEDQUERYUUID}" \
+ -DaaiPatternMatch="${AAIPATTERNMATCH}" \
+ -DmsoURL="${MSOURL}" \
+ -DmsoUsername="${MSOUSERNAME}" \
+ -DmsoPassword="${MSOPASSWORD}" \
+ -DdependenciesVersion="${DEPENDENCIES_VERSION}"
+
+if [ "${?}" -ne 0 ]; then
+ echo
+ echo
+ echo "Aborting: ${ARTIFACTID} has not been successfully generated"
+ exit 1
+fi
+
+echo
+
+cd "${DIR_TMP}/${ARTIFACTID}"/
+
+/bin/mv src/main/config/* .
+
+/bin/sed -i -e "/apiKey=NULL$/d" *-controller.properties
+/bin/sed -i -e "/apiSecret=NULL$/d" *-controller.properties
+
+/bin/sed -i -e "/apiKey.*:.*\"NULL\",/d" *-controller.rest.json
+/bin/sed -i -e "/apiSecret.*:.*\"NULL\",/d" *-controller.rest.json
+
+echo "Closed Loop Rules from templates have been successfully created under ${DIR_TMP}/${ARTIFACTID}/"
+
+INSTALLREPO="Y"
+read -e -i "${INSTALLREPO}" -p "Do you want to deploy ${ARTIFACTID} rules into maven repository (Y/N)? " INSTALLREPO
+if [[ ${INSTALLREPO} != "Y" ]]; then
+ exit 1
+fi
+
+echo
+echo "generating deployable ${ARTIFACTID} maven artifact .."
+
+mvn install
+
+if [ "${?}" -ne 0 ]; then
+ echo
+ echo
+ echo "Aborting: ${ARTIFACTID} deployable jar cannot be generated"
+ exit 1
+fi
+
+
+echo
+echo "${ARTIFACTID} has been successfully installed in user's (${USER}) local repository"
+echo "Find configuration files at ${DIR_TMP}/${ARTIFACTID}/"
+)
diff --git a/controlloop/packages/basex/src/files/config/vDNS-controller.properties b/controlloop/packages/basex/src/files/config/vDNS-controller.properties
new file mode 100644
index 0000000..7da128f
--- /dev/null
+++ b/controlloop/packages/basex/src/files/config/vDNS-controller.properties
@@ -0,0 +1,55 @@
+###
+# ============LICENSE_START=======================================================
+# PDP-D APPS Base Package
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+controller.name=vDNS
+
+ueb.source.topics=DCAE-CL-EVENT,APPC-CL
+
+ueb.source.topics.DCAE-CL-EVENT.servers=vm1.mr.simpledemo.openecomp.org
+ueb.source.topics.DCAE-CL-EVENT.apiKey=
+ueb.source.topics.DCAE-CL-EVENT.apiSecret=
+ueb.source.topics.DCAE-CL-EVENT.events=org.onap.policy.controlloop.VirtualControlLoopEvent
+ueb.source.topics.DCAE-CL-EVENT.events.org.onap.policy.controlloop.VirtualControlLoopEvent.filter=closedLoopEventStatus\=.*,closedLoopControlName\=.*DNS.*
+ueb.source.topics.DCAE-CL-EVENT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
+
+ueb.source.topics.APPC-CL.servers=vm1.mr.simpledemo.openecomp.org
+ueb.source.topics.APPC-CL.apiKey=
+ueb.source.topics.APPC-CL.apiSecret=
+ueb.source.topics.APPC-CL.events=org.onap.policy.appc.Response
+ueb.source.topics.APPC-CL.events.org.onap.policy.appc.Response.filter=CommonHeader=.*,Status=.*
+ueb.source.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty
+
+ueb.sink.topics=APPC-CL,POLICY-CL-MGT
+
+ueb.sink.topics.APPC-CL.servers=vm1.mr.simpledemo.openecomp.org
+ueb.sink.topics.APPC-CL.apiKey=
+ueb.sink.topics.APPC-CL.apiSecret=
+ueb.sink.topics.APPC-CL.events=org.onap.policy.appc.Request
+ueb.sink.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty
+
+ueb.sink.topics.POLICY-CL-MGT.servers=vm1.mr.simpledemo.openecomp.org
+ueb.sink.topics.POLICY-CL-MGT.apiKey=
+ueb.sink.topics.POLICY-CL-MGT.apiSecret=
+ueb.sink.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification
+ueb.sink.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
+
+rules.groupId=
+rules.artifactId=
+rules.version=
diff --git a/controlloop/packages/basex/src/files/config/vFW-controller.properties b/controlloop/packages/basex/src/files/config/vFW-controller.properties
new file mode 100644
index 0000000..8b85875
--- /dev/null
+++ b/controlloop/packages/basex/src/files/config/vFW-controller.properties
@@ -0,0 +1,55 @@
+###
+# ============LICENSE_START=======================================================
+# PDP-D APPS Base Package
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+controller.name=vFW
+
+ueb.source.topics=DCAE-CL-EVENT,APPC-CL
+
+ueb.source.topics.DCAE-CL-EVENT.servers=vm1.mr.simpledemo.openecomp.org
+ueb.source.topics.DCAE-CL-EVENT.apiKey=
+ueb.source.topics.DCAE-CL-EVENT.apiSecret=
+ueb.source.topics.DCAE-CL-EVENT.events=org.onap.policy.controlloop.VirtualControlLoopEvent
+ueb.source.topics.DCAE-CL-EVENT.events.org.onap.policy.controlloop.VirtualControlLoopEvent.filter=closedLoopEventStatus\=.*,closedLoopControlName\=.*FRWL.*
+ueb.source.topics.DCAE-CL-EVENT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
+
+ueb.source.topics.APPC-CL.servers=vm1.mr.simpledemo.openecomp.org
+ueb.source.topics.APPC-CL.apiKey=
+ueb.source.topics.APPC-CL.apiSecret=
+ueb.source.topics.APPC-CL.events=org.onap.policy.appc.Response
+ueb.source.topics.APPC-CL.events.org.onap.policy.appc.Response.filter=CommonHeader=.*,Status=.*
+ueb.source.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty
+
+ueb.sink.topics=APPC-CL,POLICY-CL-MGT
+
+ueb.sink.topics.APPC-CL.servers=vm1.mr.simpledemo.openecomp.org
+ueb.sink.topics.APPC-CL.apiKey=
+ueb.sink.topics.APPC-CL.apiSecret=
+ueb.sink.topics.APPC-CL.events=org.onap.policy.appc.Request
+ueb.sink.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty
+
+ueb.sink.topics.POLICY-CL-MGT.servers=vm1.mr.simpledemo.openecomp.org
+ueb.sink.topics.POLICY-CL-MGT.apiKey=
+ueb.sink.topics.POLICY-CL-MGT.apiSecret=
+ueb.sink.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification
+ueb.sink.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty
+
+rules.groupId=
+rules.artifactId=
+rules.version=
diff --git a/controlloop/packages/pom.xml b/controlloop/packages/pom.xml
new file mode 100644
index 0000000..f4ccb14
--- /dev/null
+++ b/controlloop/packages/pom.xml
@@ -0,0 +1,43 @@
+<!--
+ ============LICENSE_START=======================================================
+ Drools PDP Application Models
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.policy.drools-applications</groupId>
+ <artifactId>controlloop</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>packages</artifactId>
+ <packaging>pom</packaging>
+
+ <name>PDP-D Application Installation Packages</name>
+ <description>PDP-D Installation</description>
+
+ <modules>
+ <module>basex</module>
+ <module>artifacts</module>
+ <module>apps</module>
+ </modules>
+</project>