#!/bin/sh

#
# Copyright 1997-2007 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Script for launching SJSAS Server

# ---------------------------------------------------------------------------
# ---------------------  Resolve Links    -----------------------------------
# ---------------------------------------------------------------------------

PRG="$0"

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

# ---------------------------------------------------------------------------
# ---------------------  Set Required Environment ---------------------------
# ---------------------------------------------------------------------------

ASENV_CONF_LOCATION="/opt/glassfish/config"

if [ -r $ASENV_CONF_LOCATION/asenv.conf ]; then
  . "$ASENV_CONF_LOCATION/asenv.conf"
fi

LD_LIBRARY_PATH=$AS_INSTALL/lib:/usr/lib/lwp:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

# ---------------------------------------------------------------------------
# ---------------------  Check for Java Installation  -----------------------
# ---------------------------------------------------------------------------

JAVA_HOME="$AS_JAVA"
# Make sure prerequisite environment variables are set
if [ -z "$JAVA_HOME" ]; then
  echo "The JAVA_HOME environment variable is not defined"
  echo "This environment variable is needed to run this program"
  exit 1
fi

# ---------------------------------------------------------------------------
# ---------------------   Set Domain-Specific Environment  ------------------
# ---------------------------------------------------------------------------

SERVER_NAME=server
INSTANCE_ROOT="`dirname ${PRG}`/.."
PROCESS_NAME=as9-server
# ---------------------------------------------------------------------------
# ---------------------   Process Arguments   -------------------------------
# ---------------------------------------------------------------------------

SECURE=
HOLD_FLAG=return
NATIVE=
CLI=

if [ "$1" = cli ] 
then
shift
CLI=cli
SECURE=secure
fi

if [ "$1" = native ]
then
	shift
	NATIVE=native
	SECURE=secure
fi

for arg
do
	if [ $arg = "verbose" ]; then
	HOLD_FLAG=hold
fi
done

# ---------------------------------------------------------------------------
# ---------------------  Native Start    ------------------------------------
# ---------------------------------------------------------------------------

if [ "$NATIVE" = native ]
then
	"$AS_INSTALL/lib/appservLauncher" "$AS_INSTALL/lib/appservDAS" "\"$INSTANCE_ROOT/bin/startserv\" $CLI display $@"
	exit
fi

# ---------------------------------------------------------------------------
# ---------------------   Set  Environment for Readability  -----------------
# ---------------------------------------------------------------------------

CLASSNAME=com.sun.enterprise.admin.servermgmt.launch.ASLauncher
CP="$AS_INSTALL/lib/appserv-rt.jar":"$AS_INSTALL/lib/appserv-admin.jar":"$AS_INSTALL/lib/javaee.jar"
JAVA="$JAVA_HOME"/bin/java 
D01=-Dcom.sun.aas.installRoot="$AS_INSTALL" 
D02=-Dcom.sun.aas.instanceRoot="$INSTANCE_ROOT"  
D03=-Dcom.sun.aas.instanceName="$SERVER_NAME" 
D04=-Dcom.sun.aas.processName="$PROCESS_NAME"

# only needed for instances and node-agents
# D05=-Dcom.sun.aas.launcherReturn=

if [ "$CLI" = cli ]
then
	D06=-Dcaller="cli"
fi	

# ---------------------------------------------------------------------------
# ---------------------   Java Start   --------------------------------------
# ---------------------------------------------------------------------------

$JAVA -cp $CP $D01 $D02 $D03 $D04 $D05 $D06 $CLASSNAME  start "${@}"
