set -x

# JINI_HOME=/home/jan/tmpdir/jini1_0_1
JINI_HOME=/home/jan/tmpdir/jini1_1
RCX_PKG=/usr/local/src/rcx.zip
export CLASSPATH=.:$JINI_HOME/lib/reggie.jar:$JINI_HOME/lib/jini-core.jar:$JINI_HOME/lib/jini-ext.jar:$JINI_HOME/lib/sun-util.jar:$RCX_PKG:$CLASSPATH

case $1 in
findlookup) 
	class=basic.MulticastRegister
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.play \
     -Djava.security.debug=access \
     -Dnet.jini.discovery.debug=1 \
     -Djava.rmi.server.logCalls=true "
	;;
client) 
	class=client.TestFileClassifier
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.client \
     -Djava.security.debug=access \
     -Dnet.jini.discovery.debug=1 \
     -Djava.rmi.server.logCalls=true "
	;;
option2) 
	class=option2.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Dnet.jini.discovery.debug=1 \
     -Djava.rmi.server.logCalls=true "
	;;
option3) 
	#if ps | grep -s rmiregistry 
	#then
	#    true
	#else
	#    rmiregistry &
	#fi
	class=option3.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.debug=access \
     -Djava.security.policy=policy.service \
     -Dnet.jini.discovery.debug=1 \
     -Djava.rmi.server.logCalls=true "
	;;
joinmgr)
	class=joinmgr.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
server1)
	class=complex.Server1
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.rmi.server.logCalls=true "
	;;
server2)
	class=complex.Server2
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.rmi.server.logCalls=true "
	;;
server3)
	class=complex.Server3
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
complexfile) 
	class=complex.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.rmi.server.logCalls=true "
	;;
complexfilermi) 
	class=complex.FileClassifierServerRMI
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
speed) 
	class=complex.PrinterServerSpeed
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
distance) 
	class=complex.PrinterServerLocation
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
lease)
	class=lease.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
rcx)
	class=rcx.jini.RCXServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
rcxclient)
	class=client.TestRCX
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
rcx2)
	class=rcx.jini.RCXServer2
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
rcxclient2)
	class=client.TestRCX2
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
heart)
	class=heart.HeartServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
heartclient)
	class=heart.HeartClient
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
txn)
	class=txn.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
txnaccounts)
	class=txn.AccountsServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
txnclient)
	class=client.TestTxn
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Dnet.jini.discovery.debug=1 \
     -Djava.rmi.server.logCalls=true \
     -Dcom.sun.jini.reggie.proxy.debug=1"
	;;
observer)
        class=client.ReggieMonitor
        args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.client"
        ;;                                    
attackLUS)
        class=hostile.AttackLUS
        args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.client"
        ;;                                    
socket)
	class=socket.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
extended)
	class=extended.FileClassifierServer
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
allcast)
	class=discoverymgt.AllcastRegister
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
immediate)
	class=client.ImmediateClientLookup
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
cached)
	class=client.CachedClientLookup
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
serviceobserver)
	class=client.ServiceMonitor
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
activation)
	class="activation.FileClassifierServer -Djava.rmi.server.codebase=http://`hostname`:80/classes/" 
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.debug=access \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
activationmutable)
	class="activation.FileClassifierServerMutable -Djava.rmi.server.codebase=http://`hostname`:80/classes/" 
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.debug=access \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
activationlease)
	class="activation.FileClassifierServerLease -Djava.rmi.server.codebase=http://`hostname`:80/classes/" 
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
activationdiscovery)
	class="activation.FileClassifierServerDiscovery -Djava.rmi.server.codebase=http://`hostname`:80/classes/" 
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
buggy)
	class="activation.Buggy -Djava.rmi.server.codebase=http://`hostname`:80/classes/" 
	args="-Djava.rmi.server.codebase=http://`hostname`:80/classes/ \
     -Djava.security.policy=policy.all \
     -Djava.rmi.server.logCalls=true "
	;;
esac

#     -Djava.security.debug=access \
#     -Dnet.jini.discovery.debug=1 \
#java -Djava.rmi.server.codebase=file:/home/WWW/htdocs/stubs/ \
#java -Djava.rmi.server.codebase=file:/home/jan/projects/jini/doc/ \

if [ $0 = "./run" ]
then 
    command=java
else
    command=jdb
fi
$command $args $class
