#!/bin/sh

# Copyright notice: Copyright (c) 2005 - 2024 Veryant

ISCOBOL_VERSION=2024R2
ISCOBOL_BVERSION=2024



ISCOBOL_ETC="\
iscobol.properties 
"
ISCOBOLT_LIB="\
asm-9.6.jar \
asm-commons-9.6.jar \
asm-tree-9.6.jar \
bcprov-jdk14-1.38.jar \
charva.jar \
commons-codec-1.13.jar \
commons-collections4-4.4.jar \
commons-compress-1.19.jar
commons-logging-api.jar \
commons-logging.jar \
commons-math3-3.6.1.jar
DJNativeSwing.jar \
DJNativeSwing-SWT.jar \
iscobol.jar \
ctree-rtg.jar \
isupdater.jar \
image4j-0.7.2.jar \
itext-2.1.7v5.jar \
jacoco-core-0.8.11.jar \
javassist.jar \
jcommon-xml-1.0.23.jar \
jcommon-1.0.23.jar \
jcalendar-1.3.3.jar \
jdom.jar \
jfreechart-*.jar \
jna-5.2.0.jar \
jna-platform-5.2.0.jar \
poi-*.jar \
swt-*.jar \
wow.jar \
wowax.jar \
xmlbeans-3.1.0.jar
"
ISCOBOLT_NATIVE="\
libdyncall.so \
libdyncall_n.so
"
ISCOBOL_ROOT="\
CHANGELOG.md \
COPYRIGHT.md \
EULA.md \
README_WEBC.md
"

ISCOBOLWC_LIB="\
$ISCOBOLT_LIB 
"
ISCOBOLWC_BIN="\
webclient \
webcclient \
iscclient
"
ISCOBOLWCAD_BIN="\
webcclient-and-admin \
webclient-and-admin
"
ISCOBOLWA_BIN="\
webclient-admin \
webcclient-admin \
iscclient
"
ISCOBOLWL_BIN="\
webclient-cluster \
webcclient-cluster \
iscclient
"
ISCOBOLWS_BIN="\
webclient-session \
webcclient-session \
iscclient
"

ISCOBOLWT_BIN="\
webclient-testtool \
webcclient-testtool \
iscclient
"


# Subroutines
getOS()
{
OS=`uname -a`
case $OS in
  SunOS*)    MACHINE_SUFFIX="SunOS.32"         SHARED_LIB_EXT="so" ;;
  SCO*)      MACHINE_SUFFIX="SCO_SV"           SHARED_LIB_EXT="so";;
  Linux*)    MACHINE_SUFFIX="Linux.32.i586"    SHARED_LIB_EXT="so" ;;
  Darwin*)   MACHINE_SUFFIX="MacOSX.64.x86_64" SHARED_LIB_EXT="jnilib" ISCOBOL_JDK_ROOT="/usr" ;;
  AIX*)      MACHINE_SUFFIX="AIX.32"           SHARED_LIB_EXT="so" ;;
  HP-UX*9000*) MACHINE_SUFFIX="HP-UX.9000.32"  SHARED_LIB_EXT="sl" ;;  
  HP-UX*)    MACHINE_SUFFIX="HP-UX.32"         SHARED_LIB_EXT="so" ;;
esac

BIT=`uname -a`
case $BIT in
  SunOS*64)    MACHINE_SUFFIX="SunOS.64"        SHARED_LIB_EXT="so" ;;
  Linux*64*)   MACHINE_SUFFIX="Linux.x86_64"    SHARED_LIB_EXT="so" ;;
  AIX*64)      MACHINE_SUFFIX="AIX.64"          SHARED_LIB_EXT="so" ;;
  HP-UX*9000*64) MACHINE_SUFFIX="HP-UX.9000.64" SHARED_LIB_EXT="sl" ;;  
  HP-UX*64)      MACHINE_SUFFIX="HP-UX.64"      SHARED_LIB_EXT="so" ;;
esac

}

