aboutsummaryrefslogtreecommitdiff
path: root/vo/java/voclientd
diff options
context:
space:
mode:
Diffstat (limited to 'vo/java/voclientd')
-rwxr-xr-xvo/java/voclientd117
1 files changed, 117 insertions, 0 deletions
diff --git a/vo/java/voclientd b/vo/java/voclientd
new file mode 100755
index 00000000..1e250338
--- /dev/null
+++ b/vo/java/voclientd
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+#+
+# Name:
+# voclientd
+#
+# Purpose:
+#
+# Description:
+# This shell script invokes the VOClient daemon.
+# It's not very complicated, but performs some argument manipulation
+# prior to invoking java with the right classpath and classname.
+#
+# 1. If a class path is specified using either the CLASSPATH
+# environment variable or the -classpath flag to this script,
+# it will be added to the application classpath.
+#
+# 2. Any initial command-line arguments which look like they are destined
+# for java itself (starting with -D or -X) will be sent to java,
+# and the others will be sent to the application.
+
+# Requisites:
+# - java should be on the path.
+#
+# - the application jar file should exist in the same directory as this
+# command.
+#
+# Credits:
+# Based on the STILTS startup script by Mark Taylor (Starlink)
+# Original version - Michael Fitzpatrick, NOAO, June 2006
+# VOClient integration - DCT 2006-July-10
+# Modified for NVOSS bin,java/lib install - DCT August 2006
+# Modified for VO-CLI distro - Michael Fitzpatrick, NOAO, January 2008
+# Generalized for VO-CLI distro - Michael Fitzpatrick, NOAO, January 2009
+#-
+
+
+# The following jar files come from the NVOSS Software distribution but are
+# included with the VO-CLI distribution as well. They are needed to support
+# the voclientd interface and are assumed to be in a directory called
+# 'voclient.jars' in the same directory as the 'voclientd' command (this
+# script).
+
+
+
+# Determine the BIN and LIB directories.
+if test -n "$VOCLI_HOME" -a -f "$VOCLI_HOME/voclientd"; then
+ appjar="$VOCLI_HOME/voclient.jar"
+
+else
+
+ # Find where this script is located.
+ bindir="`dirname $0`"
+ appjar="$bindir/voclient.jar"
+
+
+ # Make sure it looks reasonable.
+ if test ! -f "${appjar}"
+ then
+ echo 1>&2 "Can't find VOClient daemon classes in ${jardir}"
+ exit 1
+ fi
+
+
+ # Locate the application jar file.
+ for j in $voc_jars; do
+ if test -z "$appjar" -a -f "$bindir/$j"; then
+ appjar="$bindir/$j"
+ jardir="$bindir/voclient.jars/"
+ fi
+ done
+
+
+ # Add the VOClient jar to the beginning of the CLASSPATH.
+ if test -f "${appjar}"; then
+ CLASSPATH="${appjar}:${CLASSPATH}"
+ fi
+fi
+
+
+# Pull out any arguments which look to be destined for the java binary.
+javaArgs="-Xmx1024m"
+while test "$1"
+do
+ if echo $1 | grep -- '^-[XD]' >/dev/null; then
+ javaArgs="$javaArgs $1"
+ shift
+ elif [ "$1" = "-classpath" -a -n "$2" ]; then
+ shift
+ export CLASSPATH="$1"
+ shift
+ else
+ break
+ fi
+done
+
+# Check for Cygwin and transform paths.
+case "`uname`" in
+ CYGWIN*)
+ if test -n "$CLASSPATH"; then
+ CLASSPATH=`cygpath --path --windows "${appjar}:$CLASSPATH"`
+ else
+ CLASSPATH=`cygpath --windows "${appjar}"`
+ fi
+ ;;
+ *)
+ CLASSPATH="${appjar}:${CLASSPATH}"
+ ;;
+esac
+
+# Execute the command.
+java \
+ $javaArgs \
+ -classpath $CLASSPATH \
+ voclient.VOClientd \
+ "$@"
+