#!/bin/sh -f
# $Header: rdbms/src/server/security/dv/dvca/dvca /main/4 2010/03/02 13:56:18 vigaur Exp $
#
# dvca.sh
#
# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 
#
#    NAME
#      dvca - Shell script to run Data Vault Configuration Assistant
#
#
#    DESCRIPTION
#      Runs Data Vault Configuration Assistion java application
#      Run this script -help option to get the help.
#
#   MODIFIED   (MMDD/YY) 
#    fjlee     06/14/06 - change PLATFORM from Linux to %s_operatingSystem%
#    sgaetjen  08/23/05 - Created
#

#######################################################################
# Variables set by Oracle Universal Installer for dependent components.
#######################################################################

# Define ORACLE_HOME -> OH
OH=$ORACLE_HOME
PLATFORM=%s_operatingSystem%

ORACLE_SID=%s_dvSid%
export ORACLE_SID

#ORACLE_HOME=$OH 
#export ORACLE_HOME;

# Version specific JAR files
JRE_FILE=rt.jar
I18_FILE=i18n.jar
EWT_FILE=ewt3.jar
JEWT_FILE=jewt4.jar
EWT_COMP_FILE=ewtcompat-3_3_15.jar
SHARE_FILE=share.jar
HELP_FILE=help4.jar
ICE_BROWSER5_FILE=oracle_ice5.jar
KODIAK_FILE=kodiak.jar
SWING_FILE=swingall-1_1_1.jar
XMLPARSER_FILE=xmlparserv2.jar
JDBC_FILE=ojdbc5.jar
GDK_FILE1=orai18n.jar
GDK_FILE2=orai18n-mapping.jar
GDK_FILE3=orai18n-utility.jar
GDK_FILE4=orai18n-collation.jar
NETCFG_FILE=netcfg.jar
OJMISC_FILE=ojmisc.jar
PKI_FILE=oraclepki103.jar
LDAP_FILE=ldapjclnt10.jar
OPM_FILE=opm.jar
SRVM_FILE=srvm.jar
SRVMHAS_FILE=srvmhas.jar
SRVMASM_FILE=srvmasm.jar
ASSISTANTS_COMMON_FILE=assistantsCommon.jar
DVCA_FILE=dvca.jar
EMLITE_JAR=oemlt-10_1_0.jar
INSTALLER_FILE=OraInstaller.jar
PREREQ_JAR_FILE=OraPrereq.jar
PREREQ_CHECKS_JAR_FILE=OraPrereqChecks.jar

# Directory Variables
SRVM_JLIB_DIR=$OH/jlib
JRE_DIR=$OH/jdk/jre
LIB_DIR=$OH/lib
JLIB_DIR=$OH/jlib
DVCA_JLIB_DIR=$OH/dv/jlib
ASSISTANTS_JLIB_DIR=$OH/assistants/jlib
INSTALLER_JLIB_DIR=$OH/oui/jlib

# Classpath
JRE_CLASSPATH=$JRE_DIR/lib/$JRE_FILE
I18_CLASSPATH=$JRE_DIR/lib/$I18_FILE
EWT_CLASSPATH=$JLIB_DIR/$EWT_FILE:$JLIB_DIR/$EWT_COMP_FILE
SHARE_CLASSPATH=$JLIB_DIR/$SHARE_FILE
HELP_CLASSPATH=$JLIB_DIR/$HELP_FILE:$JLIB_DIR/$JEWT_FILE
ICE_BROWSER_CLASSPATH=$JLIB_DIR/$ICE_BROWSER5_FILE
KODIAK_CLASSPATH=$JLIB_DIR/$KODIAK_FILE
SWING_CLASSPATH=$JLIB_DIR/$SWING_FILE
XMLPARSER_CLASSPATH=$OH/lib/$XMLPARSER_FILE
JDBC_CLASSPATH=$OH/jdbc/lib/$JDBC_FILE
GDK_CLASSPATH=$JLIB_DIR/$GDK_FILE1:$JLIB_DIR/$GDK_FILE2:$JLIB_DIR/$GDK_FILE3:$JLIB_DIR/$GDK_FILE4
NETCFG_CLASSPATH=$JLIB_DIR/$NETCFG_FILE:$JLIB_DIR/$OJMISC_FILE:$JLIB_DIR/$PKI_FILE:$JLIB_DIR/$LDAP_FILE:$JLIB_DIR/$OPM_FILE
SRVM_CLASSPATH=$SRVM_JLIB_DIR/$SRVM_FILE:$SRVM_JLIB_DIR/$SRVMHAS_FILE:$SRVM_JLIB_DIR/$SRVMASM_FILE
EM_CLASSPATH=$OH/classes:$JLIB_DIR/$EMLITE_JAR:$JLIB_DIR/emca.jar:$OH/sysman/jlib/emCORE.jar:$OH/oc4j/j2ee/home/oc4j.jar:$OH/oc4j/j2ee/home/db_oc4j_deploy.jar:$JLIB_DIR/emConfigInstall.jar
ASSISTANTS_COMMON_CLASSPATH=$ASSISTANTS_JLIB_DIR/$ASSISTANTS_COMMON_FILE
DVCA_CLASSPATH=$DVCA_JLIB_DIR/$DVCA_FILE
INSTALLER_CLASSPATH=$INSTALLER_JLIB_DIR/$INSTALLER_FILE:$INSTALLER_JLIB_DIR/$PREREQ_JAR_FILE:$OH/inventory/prereqs/oui/$PREREQ_CHECKS_JAR_FILE:$INSTALLER_JLIB_DIR/$PREREQ_CHECKS_JAR_FILE