getJavac()
{
if [ -z "${ISCOBOL_JDK_ROOT}" ]
then

    _JAVAC_LOCATION=`type javac | cut -f3 -d' '` 

    while [ -h "$_JAVAC_LOCATION" ]; do
       ls=`ls -ld "$_JAVAC_LOCATION"`
       link=`expr "$ls" : '.*-> \(.*\)$'`
       if expr "$link" : '/.*' > /dev/null; then
         _JAVAC_LOCATION="$link"
       else
         _JAVAC_LOCATION=`dirname "$_JAVAC_LOCATION"`/"$link"
       fi
    done  

    if [ -z "$_JAVAC_LOCATION" ]
    then
        echo "ERROR: Could not locate JDK. Please ensure that 'javac' is"
        echo "on your PATH or set ISCOBOL_JDK_ROOT"
        exit 1
    fi
    _JDK_BINDIR=`dirname $_JAVAC_LOCATION`
    ISCOBOL_JDK_ROOT=`dirname $_JDK_BINDIR`
fi

}

echobsd ()
{
  echo -n "$*"
}

echoiBCS2 ()
{
  echo "${*}\c"
}

if [ `echo "x\c"` = "x" ]; then
  echonl=echoiBCS2
else
  echonl=echobsd
fi

YesNo () {
  ans=;
  DefAns=`echo $2| tr "[a-z]" "[A-Z]"| cut -c -1`
  SHOW='Y/n'
  if [ "X$DefAns" = "XN" ]; then SHOW='y/N'; fi
  if [ "X$DefAns" != "XY" -a "X$DefAns" != "XN" ]; then DefAns='Y'; fi
  while [ "X$ans" = "X" ]; do
    $echonl "$1 ($SHOW)? "
    read ans
    ans=`echo $ans| tr "[a-z]" "[A-Z]"`
    if [ "X$ans" = "X" ]; then ans=$DefAns; fi
    case $ans in
      Y|YES) ans=yes;;
      N|NO ) ans=no;;
      *)     ans=;;
    esac
  done
}

InsYesNo () {
  YesNo "Do you want to install the $1." "$2"
}

ReadKey () {
  ans=;
  while [ "X$ans" = "X" ]; do
    $echonl "$1 [ $2 ] "
    read ans
    ans=`echo $ans| tr "[a-z]" "[A-Z]"| cut -c -2`
    if [ "X$ans" = "X" ]; then ans=`echo $3| cut -c -2`; fi
    for arg in $2; do
      if [ "X$arg" = "X$ans" ]; then ans=$arg; break; fi
    done
    if [ "X$arg" != "X$ans" ]; then ans=; fi
  done
}
ShowOpt () {
  len=`echo "$1" | wc -c | sed -e 's/ //g'`
  count=`expr $2 - $len`
  $echonl $1
  echo $count "$3" | awk '{ for (i=0; i<= $1; i++) printf $2 }'
}

_Logo () {
  cat << EOF


Please read README_WEBC.md to learn how to use isCOBOL and information
specific to isCOBOL ${ISCOBOL_VERSION}.


EOF
}

Logo () {
  clear
  s0=`Center "isCOBOL WebClient Installation" 79`
  s1=`Center "For isCOBOL Release ${ISCOBOL_VERSION}" 79`
  s2=`Center "Copyright (c) 2005 - 2024 Veryant" 79`
  cat << EOF
===============================================================================

$s0
$s1
$s2

===============================================================================
EOF
}

Center () {
  len=`echo "$1" | wc -c | sed -e 's/ //g'`
  left=`expr $2 - \( $2 - $len \) / 2`
  printf "%${left}s" "$1"
}

