#<HTML>
#<XMP>
# KEHOME/bin/GetResource
# Aug/10/2003

# Usage:
#	mkrGetData ? has name = value
#	GetResource Resource value prefix suffix
#
#	mkrGetData ? isa genus with name = value
#	GetResource genus value prefix suffix
#
# Example:
#	mkrGetData ? has name = "Elle MacPherson"
#	GetResource Resource "Elle MacPherson"
#
#	GetResource Resource Paris
#	GetResource Musician Paris
#	GetResource City Paris
#	GetResource UnitedStatesCity Paris
#
# Note:
#	"name" is a pseudo-attribute whose value
#	is matched against (at least) these properties
#	"label", "plural", and "adjective". 

genus="$1"
value="$2"
prefix="$3"
suffix="$4"

#echo "# INFO: GetResource: genus=$genus"
#echo "# INFO: GetResource: value=$value"

flags="includeSubClasses=yes"
flags="$flags,includeSuperClasses=yes"
#####value="$value,$flags"

# setup Sun Java and Stanford TAP environment
#============================================#
#kbdata="http://tap.stanford.edu/data/"    # production
 kbdata="http://panic.stanford.edu/data/"  # test
. systype.env
case "$systype" in
Linux)  
	export TAP_HOME="/home/tap" ;
	export CLASSPATH=".:../../tap.jar" ;
	export JAVA_HOME="/usr/java/j2sdk1.4.2" ;
	export PATH="$JAVA_HOME/bin:$PATH";;
Cygwin)
	export TAP_HOME="/home/tap" ;
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java" ;
	export PATH="$JAVA_HOME/bin:$PATH";;
Interix)
	export TAP_HOME="/home/tap" ;
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java" ;
	export PATH="$JAVA_HOME/bin:$PATH";;
Windows)
	export TAP_HOME="/home/tap" ;
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="/home/java" ;
	export PATH="$JAVA_HOME/bin;$PATH";;
WinXP)
	export TAP_HOME="C:/home/tap" ;
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="C:/home/java" ;
	export PATH="$JAVA_HOME/bin;$PATH";;
Win98)
	export TAP_HOME="E:/home/tap" ;
	export CLASSPATH=".;../../tap.jar" ;
	export JAVA_HOME="F:/home/java" ;
	export PATH="$JAVA_HOME/bin;$PATH";;
esac

cd "$TAP_HOME/Java/examples/tutorial"

if [ -n "$prefix" ]
then echo "$prefix"
fi

# build the Java program
#=======================#
cat <<EOF  >mkrGetResNamed.java
import edu.stanford.TAP.Abbrev;
import edu.stanford.TAP.Client;
import edu.stanford.TAP.Resource;
import edu.stanford.TAP.XML;

public class mkrGetResNamed
{
    public static void main(String argv[])
    {
	String info   = "INFO: GetResource: ";
	String tapuri = "http://tap.stanford.edu/data/";
	String kbdata = "$kbdata";

	String genus  = argv[0];
	String value  = argv[1];
	String flags  = "$flags";
	//System.out.println("# INFO: GetResource: tapuri = " + tapuri);
	//System.out.println("# INFO: GetResource: kbdata = " + kbdata);
	//System.out.println("# INFO: GetResource: genus = "  + genus);
	//System.out.println("# INFO: GetResource: value = "  + value);
	//System.out.println("# INFO: GetResource: flags = "  + flags);

	Abbrev.LoadNamespaces("namespaces.txt");
	if (!Abbrev.IsStandardTag(genus)) {
	    genus = tapuri + genus;
	}
	Client tap = new Client(kbdata);
	//if () {
		//Resource answer = tap.GetResourcesNamed(value);
	//} else {
		Resource resource = new Resource(genus);
		Resource answer = tap.GetResourcesNamed(value,resource);
	//}

	System.err.println("  #" + info + "count = " + answer.count());
	for(int n = 0; n < answer.count(); ++n) {
	    String tapAnswer = answer.item(n).value;
	    String mkrAnswer = XML.SplitNamespace(tapAnswer).tag;
	    //System.out.println("  " + tapAnswer);
	    System.out.println("  " + mkrAnswer);
	}
    }
}
EOF

# compile & execute Java program
#===============================#
case "$systype" in
Linux)
	javac mkrGetResNamed.java;
	java  mkrGetResNamed "$genus" "$value" ;;
Cygwin)
	javac mkrGetResNamed.java;
	java  mkrGetResNamed "$genus" "$value" ;;
Interix)
	javac.exe mkrGetResNamed.java;
	java.exe  mkrGetResNamed "$genus" "$value" ;;
Windows)
	javac.exe mkrGetResNamed.java;
	java.exe  mkrGetResNamed "$genus" "$value" ;;
WinXP)
	javac.exe mkrGetResNamed.java;
	java.exe  mkrGetResNamed "$genus" "$value" ;;
Win98)
	javac.exe mkrGetResNamed.java;
	java.exe  mkrGetResNamed "$genus" "$value" ;;
esac | sort -f

chmod 777 mkrGetResNamed.java
chmod 777 mkrGetResNamed.class

if [ -n "$suffix" ]
then echo "$suffix"
fi

#</XMP>
#</HTML>
