summaryrefslogtreecommitdiffstats
path: root/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
diff options
context:
space:
mode:
authorTaka Cho <takamune.cho@att.com>2020-12-02 15:27:04 -0500
committerTaka Cho <takamune.cho@att.com>2020-12-07 17:57:49 -0500
commit395b49a08401890e7fa3af1fc869e4049a4bda36 (patch)
tree106510267f5a0477cbd0f3d6452ef604152a3d12 /packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
parente267120c204303088f3c15e580a5e1a364e014f5 (diff)
move all bash to ash shell scripts - apex
bash scripts convert to ash Issue-ID: POLICY-2847 Change-Id: I4617223d4914820797f5ea121f75ee5f69a6ba40 Signed-off-by: Taka Cho <takamune.cho@att.com>
Diffstat (limited to 'packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh')
-rwxr-xr-xpackages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh226
1 files changed, 157 insertions, 69 deletions
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 255500a9f..ad7cc7cb4 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
@@ -1,4 +1,4 @@
-#!/bin/bash -x
+#!/usr/bin/env ash
#-------------------------------------------------------------------------------
# ============LICENSE_START=======================================================
@@ -30,18 +30,19 @@
## @package org.onap.policy.apex
## @author Sven van der Meer <sven.van.der.meer@ericsson.com>
## @version v2.0.0
-
+##
+## convert to ash shell script 12/1/2020
+##
+##set -x
##
## DO NOT CHANGE CODE BELOW, unless you know what you are doing
##
-if [ -z $APEX_HOME ]
-then
+if [ -z "$APEX_HOME" ]; then
APEX_HOME="/opt/app/policy/apex-pdp"
fi
-if [ ! -d $APEX_HOME ]
-then
+if [ ! -d "$APEX_HOME" ]; then
echo
echo 'Apex directory "'$APEX_HOME'" not set or not a directory'
echo "Please set environment for 'APEX_HOME'"
@@ -58,15 +59,8 @@ TRUSTSTORE_PASSWORD="${TRUSTSTORE_PASSWORD:-Pol1cy_0nap}"
HTTPS_PARAMETERS="-Djavax.net.ssl.keyStore=${KEYSTORE} -Djavax.net.ssl.keyStorePassword=${KEYSTORE_PASSWORD} -Djavax.net.ssl.trustStore=$TRUSTSTORE -Djavax.net.ssl.trustStorePassword=${TRUSTSTORE_PASSWORD}"
## script name for output
-MOD_SCRIPT_NAME=`basename $0`
+MOD_SCRIPT_NAME=$(basename $0)
-## check BASH version, we need >=4 for associative arrays
-if [ "${BASH_VERSION:0:1}" -lt 4 ] ; then
- echo
- echo "$MOD_SCRIPT_NAME: requires bash 4 or higher for associative arrays"
- echo
- exit
-fi
## config for CP apps
_config="${HTTPS_PARAMETERS} -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -Dhazelcast.config=$APEX_HOME/etc/hazelcast.xml -Dhazelcast.mancenter.enabled=false"
@@ -75,49 +69,25 @@ _config="${HTTPS_PARAMETERS} -Dlogback.configurationFile=$APEX_HOME/etc/logback.
_jmxconfig="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9911 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false "
## Maven/APEX version
-_version=`cat $APEX_HOME/etc/app-version.txt`
+_version=$(cat $APEX_HOME/etc/app-version.txt)
-## system to get CygWin paths
-system=`uname -s | cut -c1-6`
+## system to get CygWin paths
+## NOTE: CygWin can not be tested with ash, due to lack of env setup
+system=$(uname -s | cut -c1-6)
cpsep=":"
-if [ "$system" == "CYGWIN" ] ; then
+if [ "$system" = "CYGWIN" ] ; then
APEX_HOME=`cygpath -m ${APEX_HOME}`
- cpsep=";"
+ cpsep=";"
fi
-
## CP for CP apps
CLASSPATH="$APEX_HOME/etc${cpsep}$APEX_HOME/etc/hazelcast${cpsep}$APEX_HOME/etc/infinispan${cpsep}$APEX_HOME/lib/*"
-## array of applications with name=command
-declare -A APEX_APP_MAP
-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.Model2EventMain"
-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.Model2ClMain"
-APEX_APP_MAP["cli-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain"
-APEX_APP_MAP["cli-tosca-editor"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain"
-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["event-gen"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator"
-APEX_APP_MAP["onappf"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.services.onappf.ApexStarterMain"
-APEX_APP_MAP["jmx-test"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config $_jmxconfig org.onap.policy.apex.service.engine.main.ApexMain"
-
-## array of applications with name=description
-declare -A APEX_APP_DESCR_MAP
-APEX_APP_DESCR_MAP["ws-console"]="a simple console sending events to APEX, connect to APEX consumer port"
-APEX_APP_DESCR_MAP["ws-echo"]="a simple echo client printing events received from APEX, connect to APEX producer port"
-APEX_APP_DESCR_MAP["tpl-event-json"]="provides JSON templates for events generated from a policy model"
-APEX_APP_DESCR_MAP["model-2-cli"]="generates CLI Editor Commands from a policy model"
-APEX_APP_DESCR_MAP["cli-editor"]="runs the APEX CLI Editor"
-APEX_APP_DESCR_MAP["cli-tosca-editor"]="runs the APEX CLI Tosca Editor"
-APEX_APP_DESCR_MAP["engine"]="starts the APEX engine"
-APEX_APP_DESCR_MAP["event-generator"]="starts the event generator in a simple webserver for performance testing"
-APEX_APP_DESCR_MAP["onappf"]="starts the ApexStarter which handles the Apex Engine based on instructions from PAP"
-APEX_APP_DESCR_MAP["jmx-test"]="starts the APEX engine with creating jmx connection configuration"
+cmd_list="ws-console ws-echo tpl-event-json model-2-cli cli-editor cli-tosca-editor engine event-generator onappf jmx-test"
##
## Help screen and exit condition (i.e. too few arguments)
##
-Help()
+function Help()
{
echo ""
echo "$MOD_SCRIPT_NAME - runs APEX applications"
@@ -130,8 +100,130 @@ Help()
echo " -h - this help screen"
echo ""
echo ""
- exit 255;
+ exit 255
+}
+
+
+##
+## set java command for each option
+##
+function set_java_cmd()
+{
+ case "$1" in
+ ws-console)
+ {
+ echo "java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar -c"
+ };;
+ ws-echo)
+ {
+ echo "java -jar $APEX_HOME/lib/applications/simple-wsclient-$_version-jar-with-dependencies.jar"
+ };;
+ tpl-event-json)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2event.Model2EventMain"
+ };;
+ model-2-cli)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.tools.model.generator.model2cli.Model2ClMain"
+ };;
+ cli-editor)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain"
+ };;
+ cli-tosca-editor)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain"
+ };;
+ engine)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.service.engine.main.ApexMain"
+ };;
+ event-generator)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator"
+ };;
+ onappf)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.services.onappf.ApexStarterMain"
+ };;
+ jmx-test)
+ {
+ echo "java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config $_jmxconfig org.onap.policy.apex.service.engine.main.ApexMain"
+ };;
+ *)
+ {
+ echo ""
+ };;
+ esac
}
+
+
+##
+## print the description for each option
+##
+function print_description()
+{
+ case "$1" in
+ ws-console)
+ {
+ echo "a simple console sending events to APEX, connect to APEX consumer port"
+ echo ""
+ };;
+ ws-echo)
+ {
+ echo "a simple echo client printing events received from APEX, connect to APEX producer port"
+ echo ""
+ };;
+ tpl-event-json)
+ {
+ echo "provides JSON templates for events generated from a policy model"
+ echo ""
+ };;
+ model-2-cli)
+ {
+ echo "generates CLI Editor Commands from a policy model"
+ echo ""
+ };;
+ cli-editor)
+ {
+ echo "runs the APEX CLI Editor"
+ echo ""
+ };;
+ cli-tosca-editor)
+ {
+ echo "runs the APEX CLI Tosca Editor"
+ echo ""
+ };;
+ engine)
+ {
+ echo "starts the APEX engine"
+ echo ""
+ };;
+ event-generator)
+ {
+ echo "starts the event generator in a simple webserver for performance testing"
+ echo ""
+ };;
+ onappf)
+ {
+ echo "starts the ApexStarter which handles the Apex Engine based on instructions from PAP"
+ echo ""
+ };;
+ jmx-test)
+ {
+ echo "starts the APEX engine with creating jmx connection configuration"
+ echo ""
+ };;
+ *)
+ {
+ echo "$MOD_SCRIPT_NAME: unknown application '$1'"
+ echo "$MOD_SCRIPT_NAME: supported applications:"
+ echo " --> ${cmd_list}"
+ echo ""
+ };;
+ esac
+}
+
if [ $# -eq 0 ]; then
Help
fi
@@ -140,45 +232,41 @@ fi
##
## read command line, cannot do as while here due to 2-view CLI
##
-if [ "$1" == "-l" ]; then
+if [ "$1" = "-l" ]; then
echo "$MOD_SCRIPT_NAME: supported applications:"
- echo " --> ${!APEX_APP_MAP[@]}"
+ echo " --> ${cmd_list}"
echo ""
exit 0
fi
-if [ "$1" == "-d" ]; then
+if [ "$1" = "-d" ]; then
if [ -z "$2" ]; then
echo "$MOD_SCRIPT_NAME: no application given to describe, supported applications:"
- echo " --> ${!APEX_APP_MAP[@]}"
+ echo " --> ${cmd_list}"
echo ""
- exit 0;
else
- _cmd=${APEX_APP_DESCR_MAP[$2]}
- if [ -z "$_cmd" ]; then
- echo "$MOD_SCRIPT_NAME: unknown application '$2'"
- echo ""
- exit 0;
- fi
- echo "$MOD_SCRIPT_NAME: application '$2'"
- echo " --> $_cmd"
- echo ""
- exit 0;
+ print_description $2
fi
+ exit 0;
fi
-if [ "$1" == "-h" ]; then
+if [ "$1" = "-h" ]; then
Help
exit 0
fi
-
+#
+# begin to run java
+#
_app=$1
shift
-_cmd=${APEX_APP_MAP[$_app]}
-if [ -z "$_cmd" ]; then
- echo "$MOD_SCRIPT_NAME: application '$_app' not supported"
- exit 1
+_cmd=$(set_java_cmd $_app)
+if [ -z "${_cmd}" ]; then
+ echo "$MOD_SCRIPT_NAME: unknown application '$_app'"
+ echo "$MOD_SCRIPT_NAME: supported applications:"
+ echo " --> ${cmd_list}"
+ echo ""
+ exit 0
fi
_cmd="$_cmd $*"
-## echo "$MOD_SCRIPT_NAME: running application '$_app' with command '$_cmd'"
+echo "$MOD_SCRIPT_NAME: running application '$_app' with command '$_cmd'"
exec $_cmd