ShowMain () {
  Logo
  cat << EOF

Install Components:

    [0] `ShowOpt "$ISCOBOLALL_TITLE" 50 "."` (${ISCOBOLALL_INSTALL})
    [1] `ShowOpt "$ISCOBOLWC_TITLE" 50 "."` (${ISCOBOLWC_INSTALL})
    [2] `ShowOpt "$ISCOBOLWA_TITLE" 50 "."` (${ISCOBOLWA_INSTALL})
    [3] `ShowOpt "$ISCOBOLWL_TITLE" 50 "."` (${ISCOBOLWL_INSTALL})
    [4] `ShowOpt "$ISCOBOLWS_TITLE" 50 "."` (${ISCOBOLWS_INSTALL})
    [5] `ShowOpt "$ISCOBOLWT_TITLE" 50 "."` (${ISCOBOLWT_INSTALL})


Install Path:
    [P] $ISCOBOL_PATH_TITLE: $ISCOBOL_INSTALLATION_TITLE

JDK Path:
    [J] $JDK_PATH_TITLE: $JDK_INSTALLATION_PATH

[S] Start Install        [Q] Quit

==============================================================================
EOF
}


WCMenu () {
  echo
    InsYesNo "$ISCOBOLWC_TITLE" "$ISCOBOLWC_INSTALL"
    ISCOBOLWC_INSTALL=$ans
}
WAMenu () {
  echo
    InsYesNo "$ISCOBOLWA_TITLE" "$ISCOBOLWA_INSTALL"
    ISCOBOLWA_INSTALL=$ans
}
WLMenu () {
  echo
    InsYesNo "$ISCOBOLWL_TITLE" "$ISCOBOLWL_INSTALL"
    ISCOBOLWL_INSTALL=$ans
}
WSMenu () {
  echo
    InsYesNo "$ISCOBOLWS_TITLE" "$ISCOBOLWS_INSTALL"
    ISCOBOLWS_INSTALL=$ans
}
WTMenu () {
  echo
    InsYesNo "$ISCOBOLWT_TITLE" "$ISCOBOLWT_INSTALL"
    ISCOBOLWT_INSTALL=$ans
}
AllMenu () {
  echo
    InsYesNo "$ISCOBOLALL_TITLE" "$ISCOBOLALL_INSTALL"
    ISCOBOLWC_INSTALL=$ans
    ISCOBOLWA_INSTALL=$ans
    ISCOBOLWL_INSTALL=$ans
    ISCOBOLWS_INSTALL=$ans
    ISCOBOLWT_INSTALL=$ans
    ISCOBOLALL_INSTALL=$ans
}
OSMenu () {
  echo
    $echonl "$OS_TITLE: "
    read ans
    if [ "$ans" = "" ]; then
       echo "Possible choices are: " 
       echo 
       echo "Linux.32.i586, Linux.64.x86_64, AIX.32, AIX.64, HP-UX.32, HP-UX.64"
       echo "HP-UX.9000.32, HP-UX.9000.64, SunOS.32, SunOS.64 , MacOSX.64.x86_64 , SCO_SR , SCO_SV" 
       echo
       $echonl "$OS_TITLE: "
       read ans
    fi
    if [ "$ans" != "" ]; then
          MACHINE_SUFFIX=$ans
    fi
}

InstallPathMenu () {
    $echonl "$ISCOBOL_PATH_TITLE: "
    read ans
    if [ "$ans" != "" ]; then
      if [ -d "$ans" ]; then
          ISCOBOL_INSTALLATION_TITLE=$ans
          ISCOBOL_INSTALLATION_PATH=$ans/isCOBOL_WEBC$ISCOBOL_VERSION
      fi
    fi
}
InstallJDKMenu () {
    $echonl "$JDK_PATH_TITLE: "
    read ans
    if [ "$ans" != "" ]; then
          JDK_INSTALLATION_PATH=$ans
    fi
}



ISCOBOLWC_TITLE="isCOBOL WebClient"
ISCOBOLWC_INSTALL="yes"
ISCOBOLWA_TITLE="isCOBOL WebClient Admin"
ISCOBOLWA_INSTALL="yes"
ISCOBOLWL_TITLE="isCOBOL WebClient Cluster"
ISCOBOLWL_INSTALL="no"
ISCOBOLWS_TITLE="isCOBOL WebClient Session Pool"
ISCOBOLWS_INSTALL="no"
ISCOBOLWT_TITLE="isCOBOL WebClient Test Tool"
ISCOBOLWT_INSTALL="no"

