#!/usr/bin/qsh
#
# //  DESCRIPTION:
# //      Script file configure/unconfigure SSL 
# //      information for using Tivoli Access Manager with WAS

. $(/usr/bin/dirname $0)/setupCmdLine

# Issue error message if we are unable to determine valid profile
CMD_NAME=`basename $0`

if [ "${INV_PRF_SPECIFIED:=}" != "" ] && [ "$INV_PRF_SPECIFIED" = "true" ]
then
    ${JAVA_HOME}/bin/java ${JAVA_VERSION} -cp "${WAS_HOME}/lib/commandlineutils.jar" com.ibm.ws.install.commandline.utils.CommandLineUtils -specifiedProfileNotExists -profileName $WAS_PROFILE_NAME
    exit 1
elif [ "${WAS_USER_SCRIPT_FILE_NOT_EXISTS:=}" != "" ] && [ "$WAS_USER_SCRIPT_FILE_NOT_EXISTS" = "true" ]
then
    ${JAVA_HOME}/bin/java ${JAVA_VERSION} -cp "${WAS_HOME}/lib/commandlineutils.jar" com.ibm.ws.install.commandline.utils.CommandLineUtils -wasUserScriptFileNotExists -wasUserScript $WAS_USER_SCRIPT
    exit 1
elif [ "${NO_DFT_PRF_EXISTS:=}" != "" ] && [ "$NO_DFT_PRF_EXISTS" = "true" ]
then
    ${JAVA_HOME}/bin/java ${JAVA_VERSION} -cp "${WAS_HOME}/lib/commandlineutils.jar" com.ibm.ws.install.commandline.utils.CommandLineUtils -noDefaultProfile -commandName $CMD_NAME
    exit 1
fi

# Retain the original arguments
ARGS="$@"

# Check arguments for cfg_file and key_file
CFGFILE=${USER_INSTALL_ROOT}/etc/pd/PolicyDirector/PDPerm.properties
KEYFILE=
while [ $# -gt 0 ]; do
  case $1 in
  -cfg_file) shift
             CFGFILE=$1
             ;;
  -key_file) shift
             KEYFILE=$1
             ;;
  esac
  shift
done  

${JAVA_HOME}/bin/java ${JAVA_PARM} \
  -Dpd.cfg.home=${USER_INSTALL_ROOT}/etc/pd \
  com.ibm.ws.bootstrap.WSLauncher \
  com.tivoli.pd.jcfg.SvrSslCfg \
    -host $(/usr/bin/hostname) \
    -cfg_file ${CFGFILE} ${ARGS}

#Set appropriate authority to cfg_file and key_file if they exist
if [ -e ${CFGFILE} ]; then
  system "CHGAUT OBJ('${CFGFILE}') USER(QEJBSVR) DTAAUT(*RX)"
  system "CHGAUT OBJ('${CFGFILE}') USER(*PUBLIC) DTAAUT(*EXCLUDE) OBJAUT(*NONE)"
fi
if [ -n "$KEYFILE" ] && [ -e ${KEYFILE} ]; then
  system "CHGAUT OBJ('${KEYFILE}') USER(QEJBSVR) DTAAUT(*RX)"
  system "CHGAUT OBJ('${KEYFILE}') USER(*PUBLIC) DTAAUT(*EXCLUDE) OBJAUT(*NONE)"
fi
