#!/bin/sh
# This is a wrapper script for GlassFish adminstration cli command: asadmin
# This script is for ease of use for developers. This command checks if the GlassFish default
# domain (domain1) is present under users home directory. If not, it creates it and starts the domain
# If the directory is present, it just routes all the commands to the /usr/share/sunappserver/bin/asadmin command.
# For regular asadmin commands, it pushes the commands to the actual asadmin script.
# If developer wants to use other domains; he/she should use the /usr/share/sunappserver/bin/asadmin command directly.

S1AS_HOME=/usr/share/sunappserver
GF_DOMAIN_DIR=$HOME/glassfish
ADMIN_PORT=4848
ADMIN_USER=admin
ADMIN_PASSWORD_FILE=$S1AS_HOME/config/install/default/passwordfile
DEFAULT_DOMAIN=domain1

if [ ! -r $S1AS_HOME/bin/asadmin ]
then
	echo GlassFish bin/asadmin command not Present. Is it uninstalled? Please try installing GlassFish again.
	exit 1
fi

if [ -r $GF_DOMAIN_DIR/domain1 ]
then
	if [ $# -eq 1 ]
	then
		# no domain specified use default domain
		domain=$DEFAULT_DOMAIN
	else			
		# get to the last parameter which specifies domain
		for i in $@ 
		do 
			domain="$i"
		done
	fi
  	case "$1" in
	stop-domain)
		 $S1AS_HOME/bin/asadmin stop-domain --domaindir $GF_DOMAIN_DIR $domain ;;
	start-domain)
		$S1AS_HOME/bin/asadmin start-domain --domaindir $GF_DOMAIN_DIR $domain ;;
	delete-domain)
		 $S1AS_HOME/bin/asadmin delete-domain --domaindir $GF_DOMAIN_DIR $domain ;;
	*) $S1AS_HOME/bin/asadmin "$@" ;;
	esac
else	
	# Create a new domain and start it. Domain is under $HOME/glassfish
	echo GlassFish Default Domain Not Present. Creating one in $GF_DOMAIN_DIR/domain1
	echo If you want to use other domains under $S1AS_HOME/domains use $S1AS_HOME/bin/asadmin command.
	if [ ! -r $GF_DOMAIN_DIR ]
	then
		mkdir $GF_DOMAIN_DIR
	fi
	# creating domain
	echo Creating domain domain1 @ admin port 4848
	$S1AS_HOME/bin/asadmin create-domain --domaindir $GF_DOMAIN_DIR --adminport $ADMIN_PORT --adminuser $ADMIN_USER --passwordfile $ADMIN_PASSWORD_FILE $DEFAULT_DOMAIN

	# starting the domain
	echo Starting GlassFish domain1
	$S1AS_HOME/bin/asadmin start-domain --domaindir $GF_DOMAIN_DIR $DEFAULT_DOMAIN
fi
