diff options
Diffstat (limited to 'packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh')
-rwxr-xr-x | packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh | 226 |
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 |