ISCOBOLALL_TITLE="All products"
ISCOBOLALL_INSTALL="no"


OS_TITLE="Operating System to be used" 
MACHINE_SUFFIX="unknow"

ISCOBOL_PATH_TITLE="isCOBOL parent directory"
ISCOBOL_INSTALLATION_PATH=$HOME/veryant/isCOBOL_WEBC$ISCOBOL_VERSION
ISCOBOL_INSTALLATION_TITLE=$HOME/veryant



getOS
JDK_INSTALLATION_PATH=$ISCOBOL_JDK_ROOT

JDK_PATH_TITLE="JDK install directory"
getJavac
JDK_INSTALLATION_PATH=$ISCOBOL_JDK_ROOT

while [ 1 ]; do
  ShowMain
  ReadKey "Please press" "0 1 2 3 4 5 P J S Q"
  case $ans in
  0) AllMenu
     ;;
  1) WCMenu
     ;;
  2) WAMenu
     ;;
  3) WLMenu
     ;;
  4) WSMenu
     ;;     
  5) WTMenu
     ;;     
  P) InstallPathMenu
     ;;
  J) InstallJDKMenu
     ;;
  S) break
     ;;
  Q) exit 1
     ;;
  esac
done

echo "Start install ......"

if [ ! -d ${ISCOBOL_INSTALLATION_PATH} ]; then
  mkdir ${ISCOBOL_INSTALLATION_PATH}
else
  YesNo "Do you want to remove the old version." "NO"
  if [ $ans = no ]; then
    echo "Installation updating."
  else
    rm `ls --ignore=*.tar --ignore=setupwebc ` -rf
  fi
fi

echo
echo "Installing: " $ISCOBOL_TITLE "for" $MACHINE_SUFFIX 
echo " on" ${ISCOBOL_INSTALLATION_PATH} 
echo

rm -rf .tmp
mkdir .tmp
cd .tmp
tar -xf ../isCOBOL_2024_R2_1131_8_20241108_38916_WEBC_Linux.64.x86_64.tar

#default java to be used

mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin

cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/default_java.conf

# Generated from isCOBOL ${ISCOBOL_VERSION} WebClient setup

ISCOBOL=${ISCOBOL_INSTALLATION_PATH}
ISCOBOL_JDK_ROOT=$JDK_INSTALLATION_PATH
ISCOBOL_JRE_ROOT=$JDK_INSTALLATION_PATH

EOF

# isCOBOL WebClient

