Fixed a bug with the ARP filtering that was generating a Runtime Exception.
[java-idp.git] / bin / ArpUtil
1 #!/bin/sh
2
3 ##We need a JVM
4 if [ ! -n "$JAVA_HOME" ] ; then
5   echo "Error: JAVA_HOME is not defined."
6   exit
7 fi
8
9 if [ ! -n "$JAVACMD" ] ; then
10   JAVACMD=$JAVA_HOME/bin/java
11 fi
12
13 if [ ! -x "$JAVACMD" ] ; then
14   echo "Error: JAVA_HOME is not defined correctly."
15   echo "Cannot execute $JAVACMD"
16   exit
17 fi
18
19
20 ##Find the shibboleth components
21 if [ ! -n "$SHIB_HOME" ] ; then
22   echo "Error: SHIB_HOME is not defined."
23   exit
24 fi
25
26 if [ ! \( -f "$SHIB_HOME/lib/shib-util.jar" -a -r "$SHIB_HOME/lib/shib-util.jar" \) ] ; then
27   echo "Error: Cannot find shibboleth utility jar."
28   echo "       If you downloaded the shibboleth source, you need to run \"ant build-util\""
29   exit
30 fi
31
32 if [ ! -n "$ARP_DIR" ] ; then
33   echo "Warning: Using working directory for ARP storage.  Define ARP_DIR to use another directory."
34   ARP_DIR=.
35 fi
36
37 if [ ! -n "$LOG_CONFIG" ] ; then
38   LOG_CONFIG=$SHIB_HOME/conf/log4j.properties
39 fi
40
41
42 ##Grab all the dependencies
43 if [ -n "$CLASSPATH" ] ; then
44   SHIB_UTIL_CLASSPATH=$CLASSPATH
45 fi
46
47 DIRLIBS=${SHIB_HOME}/lib/*.jar
48 for i in ${DIRLIBS}
49 do
50     # if the directory is empty, then it will return the input string
51     # this is stupid, so case for it
52     if [ "$i" != "${DIRLIBS}" ] ; then
53       if [ -z "$SHIB_UTIL_CLASSPATH" ] ; then
54         SHIB_UTIL_CLASSPATH=$i
55       else
56         SHIB_UTIL_CLASSPATH="$i":$SHIB_UTIL_CLASSPATH
57       fi
58     fi
59 done
60
61
62 ##Here we go
63 $JAVACMD -Dlog.config=$LOG_CONFIG -Darp.dir=$ARP_DIR -classpath $SHIB_UTIL_CLASSPATH edu.internet2.middleware.shibboleth.utils.ArpUtil "$@"