# Check for silent or help
SILENT="false"
for i in $*
do
   if [ $i = "-silent"  ] || [ $i = "-help"  ] || [ $i = "-h"  ] || [ $i = "-install"  ]; then
      SILENT="true"
      break
   fi
done

# Check for DISPLAY
if [ $SILENT = "false"  ]; then
   case $DISPLAY in
      "")
      echo "DISPLAY not set."
      echo "Set DISPLAY environment variable, then re-run."
      exit;
   esac
fi    

# make sure others can not read/write any files created
umask 27

# The environment variable $TWO_TASK cannot be set during the installation
unset TWO_TASK

# The environment variable $JAVA_HOME cannot be set during the installation
unset JAVA_HOME

# Basic error checking
case $OH in
    "") echo "*** ORACLE_HOME Not Set!"
        echo "    Set and export ORACLE_HOME, then re-run"
        echo "    ORACLE_HOME points to the main directory that"
        echo "    contains all Oracle products."
        exit 1;;
esac

# Set the LD_LIBRARY_PATH to set the path for shared objects
# Do not set it on AIX
if [ $PLATFORM != IBM_AIX ]; then
   LD_LIBRARY_PATH=$LIB_DIR:$OH/network/lib:$LD_LIBRARY_PATH
   export LD_LIBRARY_PATH;
fi

# Set SHLIB_PATH for HP
SHLIB_PATH=$LIB_DIR:$ORACLE_HOME/network/lib:$SHLIB_PATH
export SHLIB_PATH;

# Set LIBPATH for AIX to use native libraries
LIBPATH=$LIB_DIR:$ORACLE_HOME/network/lib:$LIBPATH
export LIBPATH;

# Set Classpath for Data Vault Configuration Assistant
CLASSPATH=$JRE_CLASSPATH:$I18_CLASSPATH:$DVCA_CLASSPATH:$ASSISTANTS_COMMON_CLASSPATH:$EWT_CLASSPATH:$SHARE_CLASSPATH:$HELP_CLASSPATH:$ICE_BROWSER_CLASSPATH:$KODIAK_CLASSPATH:$SWING_CLASSPATH:$XMLPARSER_CLASSPATH:$GDK_CLASSPATH:$NETCFG_CLASSPATH:$JDBC_CLASSPATH:$SRVM_CLASSPATH:$EM_CLASSPATH:$INSTALLER_CLASSPATH

ARGUMENTS=""
NUMBER_OF_ARGUMENTS=$#
if [ $NUMBER_OF_ARGUMENTS -gt 0 ]; then
        ARGUMENTS=$*
fi

# Set the -d64 java flag for 64 bit machines
PLATFORM=`uname`
JAVAMODE=

case $PLATFORM in "Linux")
  JAVAMODE=""
  export JAVAMODE
esac

# Sun - any 64bit OS
case $PLATFORM in "SunOS")
  if [ `/bin/file $OH/lib/nautab.o | /bin/awk '{print substr($3,0,2)}'` != "32" ]; then
    JAVAMODE="-d64"
    export JAVAMODE
  fi
esac

# For HP-UX, any 64 bit OS
case $PLATFORM in "HP-UX")
  if [ `/bin/file $OH/lib/nautab.o | /bin/awk '{print $2}'` = "ELF-64" ]; then
    JAVAMODE="-d64"
    export JAVAMODE
  fi
esac

# For AIX - a -d64 is required, as per srvctl
case $PLATFORM in "AIX")
  JAVAMODE="-d64"
  export JAVAMODE
esac

# Run DVCA
$JRE_DIR/bin/java $JAVAMODE -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=oci -mx128m -classpath $CLASSPATH oracle.security.datval.dvca.Dvca $ARGUMENTS

