Sorry about the attachment. For whatever reason, they don't seem to be working for me. Instead, here's a script file to run the whole test:
Code:
#!/bin/bash
test -e "$CLASSPATH" || {
echo "$CLASSPATH unfound. Set CLASSPATH to Ice-3.3.0.jar"; exit 1
}
echo `uname -a`
echo `java -version`
echo =========================
rm -rf test
mkdir test
cat > test/iceconfigtest.cfg<<EOF
omero.user=me
EOF
cat > test/iceconfigtest.java<<EOF
public class iceconfigtest
{
public static void main(String[] args)
{
System.out.println("ENV:" + System.getenv("ICE_CONFIG"));
Ice.InitializationData id = new Ice.InitializationData();
id.properties = Ice.Util.createProperties();
if ( args.length > 0 )
{
for ( String arg : args )
{
System.out.println("Loading: " + arg);
id.properties.load( arg );
}
}
Ice.Communicator ic = Ice.Util.initialize( id );
try
{
String value = ic.getProperties().getProperty("omero.user");
System.out.println("ICE:" + value);
assert "me".equals(value);
}
finally
{
ic.destroy();
}
}
}
EOF
cat > test/iceconfigtest.py<<EOF
import Ice, os
print "ENV: " + os.environ["ICE_CONFIG"]
id = Ice.InitializationData()
ic = Ice.initialize(id)
value = ic.getProperties().getProperty("omero.user")
print value
assert value == "me"
EOF
cd test
echo Compiling
javac -cp $CLASSPATH iceconfigtest.java
echo Passes with value on command line
env ICE_CONFIG=iceconfigtest.cfg java -ea -cp $CLASSPATH:. iceconfigtest iceconfigtest.cfg
echo Fails without.
env ICE_CONFIG=iceconfigtest.cfg java -ea -cp $CLASSPATH:. iceconfigtest
echo Also ok in Python
env ICE_CONFIG=iceconfigtest.cfg python iceconfigtest.py
And output from three different machines:
Code:
CLASSPATH=xxx/ice-3.3.0.jar ./ice_config.sh
Linux gxxx 2.6.18-53.1.14.el5 #1 SMP Wed Mar 5 11:37:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
=========================
Compiling
Passes with value on command line
ENV:iceconfigtest.cfg
Loading: iceconfigtest.cfg
ICE:me
Fails without.
ENV:iceconfigtest.cfg
ICE:
Exception in thread "main" java.lang.AssertionError
at iceconfigtest.main(iceconfigtest.java:24)
Also ok in Python
ENV: iceconfigtest.cfg
Code:
CLASSPATH=xxx/ice-3.3.0.jar ./ice_config.sh
Linux nxxx 2.6.23-gentoo-r8 #2 SMP Tue Feb 19 19:27:38 GMT 2008 x86_64 Intel(R) Xeon(R) CPU X5355 @ 2.66GHz GenuineIntel GNU/Linux
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_03-b05, mixed mode)
=========================
Compiling
Passes with value on command line
ENV:iceconfigtest.cfg
Loading: iceconfigtest.cfg
ICE:me
Fails without.
ENV:iceconfigtest.cfg
ICE:
Exception in thread "main" java.lang.AssertionError
at iceconfigtest.main(iceconfigtest.java:24)
...(missing Python)...
Code:
CLASSPATH=xxx/ice-3.3.0.jar ./ice_config.sh
Darwin jxxx 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-275)
Java HotSpot(TM) Client VM (build 1.5.0_16-132, mixed mode, sharing)
=========================
Compiling
Passes with value on command line
ENV:iceconfigtest.cfg
Loading: iceconfigtest.cfg
ICE:me
Fails without.
ENV:iceconfigtest.cfg
ICE:
Exception in thread "main" java.lang.AssertionError
at iceconfigtest.main(iceconfigtest.java:24)
Also ok in Python
ENV: iceconfigtest.cfg
me