if [ "$ISCOBOLWC_INSTALL" = 'yes' ]; then
   echo "Installing: " $ISCOBOLWC_TITLE
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/jars
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/lib
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/native 
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient  
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient/server
   


   for i in $ISCOBOL_ROOT
   do
     cp -f $i ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_LIB
   do
     cp -f lib/$i ${ISCOBOL_INSTALLATION_PATH}/lib &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed ($i)" )
   done

   cp -r -f native ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (native files)" )

   cp -r -f jars ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (jars files)" )
   
   cp -f -r webclient/webclient.* ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient config files)" )

   cp -f -r webclient/jetty.* ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient jetty file)" )
      
   cp -f -r webclient/webclient-server.war ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient war file)" )

   cp -f -r webclient/server/*.* ${ISCOBOL_INSTALLATION_PATH}/webclient/server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient jetty launcher file)" )

   cp -f -r webclient/api ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient api folder)" )   
      
   cp -f -r webclient/fonts ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient fonts folder)" ) 
      
   cp -f -r webclient/lang ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient lang folder)" )        
      
   cp -f -r webclient/security ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (webclient security folder)" ) 

 
   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_HOME
# WEBCLIENT_OPTS
# WEBCLIENT_JAVA_EXE
# WEBCLIENT_JAVA_OPTS
# WEBCLIENT_LOG_FILE
# WEBCLIENT_PID_FILE
# 
# for example: 
# WEBCLIENT_HOME=/home/webclient WEBCLIENT_JAVA_EXE=/var/share/jdk8/bin/java ./webclient start

EOF
      
fi

# isCOBOL WebClient Admin

if [ "$ISCOBOLWA_INSTALL" = 'yes' ]; then
   echo "Installing: " $ISCOBOLWA_TITLE
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/jars
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/lib
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/native 
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient/admin


   for i in $ISCOBOL_ROOT
   do
     cp -f $i ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_LIB
   do
     cp -f lib/$i ${ISCOBOL_INSTALLATION_PATH}/lib &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWA_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed ($i)" )
   done

   cp -r -f native ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed (native files)" )

   cp -r -f jars ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed (jars files)" )
   
   cp -f -r webclient/admin ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWA_TITLE " installation failed (webclient admin files)" )

   cp -f -r webclient/admin/server/*.* ${ISCOBOL_INSTALLATION_PATH}/webclient/admin/server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (admin jetty launcher files)" )      
      
   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient-admin.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_ADMIN_HOME
# WEBCLIENT_ADMIN_OPTS
# WEBCLIENT_ADMIN_JAVA_EXE
# WEBCLIENT_ADMIN_JAVA_OPTS
# WEBCLIENT_ADMIN_LOG_FILE
# WEBCLIENT_ADMIN_PID_FILE
# 
# for example: 
# WEBCLIENT_ADMIN_HOME=/home/webclient WEBCLIENT_ADMIN_JAVA_EXE=/var/share/jdk8/bin/java ./webclient-admin start
EOF
      
fi


# isCOBOL WebClient and Admin

if [ "$ISCOBOLWC_INSTALL" = 'yes' ] && [ "$ISCOBOLWA_INSTALL" = 'yes' ]; then

   for i in $ISCOBOLWCAD_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed ($i)" )
   done
   
   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient-and-admin.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_HOME
# WEBCLIENT_OPTS
# WEBCLIENT_JAVA_EXE
# WEBCLIENT_JAVA_OPTS
# WEBCLIENT_LOG_FILE
# WEBCLIENT_PID_FILE
# 
# for example: 
# WEBCLIENT_HOME=/home/webclient WEBCLIENT_JAVA_EXE=/var/share/jdk8/bin/java ./webclient-and-admin start
EOF
fi

# isCOBOL WebClient Cluster

if [ "$ISCOBOLWL_INSTALL" = 'yes' ]; then
   echo "Installing: " $ISCOBOLWL_TITLE
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/jars
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/lib
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/native 
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/cluster-server


   for i in $ISCOBOL_ROOT
   do
     cp -f $i ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_LIB
   do
     cp -f lib/$i ${ISCOBOL_INSTALLATION_PATH}/lib &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWL_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed ($i)" )
   done

   cp -r -f native ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (native files)" )

   cp -r -f jars ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (jars files)" )
   
   cp -f -r webclient/cluster/cluster-server ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (webclient cluster files)" )
      
   cp -f -r webclient/cluster/webclient.war ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/cluster-server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (webclient war files)" )  

   cp -f -r webclient/api ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/cluster-server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (webclient api folder)" )   
         
   cp -f -r webclient/lang ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/cluster-server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (webclient lang folder)" )        
      
   cp -f -r webclient/security ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/cluster-server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWL_TITLE " installation failed (webclient security folder)" )    

   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient-cluster.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_CL_HOME
# WEBCLIENT_CL_OPTS
# WEBCLIENT_CL_JAVA_EXE
# WEBCLIENT_CL_JAVA_OPTS
# WEBCLIENT_CL_LOG_FILE
# WEBCLIENT_CL_PID_FILE
# 
# for example: 
# WEBCLIENT_CL_HOME=/home/webclient-cluster WEBCLIENT_CL_JAVA_EXE=/var/share/jdk8/bin/java ./webclient-cluster start
EOF

fi

# isCOBOL WebClient Session Pool

if [ "$ISCOBOLWS_INSTALL" = 'yes' ]; then
   echo "Installing: " $ISCOBOLWS_TITLE
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/jars
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/lib
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/native 
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/session-pool


   for i in $ISCOBOL_ROOT
   do
     cp -f $i ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_LIB
   do
     cp -f lib/$i ${ISCOBOL_INSTALLATION_PATH}/lib &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWS_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed ($i)" )
   done

   cp -r -f native ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed (native files)" )

   cp -r -f jars ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed (jars files)" )
   
   cp -f -r webclient/cluster/session-pool ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed (webclient session pool files)" )
      
   cp -f -r webclient/cluster/webclient.war ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/session-pool &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed (webclient war files)" )     
      
   cp -f -r webclient/fonts ${ISCOBOL_INSTALLATION_PATH}/webclient/cluster/session-pool &&
      (:) || ( echo "ERROR!:" $ISCOBOLWS_TITLE " installation failed (webclient fonts folder)" )  
      
   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient-session.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_SP_HOME
# WEBCLIENT_SP_OPTS
# WEBCLIENT_SP_JAVA_EXE
# WEBCLIENT_SP_JAVA_OPTS
# WEBCLIENT_SP_LOG_FILE
# WEBCLIENT_SP_PID_FILE
# 
# for example: 
# WEBCLIENT_SP_HOME=/home/webclient-session WEBCLIENT_SP_JAVA_EXE=/var/share/jdk8/bin/java ./webclient-session start
EOF
      
fi

# isCOBOL WebClient Test Tool

if [ "$ISCOBOLWT_INSTALL" = 'yes' ]; then
   echo "Installing: " $ISCOBOLWT_TITLE
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/bin
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/jars
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/lib
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/native 
   mkdir -p ${ISCOBOL_INSTALLATION_PATH}/webclient/test-tool


   for i in $ISCOBOL_ROOT
   do
     cp -f $i ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWC_LIB
   do
     cp -f lib/$i ${ISCOBOL_INSTALLATION_PATH}/lib &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed ($i)" )
   done

   for i in $ISCOBOLWT_BIN
   do
     cp -f bin/$i ${ISCOBOL_INSTALLATION_PATH}/bin &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed ($i)" )
   done

   cp -r -f native ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed (native files)" )

   cp -r -f jars ${ISCOBOL_INSTALLATION_PATH} &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed (jars files)" )
   
   cp -f -r webclient/test-tool ${ISCOBOL_INSTALLATION_PATH}/webclient &&
      (:) || ( echo "ERROR!:" $ISCOBOLWT_TITLE " installation failed (webclient test tool files)" )

   cp -f -r webclient/test-tool/server/*.* ${ISCOBOL_INSTALLATION_PATH}/webclient/test-tool/server &&
      (:) || ( echo "ERROR!:" $ISCOBOLWC_TITLE " installation failed (test tool jetty launcher files)" )

      
   cat << EOF > ${ISCOBOL_INSTALLATION_PATH}/bin/webclient-testtool.options

# Generated from isCOBOL ${ISCOBOL_VERSION} setup

# Use following variables to override default settings:
# WEBCLIENT_SP_HOME
# WEBCLIENT_SP_OPTS
# WEBCLIENT_SP_JAVA_EXE
# WEBCLIENT_SP_JAVA_OPTS
# WEBCLIENT_SP_LOG_FILE
# WEBCLIENT_SP_PID_FILE
# 
# for example: 
# WEBCLIENT_SP_HOME=/home/webclient-test-tool WEBCLIENT_SP_JAVA_EXE=/var/share/jdk8/bin/java ./webclient-test-tool start
EOF
      
fi

#clean up temporary directory
cd ..
rm -rf .tmp
_Logo
