Index: /other-projects/trunk/gs3-webservices-democlient/CheckJavaVersion.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/CheckJavaVersion.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/CheckJavaVersion.java	(revision 15317)
@@ -0,0 +1,92 @@
+import java.util.regex.Pattern;
+
+
+public class CheckJavaVersion {
+	static final String MINIMUM_VERSION_PREFIX = "1.4";
+	
+	/**
+	 * @param args, arg[0] is the minium version of Java required
+	 * to run the program. arg[1] is the name of the program.
+	 * If arg[1] is left out, then no distinct program name is
+	 * mentioned. If arg[0] is left out as well, then Greenstone3's
+	 * minimum default version of 1.4.x is assumed.
+	 * The program exits with 1 if the Java version being used is 
+	 * incompatible and with 2 if it is acceptable.
+	 */
+	public static void main(String[] args) {
+		String minimumVersion = MINIMUM_VERSION_PREFIX;
+		String programName = "this program"; 
+		// the version of java that's in use
+		String runningJavaVersion = System.getProperty("java.version");
+		
+		if(args.length > 0) {
+			minimumVersion = args[0];
+		}
+		if(args.length > 1) {
+			programName = args[1];
+		}
+		
+		System.out.println("\nChecking for a compatible Java version..."
+				+ "\nLooking for minimum version: " + minimumVersion);
+		
+		// Version numbers can be of the form "1.5.0_2" 
+		// We want to split version numbers into the individual numbers
+		// For example: splitting 1.5.0_2 will give us {1,5,0,2},
+		// while splitting 1.5.0_10 will give us {1,5,0,10}.
+		// The comparison then is straightforward.
+		
+		// We will split version strings into the individual numbers
+		// using regular expressions. However, the tokens . and _ are
+		// reserved in regular expressions and need to be escaped: 
+		// Period: \Q.\E;  underscore: \Q_\E.
+		// Once escaped, it should be indicated in the regular expression
+		// that the two characters are separate tokens by using |, so 
+		// that the regex becomes: ".|_" -> \Q.\E|\Q_\E.
+		String period = Pattern.quote(".");
+		String underscore = Pattern.quote("_");
+		
+		String[] minVersionNums = minimumVersion.split(period+"|"+underscore);
+		String[] runningVersionNums =runningJavaVersion.split(period+"|"+underscore);
+		
+		boolean acceptable = true;
+		// only keep looping while we haven't gone past the end of either array
+		int i=0;
+		for(; i < minVersionNums.length && i < runningVersionNums.length; i++)
+		{
+			int min = Integer.parseInt(minVersionNums[i]);
+			int run = Integer.parseInt(runningVersionNums[i]);
+			if(run < min) { 
+				// fail: running version number is lower than corresponding 
+				// minimum version number
+				acceptable = false;
+				break;
+			}
+		}
+		
+		// Consider minVersion = 1.5.0_10 and runningVersion = 1.5.0
+		// this means the runningversion is still insufficient. 
+		// HOWEVER, minVersion being longer does not always mean it is
+		// a later version, consider: min=1.5.0_9.12 and run=1.5.0_10
+		// This should be acceptable since 10 > 9 even though min is longer.
+		// SOLUTION: If the last values for both were the same, the running 
+		// Version is not compatible if the minVersionNums array is longer
+		int min = Integer.parseInt(minVersionNums[i-1]);
+		int run = Integer.parseInt(runningVersionNums[i-1]);
+		
+		// if the last values were the same, check whether min is longer
+		// in which case the running version is not acceptable
+		if(min == run && minVersionNums.length > runningVersionNums.length) 
+		{
+			acceptable = false;
+		}
+		
+		if(acceptable) {
+			System.out.println("Found compatible Java version " +runningJavaVersion);
+			System.exit(2); // acceptable case
+		} else {
+			System.out.println("The current Java version " + 
+				runningJavaVersion + " is insufficient to run " + programName);
+			System.exit(1);
+		} 
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/Manifest.MF
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/Manifest.MF	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/Manifest.MF	(revision 15317)
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Sealed: true
+Main-Class: org.greenstone.gs3client.GS3JavaClient
+Class-Path: lib/QBRdata.jar 
+ lib/fedoraGS3.jar 
+ lib/gs3_for_client.jar 
+ lib/fedora.jar 
+ lib/log4j-1.2.8.jar 
+ lib/commons-logging-1.0.4.jar 
+ lib/commons-discovery-0.2.jar 
+ lib/saaj.jar 
+ lib/jaxrpc.jar 
+ lib/wsdl4j-1.5.1.jar 
+ lib/axis.jar
Index: /other-projects/trunk/gs3-webservices-democlient/build-forAnt1-6-5.xml
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/build-forAnt1-6-5.xml	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/build-forAnt1-6-5.xml	(revision 15317)
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<!-- ====================================================================== 
+     April 2008 - GS3 web services democlient compile script
+     With lots of help from kjdon's Greenstone3 build and install script
+     See http://ant.apache.org/manual/ 
+     http://ant.apache.org/manual/usinglist.html
+     for info on build.xml ant files,                                                         
+     and http://ant.apache.org/manual/coretasklist.html
+     http://ant.apache.org/manual/tasksoverview.html
+====================================================================== -->
+<project name="gs3democlient" default="usage" basedir=".">
+<description>This buildfile is used to build the demo-client for Greenstone3's web services.</description>
+
+  <!-- ============ predefining properties for reuse =================== -->
+ <property name="src.dir" value="${basedir}/src" />
+ <property name="democlient.rootdir" value="${src.dir}/GS3DemoClient" />
+ <property name="fedorags3.rootdir" value="${src.dir}/GS3Fedora" />
+ <property name="democlient.src" value="${democlient.rootdir}/org" />
+ <property name="fedorags3.src" value="${fedorags3.rootdir}/org" />
+ <property name="build" value="${basedir}/build" />
+ <property name="dist" value="${basedir}/dist" />
+ <property name="QBRdata.rel.path" value="org/greenstone/gs3client/data" />
+ <property name="dlservices.rel.path" value="org/greenstone/gs3client/dlservices" />
+ <property name="gui.rel.path" value="org/greenstone/gs3client" />
+ <property name="gs3services.rel.path" value="org/greenstone/gs3services" />
+ <property name="exec.jar.name" value="GS3democlient.jar" /> <!-- name of the executable-->
+ <property name="download.zip.name" value="gs3_webservices_democlient" />
+ <property name="log4j.propFile" value="log4j.properties" />
+ <property name="zip.excludes" value="dist/**,logs/**,gs3democlient.properties" />
+
+  <!-- ============ project classpath: everything in the lib folder =================== -->
+ <path id="project.classpath">
+     <fileset dir="lib">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+<target name="usage" description="Prints out ant commands for the GS3 demo-client">
+	<echo>Type:</echo>
+	<echo>- ant build-demo-client</echo>
+	<echo>	for (compiling) and creating the demo-client executable</echo>
+	<echo>- ant compile-demo-client</echo>
+	<echo>	for compiling the democlient</echo>
+	<echo>- ant fedoraGS3jar</echo>
+	<echo>	for generating the fedoraGS3.jar dependency file</echo>
+	<echo>- ant QBRdatajar</echo>
+	<echo>	for generating the QBRdata.jar dependency file</echo>
+	<echo>- ant make-dist</echo>
+	<echo>	for generating the zip/gzip/bzip file of the project</echo>
+	<echo>- ant clean-democlient</echo>
+	<echo>	for deleting the *.class files from the GS3democlient's source</echo>
+	<echo>- ant clean</echo>
+	<echo>	for deleting the *.class files from the GS3democlient and GS3Fedora sources</echo>
+	<echo>- ant dist-clean</echo>
+	<echo>	for deleting the *.class files from the sources, the QBRdata.jar, fedoraGS3.jar, executable jar file, and any zips of the project folder</echo>	
+</target>
+
+
+<!-- Main targets: to build the GS3 web services demo-client and to create the tar.gz file for downloading -->
+<target name="build-demo-client" description="Creates the jar distribution file" depends="compile-demo-client">
+  <mkdir dir="${basedir}/logs" /> <!-- Need a logs dir for outputting log4j stuff-->
+  <delete file="${exec.jar.name}" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="${exec.jar.name}"
+     basedir="${democlient.rootdir}/"
+     manifest="Manifest.MF"
+     excludes="${QBRdata.rel.path}/*.class"
+  />
+  <copy file="${src.dir}/${log4j.propFile}" tofile="${basedir}/${log4j.propFile}"/>
+<!-- LATER: only for tarring include source files, so that we can exclude the java files in this build?-->
+</target>
+
+<target name="make-dist" description="Generates the zip file of the lib and src folders and the executable ${exec.jar.name} file" depends="get-zipformat,ensure-exec-jar" if="zip.type">
+     <mkdir dir="${dist}" />
+     <antcall target="create-${zip.type}"/>
+</target>
+
+<!-- Compilation first ensures the existence of QBRdata.jar AND fedoraGS3.jar by checking whether these jars exist and if not, generating them. Then actual compilation of the GS3democlient starts. By now the QBRdata classes of the GS3democlient src folder would have been compiled, but that does not matter as javac only compiles when class files that are outdated or when they have not been generated yet.-->
+<target name="compile-demo-client" description="Compiles the GS3 demo-client" depends="ensure-QBRdata-jar,ensure-fedoraGS3-jar">
+    <javac srcdir="${democlient.rootdir}">
+      <classpath refid="project.classpath"/>
+      <exclude name="${gs3services.rel.path}/**" /> <!--gs3services package needs official gsdl.jar to compile, so we skip it as it is not part of the client anyway-->
+    </javac>
+</target>
+
+<!-- Cleaning targets -->
+<target name="clean-democlient" description="Removes all class files from the GS3demo-client">
+   <delete>
+    <fileset dir="${democlient.src}" includes="**/*.class"/>
+   </delete>
+</target>
+
+<target name="clean" description="Removes all class files from the GS3DemoClient and GS3Fedora source folders" depends="clean-democlient">
+   <delete>
+    <fileset dir="${fedorags3.src}" includes="**/*.class"/>
+   </delete>
+</target>
+
+<target name="dist-clean" description="Removes the project-specific jars fedoraGS3.jar, QBRdata.jar, ${exec.jar.name} files AND all class files from the GS3DemoClient and GS3Fedora source folders" depends="clean">
+   <delete includeEmptyDirs="true" failonerror="false">
+    <fileset file="${basedir}/lib/fedoraGS3.jar"/>
+    <fileset file="${basedir}/lib/QBRdata.jar"/>
+    <fileset file="${basedir}/${exec.jar.name}"/>
+    <fileset file="${basedir}/gs3democlient.properties"/>
+    <fileset dir="logs"/>
+    <fileset file="${log4j.propFile}"/>
+    <fileset file="${dist}/${download.zip.name}.tar"/>
+    <fileset file="${dist}/${download.zip.name}.tar.gz"/>
+    <fileset file="${dist}/${download.zip.name}.zip"/>
+    <fileset file="${dist}/${download.zip.name}.tar.bz2"/>
+   </delete>
+</target>
+
+<!-- Targets to generate the project-specific jar files QBRdata.jar and fedoraGS3.jar -->
+<target name="QBRdatajar" description="Compiles and creates the QBRdata.jar file needed by GS3demo-client">
+   <javac srcdir="${democlient.rootdir}/${QBRdata.rel.path}">
+      <classpath refid="project.classpath"/>
+    </javac>
+  <delete file="lib/QBRdata.jar" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="lib/QBRdata.jar"
+     basedir="${democlient.rootdir}/"
+     excludes="${gui.rel.path}/*.*,${dlservices.rel.path}/**,${gs3services.rel.path}/**">
+  </jar>
+</target>
+
+<target name="fedoraGS3jar" description="Compiles and creates the fedoraGS3.jar file needed by GS3demo-client">
+   <javac srcdir="${fedorags3.rootdir}">
+      <classpath refid="project.classpath"/>
+    </javac>
+  <delete file="lib/fedoraGS3.jar" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="lib/fedoraGS3.jar"
+     basedir="${fedorags3.rootdir}/"/>
+</target>
+
+<target name="update-gs3forclient.jar" description="Will update the class files in ${basedir}/lib/gs3_for_client.jar using svn to the latest versions of those files in Greenstone3's svn repository">
+</target>
+
+<!-- Targets that check for and ensure the existence of project-specific jar files -->
+<target name="check-QBRdata-jar" description="Checks for existence of dependency file QBRdata.jar">
+    <condition property="QBRdata.exists">
+	<available file="${basedir}/lib/QBRdata.jar"/>
+    </condition>
+</target>
+
+<target name="ensure-QBRdata-jar" description="Will generate QBRdata.jar if it did not exist" depends="check-QBRdata-jar" unless="QBRdata.exists">
+    <antcall target="QBRdatajar"/>
+</target>
+
+<target name="check-fedoraGS3-jar" description="Checks for existence of dependency file fedoraGS3.jar">
+    <condition property="fedoraGS3.exists">
+	<available file="${basedir}/lib/fedoraGS3.jar"/>
+    </condition>
+</target>
+
+<target name="ensure-fedoraGS3-jar" description="Will generate fedoraGS3.jar if it did not exist" depends="check-fedoraGS3-jar" unless="fedoraGS3.exists">
+    <antcall target="fedoraGS3jar"/>
+</target>
+
+<!-- generates the project's executable -->
+<target name="check-exec-jar" description="Checks for existence of executable file ${exec.jar.name}">
+    <condition property="executable.exists">
+	<available file="${basedir}/${exec.jar.name}"/>
+    </condition>
+</target>
+
+<target name="ensure-exec-jar" description="Will generate ${exec.jar.name} if it did not exist" depends="check-exec-jar" unless="executable.exists">
+    <antcall target="build-demo-client"/>
+</target>
+
+<!-- User input for generating compressed output file for one of the chosen file types. A choice of zip, tar.gz (tar gzip), or tar.bz2 (tar bzip)-->
+<target name="create-targzip" if="zip.type" description="User chose to create a tar.gz file of the project">
+    <tar destfile="${dist}/${download.zip.name}.tar.gz" basedir="${basedir}" compression="gzip" excludes="${zip.excludes}" longfile="gnu" /> 
+    <echo>If the filepaths are longer than 100 characters, GNU compatible tar commands are necessary to untar the tar.gz</echo>
+</target>
+
+<target name="create-tarbzip" if="zip.type" description="User chose to create a tar.bz2 file of the project">
+    <tar destfile="${dist}/${download.zip.name}.tar.bz2" basedir="${basedir}" compression="bzip2" excludes="${zip.excludes}" longfile="gnu" /> 
+    <echo>If the filepaths are longer than 100 characters, GNU compatible tar commands are necessary to untar the tar.gz</echo>
+</target>
+
+<target name="create-zip" if="zip.type" description="User chose to create a zip file of the project">
+     <zip basedir="${basedir}" destfile="${dist}/${download.zip.name}.zip" 
+	excludes="${zip.excludes}" />
+</target>
+
+<target name="get-zipformat"> 
+<!--<input addproperty="zip.type" validargs="zip,gzip,bzip">--><!-- doesn't work with default value-->
+    <input addproperty="zip.format" defaultvalue="zip">What type of compressed output file do you want to generate?
+Type one of: zip, tar.gz, tar.bz2
+Press enter for default: zip /></input>
+    <condition property="zip.type" value="targzip"> 
+      <equals arg1="tar.gz" arg2="${zip.format}"/>
+    </condition>
+    <condition property="zip.type" value="zip"> 
+      <equals arg1="zip" arg2="${zip.format}"/>
+    </condition>
+    <condition property="zip.type" value="tarbzip">
+      <equals arg1="tar.bz2" arg2="${zip.format}"/>
+    </condition>
+    <echo>You chose output file type: ${zip.type}</echo>
+  </target>
+</project>
Index: /other-projects/trunk/gs3-webservices-democlient/build.xml
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/build.xml	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/build.xml	(revision 15317)
@@ -0,0 +1,273 @@
+<?xml version="1.0"?>
+<!-- ====================================================================== 
+     April 2008 - GS3 web services democlient compile script
+     With lots of help from kjdon's Greenstone3 build and install script
+     See http://ant.apache.org/manual/ 
+     http://ant.apache.org/manual/usinglist.html
+     for info on build.xml ant files,                                                         
+     and http://ant.apache.org/manual/coretasklist.html
+     http://ant.apache.org/manual/tasksoverview.html
+====================================================================== -->
+<project name="gs3democlient" default="usage" basedir=".">
+<description>This buildfile is used to build the demo-client for Greenstone3's web services.</description>
+
+  <!-- ============ predefining properties for reuse =================== -->
+ <property name="src.dir" value="${basedir}/src" />
+ <property name="democlient.rootdir" value="${src.dir}/GS3DemoClient" />
+ <property name="fedorags3.rootdir" value="${src.dir}/GS3Fedora" />
+ <property name="democlient.src" value="${democlient.rootdir}/org" />
+ <property name="fedorags3.src" value="${fedorags3.rootdir}/org" />
+ <property name="build" value="${basedir}/build" />
+ <property name="dist" value="${basedir}/dist" />
+
+ <property name="QBRdata.rel.path" value="org/greenstone/gs3client/data" />
+ <property name="dlservices.rel.path" value="org/greenstone/gs3client/dlservices" />
+ <property name="gui.rel.path" value="org/greenstone/gs3client" />
+ <property name="gs3services.rel.path" value="org/greenstone/gs3services" />
+
+ <property name="exec.jar.name" value="GS3democlient.jar" /> <!-- name of the executable-->
+ <property name="gs3.files.jar" value="gs3_for_client.jar" />
+ <property name="log4j.propFile" value="log4j.properties" />
+
+ <property name="dist.zip.name" value="gs3_webservices_democlient" />
+ <property name="zip.excludes" value="dist/**,logs/**,gs3democlient.properties" />
+ <property name="dist.dir.name" value="gs3-webservices-democlient" />
+
+ <!-- svn paths for getting copies of the latest version of source code -->
+ <property name="gs3forclient.svn.path" value="http://svn.greenstone.org/greenstone3/trunk/src/java/org/greenstone/gsdl3/util/"/>
+ <property name="check.java.version.svn.file" value="http://svn.greenstone.org/gli/trunk/CheckJavaVersion.java"/>
+
+  <!-- ============ project classpath: everything in the lib folder =================== -->
+ <path id="project.classpath">
+     <fileset dir="lib">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+<target name="usage" description="Prints out ant commands for the GS3 demo-client">
+	<echo>Type:</echo>
+	<echo>- ant build-demo-client</echo>
+	<echo>	for (compiling) and creating the demo-client executable</echo>
+	<echo>- ant compile-demo-client</echo>
+	<echo>	for compiling the democlient</echo>
+	<echo>- ant fedoraGS3jar</echo>
+	<echo>	for generating the fedoraGS3.jar dependency file</echo>
+	<echo>- ant QBRdatajar</echo>
+	<echo>	for generating the QBRdata.jar dependency file</echo>
+	<echo>- ant make-dist</echo>
+	<echo>	for generating the zip/gzip/bzip file of the project</echo>
+	<echo>- ant clean-democlient</echo>
+	<echo>	for deleting the *.class files from the GS3democlient's source</echo>
+	<echo>- ant clean</echo>
+	<echo>	for deleting the *.class files from the GS3democlient and GS3Fedora sources</echo>
+	<echo>- ant dist-clean</echo>
+	<echo>	for deleting the *.class files from the sources, the QBRdata.jar, fedoraGS3.jar, executable jar file, and any zips of the project folder</echo>	
+</target>
+
+
+<!-- Main targets: to build the GS3 web services demo-client and to create the tar.gz file for downloading -->
+<target name="build-demo-client" description="Creates the jar distribution file" depends="compile-demo-client,ensure-check-java-version">
+  <mkdir dir="${basedir}/logs" /> <!-- Need a logs dir for outputting log4j stuff-->
+  <delete file="${exec.jar.name}" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="${exec.jar.name}"
+     basedir="${democlient.rootdir}/"
+     manifest="Manifest.MF"
+     excludes="${QBRdata.rel.path}/*.class"
+  />
+  <copy file="${src.dir}/${log4j.propFile}" tofile="${basedir}/${log4j.propFile}"/>
+<!-- LATER: only for tarring include source files, so that we can exclude the java files in this build?-->
+</target>
+
+<target name="make-dist" description="Generates the zip file of the lib and src folders and the executable ${exec.jar.name} file" depends="get-zipformat,ensure-exec-jar" if="zip.type">
+     <mkdir dir="${dist}" />
+     <antcall target="create-${zip.type}"/>
+</target>
+
+<!-- Compilation first ensures the existence of QBRdata.jar AND fedoraGS3.jar by checking whether these jars exist and if not, generating them. Then actual compilation of the GS3democlient starts. By now the QBRdata classes of the GS3democlient src folder would have been compiled, but that does not matter as javac only compiles when class files that are outdated or when they have not been generated yet.-->
+<target name="compile-demo-client" description="Compiles the GS3 demo-client" depends="ensure-QBRdata-jar,ensure-fedoraGS3-jar,ensure-gs3-for-client">
+    <javac srcdir="${democlient.rootdir}">
+      <classpath refid="project.classpath"/>
+      <exclude name="${gs3services.rel.path}/**" /> <!--gs3services package needs official gsdl.jar to compile, so we skip it as it is not part of the client anyway-->
+    </javac>
+</target>
+
+<!-- Cleaning targets -->
+<target name="clean-democlient" description="Removes all class files from the GS3demo-client (includes the data package that is used to create QBRdata.jar)">
+   <delete>
+    <fileset dir="${democlient.src}" includes="**/*.class"/>
+   </delete>
+</target>
+
+<target name="clean" description="Removes all class files from the GS3DemoClient and GS3Fedora source folders" depends="clean-democlient">
+   <delete>
+    <fileset dir="${fedorags3.src}" includes="**/*.class"/>
+   </delete>
+</target>
+
+<!-- Explicit update. First make a directory and copy the old files in there (if they are present)-->
+<target name="update" description="Gets the latest version of CheckJavaVersion.java, and gs3-client-jar's files from Greenstone's SVN repository">
+   <delete>
+      <fileset dir="${basedir}" includes="CheckJavaVersion.*"/>
+   </delete>
+   <antcall target="update-check-java-version" />	
+   <antcall target="update-gs3-for-client" />
+</target>
+
+<target name="ensure-check-java-version" description="Ensures the file CheckJavaVersion.java is there">
+    <condition property="check.java.version.exists">
+       <and>
+	<available file="${basedir}/CheckJavaVersion.java"/>
+        <available file="${basedir}/CheckJavaVersion.class"/>
+       </and>
+    </condition>
+    <antcall target="update-check-java-version" />
+</target>
+
+<target name="ensure-gs3-for-client" description="Ensures the ${gs3.files.jar} file of required Greenstone3 support files is there">
+    <condition property="gs3.for.client.exists">
+	<available file="${basedir}/lib/${gs3.files.jar}"/>
+    </condition>
+    <antcall target="update-gs3-for-client" />
+</target>
+
+
+<!-- "By default, files are only copied if the source file is newer than the destination file, or when the destination file does not exist. (However, you can explicitly overwrite files with the overwrite attribute.)" In other words, this method will only copy when necessary -->
+<target name="update-check-java-version" description="Gets the latest version of CheckJavaVersion.javafrom Greenstone's SVN repository" unless="check.java.version.exists">
+   <copy todir="${basedir}" flatten="true">
+    <resources>
+      <url url="${check.java.version.svn.file}"/>
+    </resources>
+  </copy>
+  <!-- compile it up: specifying the file to be compiled explicitly (sourcepath="")--> 
+  <javac sourcepath="" srcdir="${basedir}" destdir="${basedir}" >
+    <include name="**/CheckJavaVersion.java"/>
+  </javac>
+</target>
+
+<target name="update-gs3-for-client" description="Gets the latest version of the files needed to create ${gs3.files.jar} from Greenstone's SVN repository" unless="gs3.for.client.exists">
+  <mkdir dir="${basedir}/tmp" />
+  <echo>Getting java files GSXML, XMLConverter, GSPath and MyNodeList from Greenstone's SVN repository (${gs3forclient.svn.path}). Compiling and jarring them up into ${gs3.files.jar}...</echo>
+  <copy todir="${basedir}/tmp" flatten="true">
+    <resources>
+      <url url="${gs3forclient.svn.path}/GSXML.java"/>
+      <url url="${gs3forclient.svn.path}/XMLConverter.java"/>
+      <url url="${gs3forclient.svn.path}/GSPath.java"/>
+      <url url="${gs3forclient.svn.path}/MyNodeList.java"/>
+    </resources>
+  </copy>
+  <!-- compile it up: specifying the file to be compiled explicitly --> 
+  <javac srcdir="${basedir}/tmp" destdir="${basedir}/tmp" >
+    <classpath refid="project.classpath"/>
+    <include name="**/*.java"/>
+  </javac>	
+  <!-- jar it up (without the java files), placing the jar in the lib folder -->	
+  <jar destfile="lib/${gs3.files.jar}" basedir="tmp/" excludes="tmp/*.java" />
+  <delete dir="tmp" />
+</target>
+
+<target name="dist-clean" description="Removes the project-specific jars fedoraGS3.jar, QBRdata.jar, ${exec.jar.name} files AND all class files from the GS3DemoClient and GS3Fedora source folders" depends="clean">
+   <delete includeEmptyDirs="true" failonerror="false">
+    <fileset file="${basedir}/lib/fedoraGS3.jar"/>
+    <fileset file="${basedir}/lib/QBRdata.jar"/>
+    <fileset file="${basedir}/${exec.jar.name}"/>
+    <fileset file="${basedir}/gs3democlient.properties"/>
+    <fileset dir="logs"/>
+    <fileset file="${log4j.propFile}"/>
+    <fileset file="${dist}/${download.zip.name}.tar"/>
+    <fileset file="${dist}/${download.zip.name}.tar.gz"/>
+    <fileset file="${dist}/${download.zip.name}.zip"/>
+    <fileset file="${dist}/${download.zip.name}.tar.bz2"/>
+   </delete>
+</target>
+
+<!-- Targets to generate the project-specific jar files QBRdata.jar and fedoraGS3.jar -->
+<target name="QBRdatajar" description="Compiles and creates the QBRdata.jar file needed by GS3demo-client">
+   <javac srcdir="${democlient.rootdir}/${QBRdata.rel.path}">
+      <classpath refid="project.classpath"/>
+    </javac>
+  <delete file="lib/QBRdata.jar" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="lib/QBRdata.jar"
+     basedir="${democlient.rootdir}/"
+     excludes="${gui.rel.path}/*.*,${dlservices.rel.path}/**,${gs3services.rel.path}/**">
+  </jar>
+</target>
+
+<target name="fedoraGS3jar" description="Compiles and creates the fedoraGS3.jar file needed by GS3demo-client">
+   <javac srcdir="${fedorags3.rootdir}">
+      <classpath refid="project.classpath"/>
+    </javac>
+  <delete file="lib/fedoraGS3.jar" /> <!--For now: Let's delete it first and do a fresh rebuild-->
+  <jar destfile="lib/fedoraGS3.jar"
+     basedir="${fedorags3.rootdir}/"/>
+</target>
+
+<!-- Targets that check for and ensure the existence of project-specific jar files -->
+<target name="check-QBRdata-jar" description="Checks for existence of dependency file QBRdata.jar">
+    <condition property="QBRdata.exists">
+	<available file="${basedir}/lib/QBRdata.jar"/>
+    </condition>
+</target>
+
+<target name="ensure-QBRdata-jar" description="Will generate QBRdata.jar if it did not exist" depends="check-QBRdata-jar" unless="QBRdata.exists">
+    <antcall target="QBRdatajar"/>
+</target>
+
+<target name="check-fedoraGS3-jar" description="Checks for existence of dependency file fedoraGS3.jar">
+    <condition property="fedoraGS3.exists">
+	<available file="${basedir}/lib/fedoraGS3.jar"/>
+    </condition>
+</target>
+
+<target name="ensure-fedoraGS3-jar" description="Will generate fedoraGS3.jar if it did not exist" depends="check-fedoraGS3-jar" unless="fedoraGS3.exists">
+    <antcall target="fedoraGS3jar"/>
+</target>
+
+<!-- generates the project's executable -->
+<target name="check-exec-jar" description="Checks for existence of executable file ${exec.jar.name}">
+    <condition property="executable.exists">
+	<available file="${basedir}/${exec.jar.name}"/>
+    </condition>
+</target>
+
+<target name="ensure-exec-jar" description="Will generate ${exec.jar.name} if it did not exist" depends="check-exec-jar" unless="executable.exists">
+    <antcall target="build-demo-client"/>
+</target>
+
+<!-- User input for generating compressed output file for one of the chosen file types. A choice of zip, tar.gz (tar gzip), or tar.bz2 (tar bzip)-->
+<target name="create-targzip" if="zip.type" description="User chose to create a tar.gz file of the project">
+   <tar destfile="${dist}/${dist.zip.name}.tar.gz" compression="gzip" longfile="gnu"> 
+     <tarfileset dir="${basedir}" prefix="${dist.dir.name}" excludes="${zip.excludes}" />
+   </tar>
+   <echo>If the filepaths are longer than 100 characters, GNU compatible tar commands are necessary to untar the tar.gz</echo>
+</target>
+
+<target name="create-tarbzip" if="zip.type" description="User chose to create a tar.bz2 file of the project">
+    <tar destfile="${dist}/${dist.zip.name}.tar.bz2" compression="bzip2" longfile="gnu"> 
+      <tarfileset dir="${basedir}" prefix="${dist.dir.name}" excludes="${zip.excludes}" />
+    </tar>
+    <echo>If the filepaths are longer than 100 characters, GNU compatible tar commands are necessary to untar the tar.gz</echo>
+</target>
+
+<target name="create-zip" if="zip.type" description="User chose to create a zip file of the project">
+    <zip destfile="${dist}/${dist.zip.name}.zip">
+       <zipfileset dir="${basedir}" prefix="${dist.dir.name}" excludes="${zip.excludes}" />
+    </zip>
+</target>
+
+<target name="get-zipformat"> 
+<!--<input addproperty="zip.type" validargs="zip,gzip,bzip">--><!-- doesn't work with default value-->
+    <input addproperty="zip.format" defaultvalue="zip">What type of compressed output file do you want to generate?
+Type one of: zip, tar.gz, tar.bz2
+Press enter for default: zip /></input>
+    <condition property="zip.type" value="targzip"> 
+      <equals arg1="tar.gz" arg2="${zip.format}"/>
+    </condition>
+    <condition property="zip.type" value="zip"> 
+      <equals arg1="zip" arg2="${zip.format}"/>
+    </condition>
+    <condition property="zip.type" value="tarbzip">
+      <equals arg1="tar.bz2" arg2="${zip.format}"/>
+    </condition>
+    <echo>You chose output file type: ${zip.type}</echo>
+  </target>
+</project>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-frame.html	(revision 15317)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+All Classes
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services" target="classFrame">AdminSOAPServer</A>
+<BR>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client" target="classFrame">BrowseDisplay</A>
+<BR>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client" target="classFrame">BrowseDisplay.ClassifierData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">BrowseResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">ClassifierNodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.MetaData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.PluginData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.ServiceData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client" target="classFrame">ColourCombo</A>
+<BR>
+<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client" target="classFrame"><I>ColourCombo.ColourChangeable</I></A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices" target="classFrame"><I>DigitalLibraryServicesAPIA</I></A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">DigitalLibraryServicesAPIA.CancelException</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client" target="classFrame">Displays</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client" target="classFrame">Displays.MetadataComparator</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client" target="classFrame">Displays.PopupListener</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">DocumentNodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">FedoraServicesAPIA</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client" target="classFrame">GraphPaperLayout</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client" target="classFrame">GS3JavaClient</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client" target="classFrame">GS3JavaClient.PasswordAuthenticator</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">GS3ServicesAPIA</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">GS3WebServicesQBRAPI</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data" target="classFrame">MetaData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">NodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data" target="classFrame">Pair</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data" target="classFrame">ParseUtil</A>
+<BR>
+<A HREF="org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services" target="classFrame">QBRSOAPServer</A>
+<BR>
+<A HREF="org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client" target="classFrame">QueryForm</A>
+<BR>
+<A HREF="org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client" target="classFrame">QueryFormControl</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryFormData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryFormData.QueryFormParam</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryResponseData.TermData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">ResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client" target="classFrame">SearchResultsDisplay</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-noframe.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-noframe.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/allclasses-noframe.html	(revision 15317)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+All Classes
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<BR>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<BR>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<BR>
+<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><I>ColourCombo.ColourChangeable</I></A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><I>DigitalLibraryServicesAPIA</I></A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A>
+<BR>
+<A HREF="org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<BR>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client">GS3JavaClient.PasswordAuthenticator</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<BR>
+<A HREF="org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<BR>
+<A HREF="org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<BR>
+<A HREF="org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<BR>
+<A HREF="org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<BR>
+<A HREF="org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/constant-values.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/constant-values.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/constant-values.html	(revision 15317)
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+Constant Field Values
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#org.greenstone">org.greenstone.*</A>
+</UL>
+
+<A NAME="org.greenstone"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left"><FONT SIZE="+2">
+org.greenstone.*</FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.GS3JavaClient.executableServicesOnly"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;boolean</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/GS3JavaClient.html#executableServicesOnly">executableServicesOnly</A></CODE></TD>
+<TD ALIGN="right"><CODE>true</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.GS3JavaClient.FEDORA"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/GS3JavaClient.html#FEDORA">FEDORA</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.GS3JavaClient.GREENSTONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/GS3JavaClient.html#GREENSTONE">GREENSTONE</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.GS3JavaClient.SELECT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/GS3JavaClient.html#SELECT">SELECT</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.data.QueryFormData.OCCURS_ATT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/data/QueryFormData.html#OCCURS_ATT">OCCURS_ATT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"occurs"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI.defaultWsdlURL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#defaultWsdlURL">defaultWsdlURL</A></CODE></TD>
+<TD ALIGN="right"><CODE>"http://localhost:9090/greenstone3/services/QBRSOAPServerlocalsite?wsdl"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.gs3services.<A HREF="org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.browseStructureOptions"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#browseStructureOptions">browseStructureOptions</A></CODE></TD>
+<TD ALIGN="right"><CODE>"ancestors parent siblings children descendants"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.csSubsetOptions"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#csSubsetOptions">csSubsetOptions</A></CODE></TD>
+<TD ALIGN="right"><CODE>"metadataList serviceList displayItemList"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.docStructureInfo"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#docStructureInfo">docStructureInfo</A></CODE></TD>
+<TD ALIGN="right"><CODE>"numSiblings siblingPosition numChildren"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.docStructureOptions"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#docStructureOptions">docStructureOptions</A></CODE></TD>
+<TD ALIGN="right"><CODE>"entire ancestors parent siblings children descendants"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.mrSubsetOptions"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#mrSubsetOptions">mrSubsetOptions</A></CODE></TD>
+<TD ALIGN="right"><CODE>"collectionList serviceClusterList serviceList siteList"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.gs3services.QBRSOAPServer.serviceSubsetOptions"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/gs3services/QBRSOAPServer.html#serviceSubsetOptions">serviceSubsetOptions</A></CODE></TD>
+<TD ALIGN="right"><CODE>"paramList displayItemList"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/deprecated-list.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/deprecated-list.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/deprecated-list.html	(revision 15317)
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+Deprecated List
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+</UL>
+
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/help-doc.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/help-doc.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/help-doc.html	(revision 15317)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+API Help
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Overview</H3>
+<BLOCKQUOTE>
+
+<P>
+The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
+<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Annotation Type</H3>
+<BLOCKQUOTE>
+
+<P>
+Each annotation type has its own separate page with the following sections:<UL>
+<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
+</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Enum</H3>
+<BLOCKQUOTE>
+
+<P>
+Each enum has its own separate page with the following sections:<UL>
+<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
+</BLOCKQUOTE>
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<H3>
+Constant Field Values</H3>
+The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index-all.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index-all.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index-all.html	(revision 15317)
@@ -0,0 +1,2093 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+Index
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_Y_">Y</A> <HR>
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#actionPerformed(java.awt.event.ActionEvent)"><B>actionPerformed(ActionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>
+<DD>Called when someone presses the ClassifierButton: when pressed,
+ perform the browse request associated with the classifier.
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#actionPerformed(java.awt.event.ActionEvent)"><B>actionPerformed(ActionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>Called when one of the popup's menuItems was clicked.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#actionPerformed(java.awt.event.ActionEvent)"><B>actionPerformed(ActionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Event handler for actionEvents such as a change in the active digital 
+ library, a collection being selected in the dropdown box or the collection
+ -Info button being pressed, or a service being selected in the service
+ dropdown box (browsing or searching).
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#actionPerformed(java.awt.event.ActionEvent)"><B>actionPerformed(ActionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Called when this QueryForm's search button is pressed: the data  
+ entered/controls settings specified by the user are passed to the
+ digital library's Query Service in order to perform the search.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#activate(java.lang.String, java.lang.String)"><B>activate(String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a (re-)activate system-type message to activate a Greenstone module.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#activity"><B>activity</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>To keep track of whether we are searching or browsing.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addArrayParam(java.lang.String)"><B>addArrayParam(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Helper method.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#addGridBagComponent(javax.swing.JPanel, javax.swing.JComponent, java.awt.GridBagLayout, java.awt.GridBagConstraints, int, int, int, int)"><B>addGridBagComponent(JPanel, JComponent, GridBagLayout, GridBagConstraints, int, int, int, int)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>The multi-panel is laid out with a GridBagLayout in order to make 
+ the layout more attractive (so that the form controls don't have as 
+ odd sizes as before when GraphPaperLayout was used).
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#addLayoutComponent(java.lang.String, java.awt.Component)"><B>addLayoutComponent(String, Component)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Adds the specified component with the specified name to
+ the layout.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#addLayoutComponent(java.awt.Component, java.lang.Object)"><B>addLayoutComponent(Component, Object)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Adds the specified component to the layout, using the specified
+ constraint object.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addStringParam(java.lang.String)"><B>addStringParam(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Helper method.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services"><B>AdminSOAPServer</B></A> - Class in <A HREF="./org/greenstone/gs3services/package-summary.html">org.greenstone.gs3services</A><DD>A beginning to the AdminSOAPServer class which will contain management/admin 
+ related web services such as adding new documents, creating, building and 
+ importing collections and configuring Greenstone modules.<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#AdminSOAPServer()"><B>AdminSOAPServer()</B></A> - 
+Constructor for class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#background"><B>background</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Fixed background colour for textareas, editorPanes (html)
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#blue"><B>blue</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Fedora dark background colour
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#bodyText"><B>bodyText</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>Text node content of a &lt;metadata&gt; - the textnode may be empty, in
+ which case this will be set to ""
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>browse(String, String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants).
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>browse(String, String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants).
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#browseBar"><B>browseBar</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>browseDescendants(String, String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>To send a browse request for all the descendants of a classifier node.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>browseDescendants(String, String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>To send a browse request for all the descendants of a classifier node.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>The Browse panel inside the Java-client's tab pane that's labelled "Browse".<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#BrowseDisplay(org.greenstone.gs3client.GS3JavaClient)"><B>BrowseDisplay(GS3JavaClient)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Constructor that creates the Browse Panel and its internal GUI items.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierButton</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Inner class (not static, as it needs access to outerclass' this object.<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#BrowseDisplay.ClassifierButton(org.greenstone.gs3client.BrowseDisplay.ClassifierData)"><B>BrowseDisplay.ClassifierButton(BrowseDisplay.ClassifierData)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>
+<DD>Constructor that creates a button to visually represent
+ the classifier.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierData</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Static inner class that represents the data in a &lt;classifier&gt;
+ element - itself nested inside a list (&lt;classifierList&gt;) of them.<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#BrowseDisplay.ClassifierData(org.w3c.dom.Element)"><B>BrowseDisplay.ClassifierData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>Constructor.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#browseLabel"><B>browseLabel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#browsePanel"><B>browsePanel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#browsePanel"><B>browsePanel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data"><B>BrowseResponseData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Stores the data contained in an XML response message to a request for 
+ the classification Browse structure.<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#BrowseResponseData()"><B>BrowseResponseData()</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Default constructor
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#browseResponseObject"><B>browseResponseObject</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Object that stores the data of a browse response XML message 
+ (response for classification hierarchies)
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#browseStructureOptions"><B>browseStructureOptions</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#BROWSING"><B>BROWSING</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The value of the BROWSING activity
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#browsingTree"><B>browsingTree</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#call"><B>call</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Axis Call object for invoking Greenstone 3's WebServices
+ using its WSDL file
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#canBeImage()"><B>canBeImage()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#changeAncestorColor(java.awt.Component)"><B>changeAncestorColor(Component)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Given a component, sets its ancestors to the dark colour setting.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#changeColor(java.awt.Component[])"><B>changeColor(Component[])</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Given an array of components, sets their background colours to a 
+ dark or light colour setting as appropriate.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#changeColor(java.awt.Component)"><B>changeColor(Component)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Given a Component, sets its background colours to a dark or 
+ light colour setting as appropriate.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#changeDL(org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA)"><B>changeDL(DigitalLibraryServicesAPIA)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Method that is called when the user chooses to change the  active
+ digital library (between Greenstone3 and Fedora).
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#changeUIColour()"><B>changeUIColour()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.ColourChangeable.html#changeUIColour()"><B>changeUIColour()</B></A> - 
+Method in interface org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>
+<DD>Subclasses define this method in order to change the
+ colour of the interface
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#changeUIColour(int)"><B>changeUIColour(int)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Changes the background colours of the client's user interface
+ based on what the active digital library is.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#changeUIColour()"><B>changeUIColour()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#changeUIColour()"><B>changeUIColour()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#childnodes"><B>childnodes</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>Children (of this NodeData) as given in a nodeStructure, which 
+ can be ClassifierNodeData or DocumentNodeData.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#childnodes"><B>childnodes</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>children of this node: part of &lt;nodeStructure&gt; Element
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#classifier"><B>classifier</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>
+<DD>Encapsulated classifierData obj
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#classifierList"><B>classifierList</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>ClassifierNodeData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>ClassifierNodeData represents the information that can be stored in a   
+ &lt;classifierNode&gt; element.<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#ClassifierNodeData(org.w3c.dom.Element)"><B>ClassifierNodeData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>Constructor that given a classifierNode element creates
+ a ClassifierNodeData instance to parse and store its data.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data.
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Resets the internal data members of this BrowseResponseData object of 
+ their values so that this BrowseResponseData can be reused for the
+ next Browse response message.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>Resets the internal data members of this QueryResponseData object of 
+ their values so that this QueryResponseData can be reused for the
+ next Query response message.
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>Clears/resets this ResponseData object of all data, so that it can be  
+ reused to process future Browse and Query requests.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Call this method to empty all the form controls.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#clear()"><B>clear()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#client"><B>client</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Access to the running instance of GS3JavaClient
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#client"><B>client</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>Handle to the running GS3JavaClient object to have access to its 
+ methods
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#client"><B>client</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Handle to the running instance of the GS3JavaClient in order to have
+ access to its methods
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#client"><B>client</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Access to the running instance of GS3JavaClient
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#collBox"><B>collBox</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>CollectionData represents a Greenstone 3 collection and contains the data
+ stored in a &lt;collection&gt;&lt;/collection&gt; element returned from a   
+ MessageRouter's desribe response XML and a Collection describe response XML.<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#CollectionData(org.w3c.dom.Element)"><B>CollectionData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Gets a &lt;collection&gt;&lt;/collection&gt; element as returned by the 
+ <b>MessageRouter's</b> describe response, with only the name field set.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.MetaData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Static inner class MetaData: can import it into other files as
+ "import gs3client.CollectionData.MetaData;"
+ In this way, can use it as if it were a regular class (a.o.t.<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html#CollectionData.MetaData(org.w3c.dom.Element)"><B>CollectionData.MetaData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>
+<DD>Given a &lt;metadata&gt;&lt;/metadata&gt; element, constructs a 
+ CollectionData sets its members using info extracted from it
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.PluginData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>PluginData inner class of CollectionData, represents the data stored in 
+ a &lt;plugin&gt;&lt;/plugin&gt; element.<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html#CollectionData.PluginData(org.w3c.dom.Element)"><B>CollectionData.PluginData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<DD>Gets a &lt;plugin&gt;&lt;/plugin&gt; element and sets its members 
+ using info extracted from it.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.ServiceData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Only the name and type of a &lt;service&gt;&lt;/service&gt; element is 
+ stored, since this is all the service data available inside a collection's
+ response message to a describe request.<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html#CollectionData.ServiceData(org.w3c.dom.Element)"><B>CollectionData.ServiceData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<DD>Gets a &lt;service&gt;&lt;/service&gt; element and sets its members using 
+ info extracted from it
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#collectionNameField"><B>collectionNameField</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#collInfoButton"><B>collInfoButton</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#colName"><B>colName</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The currently selected collection
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>ColourCombo</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Background and selection color combinations for the Java-Client's 
+ interface.<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#ColourCombo(java.awt.Color, java.awt.Color)"><B>ColourCombo(Color, Color)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Constructor to create a ColourCombo combination of colours
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>ColourCombo.ColourChangeable</B></A> - Interface in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Interface ColourChangeable defines one method, changeUIColour(),
+ which classes whose user-interface colours can change may
+ implement.<DT><A HREF="./org/greenstone/gs3client/Displays.html#comparator"><B>comparator</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<DD>Static Comparator object for Pair objects of (name, value) Metadata
+<DT><A HREF="./org/greenstone/gs3client/Displays.MetadataComparator.html#compare(java.lang.Object, java.lang.Object)"><B>compare(Object, Object)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#compTable"><B>compTable</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#content"><B>content</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>The content attribute of the &lt;classifier&gt;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#converter"><B>converter</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>A converter class to parse XML and create Docs
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#converter"><B>converter</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>A converter class to parse XML and create Docs
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#createBooleanField()"><B>createBooleanField()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Creates check box controls for the &lt;param&gt; elements whose 
+ types are GSXML.PARAM_TYPE_BOOLEAN.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#createEnumListing(org.w3c.dom.Element)"><B>createEnumListing(Element)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Creates combo boxes/drop-downs for the &lt;param&gt; elements
+ whose types are GSXML.PARAM_TYPE_ENUM_SINGLE and listboxes for those
+ whose types are GSXML.PARAM_TYPE_ENUM_MULTI.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#createFedoraDLConnection()"><B>createFedoraDLConnection()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Attempts to establish a connection to FedoraGS3.jar and instantiate  
+ a FedoraServicesAPIA object and store it in the member variable fedoraDL.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#createGreenstoneDLConnection()"><B>createGreenstoneDLConnection()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Attempts to establish a connection to GS3 Web services and instantiate  
+ a GS3ServicesAPIA object and store it in the member variable greenstoneDL.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#createMultiPanel(org.w3c.dom.Element, javax.swing.JPanel)"><B>createMultiPanel(Element, JPanel)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>A multi-panel is created for a *set* of controls that occur more than 
+ once.
+<DT><A HREF="./org/greenstone/gs3client/Displays.html#createNodesForChildren(org.greenstone.gs3client.data.DocumentNodeData, javax.swing.tree.DefaultMutableTreeNode)"><B>createNodesForChildren(DocumentNodeData, DefaultMutableTreeNode)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<DD>Recursion to add all descendent docnodes into the tree.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#createTextField()"><B>createTextField()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Creates text fields for the &lt;param&gt; elements whose types are
+ GSXML.PARAM_TYPE_STRING or GSXML.PARAM_TYPE_INTEGER).
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#createWidget(org.w3c.dom.Element)"><B>createWidget(Element)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Creates the appropriate form control for the &lt;param&gt; element,
+ based on its type.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#csSubsetOptions"><B>csSubsetOptions</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#current"><B>current</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>The colour combination currently being used in the interface
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#dark"><B>dark</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>background colours for panels, labels
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#deactivate(java.lang.String, java.lang.String)"><B>deactivate(String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a deactivate system-type message to activate a Greenstone module.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#def"><B>def</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>default attribute of &lt;param&gt; tag
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#defaultColors"><B>defaultColors</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>System default greys
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#defaultWsdlURL"><B>defaultWsdlURL</B></A> - 
+Static variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>The value that the input dialog's field wsdlURL will default
+ to if there is (no properties file and) no wsdlURL property
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#descNodeIDsAsList(java.util.Vector, org.greenstone.gs3client.data.DocumentNodeData, boolean)"><B>descNodeIDsAsList(Vector, DocumentNodeData, boolean)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Recursive method that adds all the nodeIDs of the descendents
+ of DocumentNodeData parent into the Vector v.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describe()"><B>describe()</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#describe()"><B>describe()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describe()"><B>describe()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describe(java.lang.String, java.lang.String)"><B>describe(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Describe request message sent to the Message Router.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describe(java.lang.String, java.lang.String)"><B>describe(String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Sends a describe message to the MessageRouter.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describe(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>describe(String, String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For sending a describe message.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollection(java.lang.String)"><B>describeCollection(String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeCollection(java.lang.String)"><B>describeCollection(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollection(java.lang.String, java.lang.String, java.lang.String)"><B>describeCollection(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>For sending Describe messages to Collections.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describeCollection(java.lang.String, java.lang.String, java.lang.String)"><B>describeCollection(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For sending Describe messages to Collections.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)"><B>describeCollectionService(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)"><B>describeCollectionService(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>describeCollectionService(String, String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>For sending a describe message to a Collection's Service.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>describeCollectionService(String, String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For sending a describe message to a Collection's Service.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeService(java.lang.String)"><B>describeService(String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeService(java.lang.String)"><B>describeService(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeService(java.lang.String, java.lang.String, java.lang.String)"><B>describeService(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>For sending a describe message to a Service hosted by the Message Router 
+ (no collection).
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describeService(java.lang.String, java.lang.String, java.lang.String)"><B>describeService(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For sending a describe message to a Service hosted by the Message Router 
+ (no collection).
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)"><B>describeServiceCluster(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>For sending Describe messages to ServiceClusters.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)"><B>describeServiceCluster(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For sending Describe messages to ServiceClusters.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#description"><B>description</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Description of the Greenstone collection represented by this 
+ CollectionData
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA</B></A> - Interface in <A HREF="./org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A><DD>Interface that defines the digital library methods that need to be
+ provided by a digital library that's going to be incorporated into the 
+ Greenstone Java-Client, so that the client may be able to use/access 
+ its functionality.<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA.CancelException</B></A> - Exception in <A HREF="./org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A><DD>If there's a dialog, then the CancelException can be used to indicate
+ that the user cancelled out of it rather than having seen it through.<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException()"><B>DigitalLibraryServicesAPIA.CancelException()</B></A> - 
+Constructor for exception org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.String)"><B>DigitalLibraryServicesAPIA.CancelException(String)</B></A> - 
+Constructor for exception org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.Throwable)"><B>DigitalLibraryServicesAPIA.CancelException(Throwable)</B></A> - 
+Constructor for exception org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.String, java.lang.Throwable)"><B>DigitalLibraryServicesAPIA.CancelException(String, Throwable)</B></A> - 
+Constructor for exception org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#displayBrowseOptions(org.w3c.dom.Element)"><B>displayBrowseOptions(Element)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Will clear previous browse service's classification options and widgets, 
+ and redisplay browse options as specified by the describe Response Message 
+ XML returned from the browse Service.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#displayBrowseResults(org.greenstone.gs3client.data.BrowseResponseData, java.lang.String)"><B>displayBrowseResults(BrowseResponseData, String)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Called to populate the browsing tree with browse data.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#displayData"><B>displayData</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>A HashMap to store the displayData for the Browse operation.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#displayDescription"><B>displayDescription</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>The description attribute of the &lt;classifier&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#displayItem"><B>displayItem</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>DisplayItem text content of the parameter or option this 
+ QueryFormData represents
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#displayName"><B>displayName</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>The display name attribute of the &lt;classifier&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#displayName"><B>displayName</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Display name for the Greenstone collection represented by this 
+ CollectionData
+<DT><A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>Displays</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Class containing static methods, static variables and inner classes that
+ are used by both SearchResultsDisplay and BrowseDisplay.<DT><A HREF="./org/greenstone/gs3client/Displays.html#Displays()"><B>Displays()</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>Displays.MetadataComparator</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Static inner class MetadataComparator is a Comparator for the metadata 
+ fields stored as a list of Pair objects (name, values).<DT><A HREF="./org/greenstone/gs3client/Displays.MetadataComparator.html#Displays.MetadataComparator()"><B>Displays.MetadataComparator()</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Handles rightclicks on a treeview of documentNodeData objects by showing  
+ the popupMenu with associated files that, when selected, can be displayed  
+ in the htmlPane.<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#Displays.PopupListener(javax.swing.JPopupMenu, javax.swing.JTree, org.greenstone.gs3client.GS3JavaClient, javax.swing.JEditorPane)"><B>Displays.PopupListener(JPopupMenu, JTree, GS3JavaClient, JEditorPane)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>Constructor for the PopupListener.
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener.AssocFilePopupItem</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Package access inner class.<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html#Displays.PopupListener.AssocFilePopupItem(org.greenstone.gs3client.data.DocumentNodeData, java.lang.String)"><B>Displays.PopupListener.AssocFilePopupItem(DocumentNodeData, String)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client">Displays.PopupListener.AssocFilePopupItem</A>
+<DD>Constructor that creates an AssocFilePopupItem (popup menu item)  
+ instance for each associated file of a documentNodeData that's been 
+ rightclicked on.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#dlAPIA"><B>dlAPIA</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Reference to a digital library instance (Greenstone 3 or Fedora) that 
+ allows this client to execute services offered by the digital library
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#dlChooser"><B>dlChooser</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#dlOptions"><B>dlOptions</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#doBrowse(org.greenstone.gs3client.BrowseDisplay.ClassifierData)"><B>doBrowse(BrowseDisplay.ClassifierData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Given a ClassifierData object indicating what browsing category
+ was chosen, this method will retrieve all its descendants in the
+ hierarchy.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#doc"><B>doc</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Container Document to create XML Nodes
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#doc"><B>doc</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Container Document to create XML Nodes
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#docContentEditPane"><B>docContentEditPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#docInfoPane"><B>docInfoPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#docInfoWithContent"><B>docInfoWithContent</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html#docNode"><B>docNode</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client">Displays.PopupListener.AssocFilePopupItem</A>
+<DD>The documentNodeData that was rightclicked upon
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#docStructureInfo"><B>docStructureInfo</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#docStructureOptions"><B>docStructureOptions</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#docStructureTree"><B>docStructureTree</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#docType"><B>docType</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>DocType can be Hierarchical for instance
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>DocumentNodeData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Represents the data stored in the &lt;documentNode&gt; Elements
+ of Greenstone 3's XML response messages.<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#DocumentNodeData(org.w3c.dom.Element)"><B>DocumentNodeData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Given tags of the form 
+ &lt;documentNode nodeID="HASHac0a04dd14571c60d7fbfd.4.2"
+ nodeType="x" docType="y"&gt;
+ &lt;nodeContent>Text&lt;/nodeContent&gt;
+ &lt;nodeStructureInfo>&lt;info name="i" value="1" /&gt;
+ &lt;info name = "ii" value = "2" /&gt;&lt;/nodeStructureInfo&gt;
+ &lt;metadataList&gt;&lt;metadata name="a"&gt;Value
+ &lt;/metadata&gt;&lt;/metadataList&gt;
+ &lt;nodeStructure&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+ &lt;/nodeStructure&gt;
+ &lt;/documentNode&gt;
+ this constructor extracts the nodeId out of it and any other fields 
+ that might be set in the docNodeTag &lt;documentNode&gt; element.
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#equivTermList"><B>equivTermList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>The terms nested inside an &lt;equivTermList&gt;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#error(java.lang.String)"><B>error(String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#error(java.lang.String)"><B>error(String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#executableServicesOnly"><B>executableServicesOnly</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>we want to display a drop-down box for the services available,
+ but only Services that can be executed (searching and browsing)
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#extractDisplayItem(org.w3c.dom.Element)"><B>extractDisplayItem(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>Given an element, extracts the text value from the first direct child 
+ element that is a &lt;displayItem&gt; element and returns this.
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#FEDORA"><B>FEDORA</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#fedoraColors"><B>fedoraColors</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Fedora's colour combinations of blue
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#fedoraDL"><B>fedoraDL</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Reference to the object that interacts with the FedoraGS3.jar component
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>FedoraServicesAPIA</B></A> - Class in <A HREF="./org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A><DD>FedoraServicesAPIA implements DigitalLibraryServicesAPIA for enabling the 
+ Java-client to access a Fedora repository of Greenstone digital objects.<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#FedoraServicesAPIA()"><B>FedoraServicesAPIA()</B></A> - 
+Constructor for class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>Default constructor
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#field"><B>field</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/Pair.html#first"><B>first</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<DD>first item of the Pair
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#format(java.lang.String, java.lang.String, java.lang.String)"><B>format(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a format-type message to a Service containing format (Greenstone 
+ Format, GSF) XSLT statements to specify how a collection looks.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#formFromQueryServiceDescribe(org.w3c.dom.Element)"><B>formFromQueryServiceDescribe(Element)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Sets up the the query form for display (queryPanel) given the XML of   
+ the response-message returned by a "describe" request sent to a 
+ Query Service.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#freq"><B>freq</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getAllChildElementsCalled(org.w3c.dom.Element, java.lang.String)"><B>getAllChildElementsCalled(Element, String)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL()"><B>getAssocFileBaseURL()</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><B>getAssocFileBaseURL(DocumentNodeData)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><B>getAssocFileBaseURL(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getAssocFileBaseURL()"><B>getAssocFileBaseURL()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><B>getAssocFileBaseURL(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getAssocFilePath()"><B>getAssocFilePath()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getAssociatedFileNames()"><B>getAssociatedFileNames()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#getBaseURL()"><B>getBaseURL()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getBodyTextValue(org.w3c.dom.Element)"><B>getBodyTextValue(Element)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#getChildren()"><B>getChildren()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>Gets the children of this node, but does not guarantee that *their*
+ children are set.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getChildren()"><B>getChildren()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#getChildren()"><B>getChildren()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getContent()"><B>getContent()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#getCurrentCombo()"><B>getCurrentCombo()</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getDescendents()"><B>getDescendents()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getDescNodeIDsAsList(boolean)"><B>getDescNodeIDsAsList(boolean)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>When called on a rootNode, returns an array of all the descendents' 
+ nodeIDs.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getDescription()"><B>getDescription()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getDisplayName()"><B>getDisplayName()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getDisplayName()"><B>getDisplayName()</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#getDisplayName()"><B>getDisplayName()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getDisplayName()"><B>getDisplayName()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getDocNodeForID(java.lang.String)"><B>getDocNodeForID(String)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>Given an nodeID, returns the DocumentNodeData object with that nodeID
+ if any.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getDocType()"><B>getDocType()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getDocumentNodeIDs()"><B>getDocumentNodeIDs()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getDocumentNodeList()"><B>getDocumentNodeList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String)"><B>getElementsByTagNameNS(Element, String, String)</B></A> - 
+Static method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Static method that gets all the descendant elements of a portion of XMl  
+ within the same namespace as indicated by parameters namespacePrefix and 
+ localName.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String, java.util.Vector)"><B>getElementsByTagNameNS(Element, String, String, Vector)</B></A> - 
+Static method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>At method's end, Vector v will contain those descendent elements of 
+ parentElement where the element's name is prefixed by namespacePrefix 
+ and suffixed by localName.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameSuffix(org.w3c.dom.Element, java.lang.String, java.util.Vector)"><B>getElementsByTagNameSuffix(Element, String, Vector)</B></A> - 
+Static method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Recursive method.
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getElementValuesForAttr(org.w3c.dom.Element, java.lang.String, java.lang.String)"><B>getElementValuesForAttr(Element, String, String)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>Given an Element &lt;parentEl&gt;, finds all direct child elements called
+ &lt;elName&gt; that have an attribute named attrName:
+ &lt;elName attrName=value&gt;bodytext&lt;/elName&gt;
+ This is particularly useful for extracting info for those cases where 
+ elName=&lt;displayItem&gt; and where the attrName is "name".
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#getEquivTermList()"><B>getEquivTermList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#getFilePath(org.greenstone.gs3client.data.DocumentNodeData)"><B>getFilePath(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/Pair.html#getFirst(java.util.Vector)"><B>getFirst(Vector)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<DD>Given a Vector of Pairs, returns an array of all the first
+ values of each Pair.
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getFirstChildElementCalled(org.w3c.dom.Element, java.lang.String)"><B>getFirstChildElementCalled(Element, String)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>Method that returns the first child element of parent whose tagname is 
+        childElementName.
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getFirstDescElementCalled(org.w3c.dom.Element, java.lang.String)"><B>getFirstDescElementCalled(Element, String)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>Method that returns the first descendant element of parent whose tagname 
+        is descElementName.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#getGridSize()"><B>getGridSize()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getIcon()"><B>getIcon()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#getIDToNodeMapping()"><B>getIDToNodeMapping()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#getIDToNodeMapping()"><B>getIDToNodeMapping()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getImgName()"><B>getImgName()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getImgURL()"><B>getImgURL()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.html#getImgUrlEnclosedInHtml(java.lang.String)"><B>getImgUrlEnclosedInHtml(String)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<DD>JEditorPane cannot deal with &lt;img src="" /&gt;.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getLanguage()"><B>getLanguage()</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>Gets the language that's set as the preferred language.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getLanguage()"><B>getLanguage()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#getLanguage()"><B>getLanguage()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#getLargestCellSize(java.awt.Container, boolean)"><B>getLargestCellSize(Container, boolean)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Algorithm for calculating the largest minimum or preferred cell size.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#getLayoutAlignmentX(java.awt.Container)"><B>getLayoutAlignmentX(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Returns the alignment along the x axis.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#getLayoutAlignmentY(java.awt.Container)"><B>getLayoutAlignmentY(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Returns the alignment along the y axis.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#getLayoutSize(java.awt.Container, boolean)"><B>getLayoutSize(Container, boolean)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Algorithm for calculating layout size (minimum or preferred).
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#getListElementsAsArray(org.w3c.dom.Element, java.lang.String, java.lang.String)"><B>getListElementsAsArray(Element, String, String)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>Given an xml element ('parent'), it looks through its direct children 
+ to find the &lt;listElementName&gt; tag and extracts each child called
+ &lt;childElementName&gt; element from it.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getMetadataList()"><B>getMetadataList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#getMetadataList()"><B>getMetadataList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getMetaValueForName(java.lang.String)"><B>getMetaValueForName(String)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getName()"><B>getName()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#getNodeForID(java.lang.String)"><B>getNodeForID(String)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>Given an nodeID, returns the NodeData object with that nodeID,
+ if any.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getNumDocsMatched()"><B>getNumDocsMatched()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getNumDocsReturned()"><B>getNumDocsReturned()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html#getPasswordAuthentication()"><B>getPasswordAuthentication()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client">GS3JavaClient.PasswordAuthenticator</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getPluginList()"><B>getPluginList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getPort()"><B>getPort()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#getPreferredSize()"><B>getPreferredSize()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Overrode this method to resize the splitpanes within, upon resize.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#getPreferredSize()"><B>getPreferredSize()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Overrode this method to resize the splitpanes within, upon resize.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getQueryField()"><B>getQueryField()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#getResponseAsDOM(java.lang.String, java.lang.String)"><B>getResponseAsDOM(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Given an XML response string, returns the root document (element) 
+ representing its DOM form.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#getRoot()"><B>getRoot()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#getRootClassifier()"><B>getRootClassifier()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/Pair.html#getSecond(java.util.Vector)"><B>getSecond(Vector)</B></A> - 
+Static method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<DD>Given a Vector of Pairs, returns an array of all the second
+ values of each Pair.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getService()"><B>getService()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getServiceList(boolean)"><B>getServiceList(boolean)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getSmallIcon()"><B>getSmallIcon()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#getSubElements()"><B>getSubElements()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>Read-only accessor for this QueryFormParam object's subElements
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#getTermList()"><B>getTermList()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#getTitle()"><B>getTitle()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#getUrl()"><B>getUrl()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getWsdl()"><B>getWsdl()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>GraphPaperLayout</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>The <code>GraphPaperLayout</code> class is a layout manager that 
+ lays out a container's components in a rectangular grid, similar
+ to GridLayout.<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout()"><B>GraphPaperLayout()</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Creates a graph paper layout with a default of a 1 x 1 graph, with no
+ vertical or horizontal padding.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout(java.awt.Dimension)"><B>GraphPaperLayout(Dimension)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Creates a graph paper layout with the given grid size, with no vertical
+ or horizontal padding.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout(java.awt.Dimension, int, int)"><B>GraphPaperLayout(Dimension, int, int)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Creates a graph paper layout with the given grid size and padding.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#green"><B>green</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Greenstone dark background colour
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#GREENSTONE"><B>GREENSTONE</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#greenstoneColors"><B>greenstoneColors</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Greenstone greens
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#greenstoneDL"><B>greenstoneDL</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Reference to the object that interacts with Greenstone3's web services
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#grey"><B>grey</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Default background colour
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#gridSize"><B>gridSize</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>The main Javaclient class.<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#GS3JavaClient()"><B>GS3JavaClient()</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Default constructor that creates and initialises this main
+ window and its internal GUI components
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient.PasswordAuthenticator</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Inner class that handles authentication for any sites (urls, etc.) 
+ that require it.<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html#GS3JavaClient.PasswordAuthenticator()"><B>GS3JavaClient.PasswordAuthenticator()</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client">GS3JavaClient.PasswordAuthenticator</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3ServicesAPIA</B></A> - Class in <A HREF="./org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A><DD>GS3ServicesAPIA does two things:
+ - it implements DigitalLibraryServicesAPIA for enabling the Java-client 
+ to access Greenstone's repository of collections and documents.<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#GS3ServicesAPIA()"><B>GS3ServicesAPIA()</B></A> - 
+Constructor for class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Displays a dialog to get user input for the location of the Greenstone 3  
+ web services' WSDL file
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#GS3ServicesAPIA(java.lang.String)"><B>GS3ServicesAPIA(String)</B></A> - 
+Constructor for class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>GS3ServicesAPIA constructor, which, given the url to the wsdl file, 
+ finds either service and port or the service's endpoint of the GS3 Web 
+ Services and instantiates the associated Service and Call objects.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3WebServicesQBRAPI</B></A> - Class in <A HREF="./org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A><DD>GS3WebServicesQBRAPI deals with invoking the Greenstone 3 web services 
+ functionality through use of Apache Axis' Service and Call objects.<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#GS3WebServicesQBRAPI(java.lang.String)"><B>GS3WebServicesQBRAPI(String)</B></A> - 
+Constructor for class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>GS3ServicesAPIA constructor, that given the url to the wsdl file, finds 
+ either service and port or the service's endpoint of the GS3 Web Services 
+ and instantiates the associated Service and Call objects.
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#hasChildren"><B>hasChildren</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>Since we are setting the descendents lazily (only setting the children
+ each time), we have a little flag to indicate whether this node has
+ any children.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#hasNoText()"><B>hasNoText()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#help()"><B>help()</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#help()"><B>help()</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#help()"><B>help()</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#helpErrormessage"><B>helpErrormessage</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Error message loading helpFile.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#helpErrormessage"><B>helpErrormessage</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Error message loading helpFile.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#helpFile"><B>helpFile</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>The help properties file describing the web service operations
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#helpFile"><B>helpFile</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>The help properties file describing the web service operations
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#helpWithMethod(java.lang.String)"><B>helpWithMethod(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#helpWithMethod(java.lang.String)"><B>helpWithMethod(String)</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#helpWithMethod(java.lang.String)"><B>helpWithMethod(String)</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#hgap"><B>hgap</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#htmlArea"><B>htmlArea</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>The htmlPane wherein associated files are to be displayed
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#htmlPane"><B>htmlPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#icon"><B>icon</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#ignore"><B>ignore</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>ignore attribute of &lt;param&gt; tag specifies whether this param 
+ will be ignored at ignore=pos
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#info()"><B>info()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#invalidateLayout(java.awt.Container)"><B>invalidateLayout(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Invalidates the layout, indicating that if the layout manager
+ has cached information it should be discarded.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#invokeWith(java.lang.Object[])"><B>invokeWith(Object[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Helper method.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#isLeaf()"><B>isLeaf()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#isLightColor(java.awt.Component)"><B>isLightColor(Component)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_K_"><!-- --></A><H2>
+<B>K</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#keyPressed(java.awt.event.KeyEvent)"><B>keyPressed(KeyEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Defined by KeyListener interface.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#keyReleased(java.awt.event.KeyEvent)"><B>keyReleased(KeyEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Called when the searchButton was in focus and a key was pressed.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#keyTyped(java.awt.event.KeyEvent)"><B>keyTyped(KeyEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Defined by KeyListener interface.
+</DL>
+<HR>
+<A NAME="_L_"><!-- --></A><H2>
+<B>L</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#lang"><B>lang</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Preferred language of display items in responses.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html#language"><B>language</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#language"><B>language</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Storing language settings for requests and responses
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#layoutContainer(java.awt.Container)"><B>layoutContainer(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Lays out the container in the specified container.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#light"><B>light</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>background colours for comboboxes, lists, textfields, textareas
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#lightBlue"><B>lightBlue</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Fedora light background colour
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#lightGreen"><B>lightGreen</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Greenstone light background colour
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#LOG"><B>LOG</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>The Logger for this class
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#LOG"><B>LOG</B></A> - 
+Static variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>The Logger for this class
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#LOG"><B>LOG</B></A> - 
+Static variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>The Logger for this class
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#LOG"><B>LOG</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The Logger for this class
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#LOG"><B>LOG</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>The Logger for this class
+</DL>
+<HR>
+<A NAME="_M_"><!-- --></A><H2>
+<B>M</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The main method of the GS3 java-client application.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#maximumLayoutSize(java.awt.Container)"><B>maximumLayoutSize(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Returns the maximum size of this component.
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#maybeShowPopup(java.awt.event.MouseEvent)"><B>maybeShowPopup(MouseEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>If the mouseEvent was a trigger (rightclick), displays the popup 
+ context menu.
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>MetaData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Stores the name, value and value of body textnode of a simple &lt;metadata&gt;
+ element.<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#MetaData(org.w3c.dom.Element)"><B>MetaData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>Constructor that creates a MetaData object from a 
+ &lt;metadata&gt;&lt;/metadata&gt; element by setting its members fields 
+ using info extracted from the element.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#metadataList"><B>metadataList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Collection level metadata
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#metadataList"><B>metadataList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>Metadata of the query's response - not a documentNode's metadata!
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#metadataRetrieve(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String)"><B>metadataRetrieve(String, String, String[], String[], String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Performs a metadata retrieve for documents and (browse) classification 
+ hierarchies.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#metanames"><B>metanames</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#metanames"><B>metanames</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#metavalues"><B>metavalues</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#metavalues"><B>metavalues</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#minimumLayoutSize(java.awt.Container)"><B>minimumLayoutSize(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Calculates the minimum size dimensions for the specified 
+ panel given the components in the specified parent container.
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#mousePressed(java.awt.event.MouseEvent)"><B>mousePressed(MouseEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>Possibly a popupEvent
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#mouseReleased(java.awt.event.MouseEvent)"><B>mouseReleased(MouseEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>Possibly a popupEvent
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#mr"><B>mr</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Message Router object to pass requests messages to and which 
+ will process them.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#mr"><B>mr</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Message Router object to pass requests messages to and which 
+ will process them.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#mrSubsetOptions"><B>mrSubsetOptions</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_N_"><!-- --></A><H2>
+<B>N</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>The name attribute of the &lt;classifier&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>The basic field of a collection: the name of the collection.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<DD>name of the plugin represented by this PluginData object
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<DD>name of the Greenstone service represented by this ServiceData object
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>Name attribute of a &lt;metadata&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>Name of the parameter or option this QueryFormData represents
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#name"><B>name</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#namespace"><B>namespace</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>namespace of Greenstone 3's WebServices, as given in the WSDL file
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#nodeContent"><B>nodeContent</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>The text content of the document
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>NodeData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Abstract superclass NodeData can represent either a the information in
+ a &lt;classifierNode&gt; (stored in a ClassifierNodeData object) or in a
+ &lt;documentNode&gt; (stored in a DocumentNodeData object).<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#NodeData(org.w3c.dom.Element)"><B>NodeData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>Constructor that extracts the nodeID value from the given nodeTag:
+ &lt;classifierNode nodeID = "x" /&gt; 
+ or &lt;documentNode nodeID = "x" /&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#nodeID"><B>nodeID</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>The unique nodeID identifying this documentNode or classificationNode
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#nodeIDsToNodes"><B>nodeIDsToNodes</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>map of (nodeIDs, references to associated NodeData) pairs, 
+ stored in the order they are contained in the response XML messages 
+ (the order in which data objects are parsed and created for them)
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#nodeMetadata"><B>nodeMetadata</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>Map of the metadata (name, value) pairs of this document- 
+ or classifier-node
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#nodeStructureInfo_map"><B>nodeStructureInfo_map</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>A Hashmap to store &lt;nodeStructureInfo&gt; of a DocumentNodeData
+ (if it has any)
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#nodeTag"><B>nodeTag</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>stores this NodeData's tag element: can be either 
+ &lt;documentNode&gt; or &lt;classifierNode&gt;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#nodeType"><B>nodeType</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>NodeType of this DocumentNodeData: root, internal or leaf
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#nonProxyHostNamesField"><B>nonProxyHostNamesField</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#numDocsMatch"><B>numDocsMatch</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#numDocsMatched"><B>numDocsMatched</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#numDocsReturned"><B>numDocsReturned</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_O_"><!-- --></A><H2>
+<B>O</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#occurs"><B>occurs</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>occurs attribute of &lt;param&gt; tag specifies how often the 
+ widget occurs
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#OCCURS_ATT"><B>OCCURS_ATT</B></A> - 
+Static variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>Constant for the "occurs" attribute name
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html#optionnames"><B>optionnames</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<DD>A plugin's option subelements.
+<DT><A HREF="./org/greenstone/gs3client/package-summary.html"><B>org.greenstone.gs3client</B></A> - package org.greenstone.gs3client<DD>&nbsp;<DT><A HREF="./org/greenstone/gs3client/data/package-summary.html"><B>org.greenstone.gs3client.data</B></A> - package org.greenstone.gs3client.data<DD>&nbsp;<DT><A HREF="./org/greenstone/gs3client/dlservices/package-summary.html"><B>org.greenstone.gs3client.dlservices</B></A> - package org.greenstone.gs3client.dlservices<DD>&nbsp;<DT><A HREF="./org/greenstone/gs3services/package-summary.html"><B>org.greenstone.gs3services</B></A> - package org.greenstone.gs3services<DD>&nbsp;</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#paint(java.awt.Graphics)"><B>paint(Graphics)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>For some reason, the overriden getPreferredSize() is not
+ called upon resize of this panel, so I am calling it manually 
+ whenever there's a call to paint this Panel.
+<DT><A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>Pair</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Pair is a simple utility class to represent two associated String values.<DT><A HREF="./org/greenstone/gs3client/data/Pair.html#Pair(java.lang.String, java.lang.String)"><B>Pair(String, String)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<DD>Constructor that creates a Pair from two String values.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#paramsPanel"><B>paramsPanel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Panel to contain all the form controls specific to the chosen Query 
+ Service.
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#paramTags"><B>paramTags</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Query parameters specified by the query services
+<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>ParseUtil</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Some useful, general response XML message parsing functions 
+        for the JavaClient's data classes.<DT><A HREF="./org/greenstone/gs3client/data/ParseUtil.html#ParseUtil()"><B>ParseUtil()</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#performSearch(java.util.HashMap)"><B>performSearch(HashMap)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Called by the instance of the QueryForm class when the user has 
+ pressed the queryPanel's search button to execute a query.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#pluginList"><B>pluginList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Greenstone plugins used to build this collection with
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#popup"><B>popup</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Context menu that pops up when users right click in the browse tree area
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#popup"><B>popup</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Context menu that pops up when users right click in the browse tree area
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#popupMenu"><B>popupMenu</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>A popup component
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#portName"><B>portName</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>port Name of Greenstone 3's WebServices, as given in the WSDL file
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#preferredLayoutSize(java.awt.Container)"><B>preferredLayoutSize(Container)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Calculates the preferred size dimensions for the specified 
+ panel given the components in the specified parent container.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#processInternal(org.w3c.dom.Element)"><B>processInternal(Element)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#processInternal(org.w3c.dom.Element)"><B>processInternal(Element)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#properties"><B>properties</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Properties map with mappings from methodname to help 
+ description string
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#properties"><B>properties</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Properties map with mappings from methodname to help 
+ description string.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#propertiesFile"><B>propertiesFile</B></A> - 
+Static variable in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>The properties file containing the initial digital library connection
+ settings which get displayed in the connection dialog fields
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#proxyhostField"><B>proxyhostField</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#proxyportField"><B>proxyportField</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_Q_"><!-- --></A><H2>
+<B>Q</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services"><B>QBRSOAPServer</B></A> - Class in <A HREF="./org/greenstone/gs3services/package-summary.html">org.greenstone.gs3services</A><DD>Class that provides the basic Query, Browse and Retrieve (QBR) web service
+ operations for Greenstone 3.<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#QBRSOAPServer()"><B>QBRSOAPServer()</B></A> - 
+Constructor for class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, Map)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, Map)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, Map)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, String, Map)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>For executing a (process-type message) query-type service.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, String, Map)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>For executing a (process-type message) query-type service.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#queryField"><B>queryField</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>QueryForm</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Panel that represents a Query Form based on GS3 describe response XML 
+ messages sent by a Query Service.<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#QueryForm(org.greenstone.gs3client.GS3JavaClient)"><B>QueryForm(GS3JavaClient)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Constructor that instantiates this Form's internal GUI items.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>QueryFormControl</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>Represents a control in a query form.<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#QueryFormControl(org.w3c.dom.Element)"><B>QueryFormControl(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Constructor that creates a QueryFormControl for a &lt;param&gt; element
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#QueryFormControl(org.w3c.dom.Element, javax.swing.JPanel)"><B>QueryFormControl(Element, JPanel)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>Constructor that creates a QueryFormControl for a &lt;param&gt; element 
+ inside a panel.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Class QueryFormData represents the &lt;param&gt; and &lt;option&gt; elements 
+        that can appear in a &lt;paramList&gt; tag in the xml response returned by 
+        a describe request sent to *Query* Service (e.g.<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#QueryFormData(org.w3c.dom.Element)"><B>QueryFormData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>Contructor to create a QueryFormData object from &lt;param&gt; 
+ or &lt;option&gt; elements of a Query response XML message.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData.QueryFormParam</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Static inner class QueryFormParam is a subclass of QueryFormData and 
+        uniquely represents the data that can be contained in any &lt;param&gt; 
+        tag of the xml response that's returned when a describe request is sent to 
+        a Query Service.<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#QueryFormData.QueryFormParam(org.w3c.dom.Element)"><B>QueryFormData.QueryFormParam(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>Constructor that creates a QueryFormParam object from the data 
+ contained in a &lt;param&gt;element of a Query response XML message.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#queryPanel"><B>queryPanel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#queryProcess(java.lang.String, java.lang.String, org.w3c.dom.Element)"><B>queryProcess(String, String, Element)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Values for field Names given in the paramList must exist for the 
+ (Collection-)Service Query that this message is sent To (as given in the 
+ 'to' argument).
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Represents the data fields that may be present in a response
+ to a Query-process request.<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#QueryResponseData()"><B>QueryResponseData()</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>Default constructor
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData.TermData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Static inner class Term represents a &lt;term&gt; XML element 
+ (these are nested in a &lt;termList&gt;) - see manual p.<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#QueryResponseData.TermData(org.w3c.dom.Element)"><B>QueryResponseData.TermData(Element)</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>Constructs a Term object to represent the &lt;term&gt; element passed
+ in here as an argument.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#queryResponseObj"><B>queryResponseObj</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Object that stores the data of a query response XML message
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#rank"><B>rank</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Rank of this DocumentNodeData if the &lt;documentNode&gt; 
+ Element was returned in a search result
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#reconfigure(java.lang.String)"><B>reconfigure(String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a configure system-type message to configure the Message Router.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#reconfigureMessageRouter()"><B>reconfigureMessageRouter()</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a configure system-type message to configure all of the Message Router.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#ref"><B>ref</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>the widget that's a visual representation of this QueryFormParam
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#removeLayoutComponent(java.awt.Component)"><B>removeLayoutComponent(Component)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Removes the specified component from the layout.
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data"><B>ResponseData</B></A> - Class in <A HREF="./org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A><DD>Represents the data in a response XML message that is returned as
+ either a Browse or Query (Search) request.<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#ResponseData()"><B>ResponseData()</B></A> - 
+Constructor for class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>Default constructor, creates the nodeIDsToNodes map
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#restructureWithNewRoot(org.greenstone.gs3client.data.DocumentNodeData)"><B>restructureWithNewRoot(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Restructures the docStructureTree with a new rootNode when a different   
+ search result has been clicked.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveAllBrowseMetadata(String, String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveAllBrowseMetadata(String, String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveAllDocumentMetadata(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>(c) DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveAllDocumentMetadata(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#retrieveAllMetadataFor(org.greenstone.gs3client.data.DocumentNodeData)"><B>retrieveAllMetadataFor(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Performs a docMetadataRetrieve message request for the docNode 
+ iff the metadata for that docNode is not already set.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveBrowseMetadata(String, String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveBrowseMetadata(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveBrowseMetadata(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>retrieveBrowseMetadata(String, String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>retrieveBrowseMetadata(String, String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><B>retrieveBrowseStructure(String, String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><B>retrieveBrowseStructure(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><B>retrieveBrowseStructure(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#retrieveContentFor(org.greenstone.gs3client.data.DocumentNodeData)"><B>retrieveContentFor(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Performs a docMetadataRetrieve message request for the docNode 
+ iff the nodeContent for that docNode is not already set.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])"><B>retrieveDocumentChildren(String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)"><B>retrieveDocumentChildren(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])"><B>retrieveDocumentChildren(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)"><B>retrieveDocumentChildren(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])"><B>retrieveDocumentChildren(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)"><B>retrieveDocumentChildren(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])"><B>retrieveDocumentContent(String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)"><B>retrieveDocumentContent(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])"><B>retrieveDocumentContent(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)"><B>retrieveDocumentContent(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])"><B>retrieveDocumentContent(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)"><B>retrieveDocumentContent(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveDocumentContent(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>(a) DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (p.48)
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveDocumentContent(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (see manual, p.48)
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><B>retrieveDocumentMetadata(String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)"><B>retrieveDocumentMetadata(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><B>retrieveDocumentMetadata(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)"><B>retrieveDocumentMetadata(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><B>retrieveDocumentMetadata(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)"><B>retrieveDocumentMetadata(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>retrieveDocumentMetadata(String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><B>retrieveDocumentMetadata(String, String, String[], String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])"><B>retrieveDocumentStructure(String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)"><B>retrieveDocumentStructure(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])"><B>retrieveDocumentStructure(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)"><B>retrieveDocumentStructure(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])"><B>retrieveDocumentStructure(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)"><B>retrieveDocumentStructure(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])"><B>retrieveDocumentStructure(String, String, String[], String[], String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])"><B>retrieveDocumentStructure(String, String, String[], String[], String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveEntireDocumentStructure(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>(b) DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])"><B>retrieveEntireDocumentStructure(String, String, String[])</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#retrieveTitledStructureFor(org.greenstone.gs3client.data.DocumentNodeData)"><B>retrieveTitledStructureFor(DocumentNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Performs a structureRetrieve and title metadata retrieve message- 
+ request for the docNode, but only iff the structure and title for  
+ that docNode is not already set.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#retrieveTitledStructureFor(org.greenstone.gs3client.data.ClassifierNodeData)"><B>retrieveTitledStructureFor(ClassifierNodeData)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Given a ClassifierNodeData object for browsing, this method will 
+ set the classNode's children (previously retrieved) and retrieve 
+ all the children's metadata including the title.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])"><B>retrieveTitleMetadata(String, String[])</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)"><B>retrieveTitleMetadata(String, String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])"><B>retrieveTitleMetadata(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)"><B>retrieveTitleMetadata(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])"><B>retrieveTitleMetadata(String, String[])</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)"><B>retrieveTitleMetadata(String, String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#rootClassifierNode"><B>rootClassifierNode</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Reference to the root browse classifier, which may contain further
+ descendent classifierNodes or documentNodes.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#rootDoc"><B>rootDoc</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Reference to this doc's root
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#searchButton"><B>searchButton</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#searchButton"><B>searchButton</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Search button that will cause the search to be executed when pressed
+<DT><A HREF="./org/greenstone/gs3client/QueryForm.html#searchButtonPressed()"><B>searchButtonPressed()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>
+<DD>Called when the searchButton was clicked or when it was in focus 
+ and the enter key was pressed.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#SEARCHING"><B>SEARCHING</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The value of the SEARCHING activity
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#searchPanel"><B>searchPanel</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#searchResultsDisplay"><B>searchResultsDisplay</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client"><B>SearchResultsDisplay</B></A> - Class in <A HREF="./org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A><DD>The Search panel inside the Java-client's tab pane that's labelled 
+ "Search Results".<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#SearchResultsDisplay(org.greenstone.gs3client.GS3JavaClient)"><B>SearchResultsDisplay(GS3JavaClient)</B></A> - 
+Constructor for class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Constructor that creates the Search Panel and its internal GUI items.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#searchResultsTree"><B>searchResultsTree</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#searchSummary"><B>searchSummary</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/Pair.html#second"><B>second</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A>
+<DD>second item of the Pair
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#SELECT"><B>SELECT</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#service"><B>service</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Axis Service object for connecting to invoking Greenstone 3's WebServices
+ using its WSDL file
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#serviceBox"><B>serviceBox</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#serviceList"><B>serviceList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>List of services supported by this collection
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#serviceName"><B>serviceName</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>service Name of Greenstone 3's WebServices, as given in the WSDL file
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#serviceName"><B>serviceName</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>The currently selected service
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#serviceSubsetOptions"><B>serviceSubsetOptions</B></A> - 
+Static variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#setChildren(java.util.Map)"><B>setChildren(Map)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>Given a map of nodeIdsToNodes, this method instantiates any
+ children this ClassifierNodeData object might have.
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#setChildren(java.util.Vector, java.util.Map)"><B>setChildren(Vector, Map)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>Called when setting descendents lazily: only the children of this
+ node are set.
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#setColour(int)"><B>setColour(int)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Sets the active colour combination based on the value of DL.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#setConstraints(java.awt.Component, java.awt.Rectangle)"><B>setConstraints(Component, Rectangle)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#setContentForDocs(org.w3c.dom.Element)"><B>setContentForDocs(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>After a DocumentContentRetrieve request for one or more documents 
+ has returned a response, this method - when given the response XML - 
+ will set the nodeContents of each document in the response (as long
+ as those documents already have an associated DocumentNodeData
+ object instantiated, which should/would always be the case).
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#setCurrentCombo(org.greenstone.gs3client.ColourCombo)"><B>setCurrentCombo(ColourCombo)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#setDescendents(org.greenstone.gs3client.data.DocumentNodeData, org.w3c.dom.Element, java.util.Map)"><B>setDescendents(DocumentNodeData, Element, Map)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Recursive method.
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#setDescendentsOfRootNode(org.w3c.dom.Element, java.util.Map)"><B>setDescendentsOfRootNode(Element, Map)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Given a &lt;nodeStructure&gt;&lt;/nodeStructure&gt; element returned   
+ from a request for the *ENTIRE* nodeStructure, this method will find the  
+ &lt;documentNode&gt; that is the Root (nodeType=ROOT) and from there
+ on proceed to set all descendent &lt;documentNode&gt;s.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#setEquivTermList(org.w3c.dom.Element)"><B>setEquivTermList(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>Uses the &lt;equivTermList&gt;...&lt;/equivTermList&gt; tag, 
+ which may cotnain more TermData.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#setFields(org.w3c.dom.Element)"><B>setFields(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Gets a &lt;collection&gt;&lt;/collection&gt; element - as returned by a 
+ describe response from a <b>Collection</b> - and sets the member vars using 
+ the data in there.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#setGridSize(java.awt.Dimension)"><B>setGridSize(Dimension)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Set the size of the graph paper in logical units (n x m)
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#setGridSize(int, int)"><B>setGridSize(int, int)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>Set the size of the graph paper in logical units (n x m)
+<DT><A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
+Method in interface org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>
+<DD>Sets the preferred language (code) for metadata and other content to be
+ returned on request messages.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
+Method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>Set the preferred language of the display items
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#setMetadataForClassifiers(org.w3c.dom.Element)"><B>setMetadataForClassifiers(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Given the response message element to a metadata request on
+ &lt;classifierNode&gts;, this method sets those classifierNodes' metadata.
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#setMetadataForDocuments(org.w3c.dom.Element)"><B>setMetadataForDocuments(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>This method sets the metadata for one or even all &lt;documentNode&gt; 
+ data objects contained in the Map nodeIDsToNodes, using the &lt;message&gt; 
+ element parameter (which is returned upon a documentMetadataRetrieve 
+ request.
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#setMetadataForNodes(org.w3c.dom.Element, java.lang.String)"><B>setMetadataForNodes(Element, String)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>This method can be called after a DocumentMetadataRetrieve request 
+ has returned a response.
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#setMetadataList(org.w3c.dom.Element)"><B>setMetadataList(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>Sets member metadataList if there is a &lt;metadataList&gt; subelement in
+ docNodeTag: first get the &lt;metadataList&gt; then its &lt;metadata&gt; 
+ children
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#setNodeContent(org.w3c.dom.Element)"><B>setNodeContent(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Sets member variable nodeContent with the text (if any) inside any 
+ &lt;nodeContent&gt;&lt;/nodeContent&gt; child element of 
+ &lt;documentNode&gt;, else the value of nodeContent is set to empty 
+ string ("").
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#setNodeStructInfo(org.w3c.dom.Element)"><B>setNodeStructInfo(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>Sets structureInfo member variable &lt;nodeStructureInfo&gt; element is  
+ present as child of &lt;documentNode&gt;, else value of structureInfo 
+ remains unchanged.
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#setProxySettings"><B>setProxySettings</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#setResponseData(org.w3c.dom.Element)"><B>setResponseData(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Given an XML responseMessage to a request for the classification  
+ Browse structure, this method sets its nodeIDsToNodes member variable 
+ by instantiating classifierNodeData and/or documentNodeData objects   
+ as given in the responseMessageTag.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#setResponseData(org.w3c.dom.Element)"><B>setResponseData(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>Given the response to a query message (XML with root &lt;message&gt; 
+ or &lt;response&gt; tag), a QueryResponseData object is created 
+ to store all the document Identifiers and document data returned
+ as well as information about the terms that were searched on.
+<DT><A HREF="./org/greenstone/gs3client/data/ResponseData.html#setResponseData(org.w3c.dom.Element)"><B>setResponseData(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A>
+<DD>Subclasses must implement this method to parse the 
+ &lt;message&gt;&lt;response&gt;&lt;/response&gt;&lt;/message&gt;
+ that is returned upon executing a browse or query request.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#setResults(org.greenstone.gs3client.data.DocumentNodeData[])"><B>setResults(DocumentNodeData[])</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Restructures the searchResultsTree when another search has been made, so 
+ that the search results contain a new list of documentNodeData objects.
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#setSelectedValue(java.util.HashMap)"><B>setSelectedValue(HashMap)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>If called after the form containing these param controls has been 
+ displayed and the user has entered/selected values (i.e.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#setStructureForDocs(org.w3c.dom.Element)"><B>setStructureForDocs(Element)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>This method can be called after a DocumentStructureRetrieve request 
+ (for the entire structure of all/many of its documents) has returned  
+ a response.
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#setTitle(java.lang.String)"><B>setTitle(String)</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>This method is mainly useful for setting the top-level/root 
+ classifierNode's name.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>
+<DD>Overloaded method to produce a String output of the data contained in 
+ this BrowseResponseMessage.
+<DT><A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#show()"><B>show()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#showMeta()"><B>showMeta()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/Displays.html#showMeta(org.greenstone.gs3client.data.NodeData, javax.swing.JList, javax.swing.JList)"><B>showMeta(NodeData, JList, JList)</B></A> - 
+Static method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A>
+<DD>Sorts the metadata of the docNode into the required order and displays
+ metadata names in the JList metanames and the associated metadata values 
+ in the JList metavalues.
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#showWsdlInputDialog()"><B>showWsdlInputDialog()</B></A> - 
+Static method in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A>
+<DD>Static method that displays a dialog requesting the user to 
+ input the location of Greenstone 3 web services' WSDL file.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#site_name"><B>site_name</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>site_name the MessageRouter works with, here set to "localsite"
+<DT><A HREF="./org/greenstone/gs3services/QBRSOAPServer.html#site_name"><B>site_name</B></A> - 
+Variable in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A>
+<DD>site_name the MessageRouter works with, here set to "localsite"
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#smallIcon"><B>smallIcon</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#splitViewPane"><B>splitViewPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#status(java.lang.String, java.lang.String, java.lang.String)"><B>status(String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>Sends a status-type message to poll the status of a process that was   
+ initiated but which may not yet have terminated.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#stem"><B>stem</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#structureMetaView"><B>structureMetaView</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#subElements"><B>subElements</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>A &lt;param&gt; element in a Query response XML message can contain  
+ children that are &lt;param&gt; or &lt;option&gt;.
+<DT><A HREF="./org/greenstone/gs3services/AdminSOAPServer.html#system(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>system(String, String, String, String)</B></A> - 
+Method in class org.greenstone.gs3services.<A HREF="./org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A>
+<DD>For sending system-type messages.
+</DL>
+<HR>
+<A NAME="_T_"><!-- --></A><H2>
+<B>T</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/GS3JavaClient.html#tabbedPane"><B>tabbedPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#termList"><B>termList</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>
+<DD>The displayName can be used as a label in any widget.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>
+<DD>Useful when adding PluginData objects to a JList or JCombobox.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<DD>Useful when adding ServiceData objects to a JList or JCombobox
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Useful when adding CollectionData objects to a JList or JCombobox.
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/NodeData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/data/QueryResponseData.html#toString()"><B>toString()</B></A> - 
+Method in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#transparent"><B>transparent</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Greenstone transparent background colour.
+<DT><A HREF="./org/greenstone/gs3client/Displays.PopupListener.html#tree"><B>tree</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A>
+<DD>The treeView component on which the rightclicks occurred
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#treeviewSplitPane"><B>treeviewSplitPane</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#treeWillCollapse(javax.swing.event.TreeExpansionEvent)"><B>treeWillCollapse(TreeExpansionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Part of the TreeWillExpandListener interface.
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#treeWillExpand(javax.swing.event.TreeExpansionEvent)"><B>treeWillExpand(TreeExpansionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>This method of the TreeWillExpandListener interface is called when
+ the user clicked on an expandable node in the browsingTree.
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html#type"><B>type</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>
+<DD>type attribute of &lt;service&gt;&lt;/service&gt; element.
+<DT><A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#type"><B>type</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A>
+<DD>type attribute of &lt;param&gt; tag
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/CollectionData.html#url"><B>url</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A>
+<DD>Stores the location of images and stuff.
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/data/MetaData.html#value"><B>value</B></A> - 
+Variable in class org.greenstone.gs3client.data.<A HREF="./org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A>
+<DD>Value attribute of a &lt;metadata&gt; - this may or may not be there
+<DT><A HREF="./org/greenstone/gs3client/BrowseDisplay.html#valueChanged(javax.swing.event.TreeSelectionEvent)"><B>valueChanged(TreeSelectionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>
+<DD>Whenever an item is clicked in the browsingTree, this method is called.
+<DT><A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html#valueChanged(javax.swing.event.TreeSelectionEvent)"><B>valueChanged(TreeSelectionEvent)</B></A> - 
+Method in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A>
+<DD>Part of the TreeSelectionListener interface.
+<DT><A HREF="./org/greenstone/gs3client/GraphPaperLayout.html#vgap"><B>vgap</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_W_"><!-- --></A><H2>
+<B>W</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/QueryFormControl.html#width"><B>width</B></A> - 
+Variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#wsdlURLName"><B>wsdlURLName</B></A> - 
+Variable in class org.greenstone.gs3client.dlservices.<A HREF="./org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A>
+<DD>Url of the Greenstone 3 WebServices' WSDL
+</DL>
+<HR>
+<A NAME="_Y_"><!-- --></A><H2>
+<B>Y</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/gs3client/ColourCombo.html#yellow"><B>yellow</B></A> - 
+Static variable in class org.greenstone.gs3client.<A HREF="./org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>
+<DD>Selection colour for Fedora and Greenstone
+</DL>
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_Y_">Y</A> 
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/index.html	(revision 15317)
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Sun Apr 27 20:47:20 NZST 2008-->
+<TITLE>
+Generated Documentation (Untitled)
+</TITLE>
+<SCRIPT type="text/javascript">
+    targetPage = "" + window.location.search;
+    if (targetPage != "" && targetPage != "undefined")
+       targetPage = targetPage.substring(1);
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+</HEAD>
+<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
+<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
+<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="overview-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html	(revision 15317)
@@ -0,0 +1,468 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:15 NZST 2008 -->
+<TITLE>
+BrowseDisplay.ClassifierButton
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.BrowseDisplay.ClassifierButton class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BrowseDisplay.ClassifierButton";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.ClassifierButton.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JButton">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class BrowseDisplay.ClassifierButton</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JComponent
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.AbstractButton
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JButton
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.BrowseDisplay.ClassifierButton</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.SwingConstants</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BrowseDisplay.ClassifierButton</B><DT>extends javax.swing.JButton<DT>implements java.awt.event.ActionListener</DL>
+</PRE>
+
+<P>
+Inner class (not static, as it needs access to outerclass' this object.
+ This class represents a button that encapsulates a ClassifierData 
+ object and sets its own name and tooltip text based on the displayName 
+ and displayDescription of that ClassifierData object.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.greenstone.gs3client.BrowseDisplay.ClassifierButton">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JButton.AccessibleJButton</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JComponent.AccessibleJComponent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#classifier">classifier</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encapsulated classifierData obj</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.SwingConstants</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#BrowseDisplay.ClassifierButton(org.greenstone.gs3client.BrowseDisplay.ClassifierData)">BrowseDisplay.ClassifierButton</A></B>(<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>&nbsp;classifier)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a button to visually represent
+ the classifier.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html#actionPerformed(java.awt.event.ActionEvent)">actionPerformed</A></B>(java.awt.event.ActionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when someone presses the ClassifierButton: when pressed,
+ perform the browse request associated with the classifier.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>configurePropertiesFromAction, getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="classifier"><!-- --></A><H3>
+classifier</H3>
+<PRE>
+public <A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A> <B>classifier</B></PRE>
+<DL>
+<DD>Encapsulated classifierData obj
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BrowseDisplay.ClassifierButton(org.greenstone.gs3client.BrowseDisplay.ClassifierData)"><!-- --></A><H3>
+BrowseDisplay.ClassifierButton</H3>
+<PRE>
+public <B>BrowseDisplay.ClassifierButton</B>(<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>&nbsp;classifier)</PRE>
+<DL>
+<DD>Constructor that creates a button to visually represent
+ the classifier.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>classifier</CODE> - - the ClassifierData object for which to 
+ create a button, using its display data.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="actionPerformed(java.awt.event.ActionEvent)"><!-- --></A><H3>
+actionPerformed</H3>
+<PRE>
+public void <B>actionPerformed</B>(java.awt.event.ActionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Called when someone presses the ClassifierButton: when pressed,
+ perform the browse request associated with the classifier.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>actionPerformed</CODE> in interface <CODE>java.awt.event.ActionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.ClassifierButton.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JButton">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.ClassifierData.html	(revision 15317)
@@ -0,0 +1,387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+BrowseDisplay.ClassifierData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.BrowseDisplay.ClassifierData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BrowseDisplay.ClassifierData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.ClassifierData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class BrowseDisplay.ClassifierData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.BrowseDisplay.ClassifierData</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>BrowseDisplay.ClassifierData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Static inner class that represents the data in a &lt;classifier&gt;
+ element - itself nested inside a list (&lt;classifierList&gt;) of them.
+ These elements are to be found in the response returned for a describe 
+ request sent to a collection's BrowseService.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#content">content</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The content attribute of the &lt;classifier&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#displayDescription">displayDescription</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The description attribute of the &lt;classifier&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#displayName">displayName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The display name attribute of the &lt;classifier&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name attribute of the &lt;classifier&gt;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#BrowseDisplay.ClassifierData(org.w3c.dom.Element)">BrowseDisplay.ClassifierData</A></B>(org.w3c.dom.Element&nbsp;classifierTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The displayName can be used as a label in any widget.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="content"><!-- --></A><H3>
+content</H3>
+<PRE>
+public final java.lang.String <B>content</B></PRE>
+<DL>
+<DD>The content attribute of the &lt;classifier&gt;
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>The name attribute of the &lt;classifier&gt;
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="displayName"><!-- --></A><H3>
+displayName</H3>
+<PRE>
+public final java.lang.String <B>displayName</B></PRE>
+<DL>
+<DD>The display name attribute of the &lt;classifier&gt;
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="displayDescription"><!-- --></A><H3>
+displayDescription</H3>
+<PRE>
+public final java.lang.String <B>displayDescription</B></PRE>
+<DL>
+<DD>The description attribute of the &lt;classifier&gt;
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BrowseDisplay.ClassifierData(org.w3c.dom.Element)"><!-- --></A><H3>
+BrowseDisplay.ClassifierData</H3>
+<PRE>
+public <B>BrowseDisplay.ClassifierData</B>(org.w3c.dom.Element&nbsp;classifierTag)</PRE>
+<DL>
+<DD>Constructor.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>classifierTag</CODE> - - creates a ClassifierData object from the 
+ data stored in a &lt;classifier&gt; element</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>The displayName can be used as a label in any widget.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the displayName of this ClassifierData object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a display String with the data stored in this ClassifierData
+ object. Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.ClassifierData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.html	(revision 15317)
@@ -0,0 +1,916 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:14 NZST 2008 -->
+<TITLE>
+BrowseDisplay
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.BrowseDisplay class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BrowseDisplay";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class BrowseDisplay</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JComponent
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JPanel
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.BrowseDisplay</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener, javax.swing.event.TreeWillExpandListener, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BrowseDisplay</B><DT>extends javax.swing.JPanel<DT>implements javax.swing.event.TreeSelectionListener, javax.swing.event.TreeWillExpandListener, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DL>
+</PRE>
+
+<P>
+The Browse panel inside the Java-client's tab pane that's labelled "Browse". 
+ This panel contains a tree view for expanding classifiers and their documents.
+ It also contains an area where the metadata is displayed, and a text area where
+ the textual or image content of a selected documentNode is displayed.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.greenstone.gs3client.BrowseDisplay">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inner class (not static, as it needs access to outerclass' this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class that represents the data in a &lt;classifier&gt;
+ element - itself nested inside a list (&lt;classifierList&gt;) of them.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JPanel.AccessibleJPanel</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JComponent.AccessibleJComponent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPanel</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#browseBar">browseBar</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JLabel</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#browseLabel">browseLabel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPanel</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#browsePanel">browsePanel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTree</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#browsingTree">browsingTree</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#classifierList">classifierList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#client">client</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access to the running instance of GS3JavaClient</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.util.HashMap</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#displayData">displayData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A HashMap to store the displayData for the Browse operation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JEditorPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#htmlPane">htmlPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;org.apache.log4j.Logger</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#LOG">LOG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Logger for this class</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JList</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#metanames">metanames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JList</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#metavalues">metavalues</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPopupMenu</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#popup">popup</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Context menu that pops up when users right click in the browse tree area</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JSplitPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#splitViewPane">splitViewPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JSplitPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#structureMetaView">structureMetaView</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#BrowseDisplay(org.greenstone.gs3client.GS3JavaClient)">BrowseDisplay</A></B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates the Browse Panel and its internal GUI items.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#changeUIColour()">changeUIColour</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#displayBrowseOptions(org.w3c.dom.Element)">displayBrowseOptions</A></B>(org.w3c.dom.Element&nbsp;describeRespMsgTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Will clear previous browse service's classification options and widgets, 
+ and redisplay browse options as specified by the describe Response Message 
+ XML returned from the browse Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#displayBrowseResults(org.greenstone.gs3client.data.BrowseResponseData, java.lang.String)">displayBrowseResults</A></B>(<A HREF="../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>&nbsp;browseResponseObj,
+                     java.lang.String&nbsp;rootName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to populate the browsing tree with browse data.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#getPreferredSize()">getPreferredSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrode this method to resize the splitpanes within, upon resize.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#paint(java.awt.Graphics)">paint</A></B>(java.awt.Graphics&nbsp;g)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For some reason, the overriden getPreferredSize() is not
+ called upon resize of this panel, so I am calling it manually 
+ whenever there's a call to paint this Panel.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#treeWillCollapse(javax.swing.event.TreeExpansionEvent)">treeWillCollapse</A></B>(javax.swing.event.TreeExpansionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the TreeWillExpandListener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#treeWillExpand(javax.swing.event.TreeExpansionEvent)">treeWillExpand</A></B>(javax.swing.event.TreeExpansionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method of the TreeWillExpandListener interface is called when
+ the user clicked on an expandable node in the browsingTree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html#valueChanged(javax.swing.event.TreeSelectionEvent)">valueChanged</A></B>(javax.swing.event.TreeSelectionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whenever an item is clicked in the browsingTree, this method is called.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LOG"><!-- --></A><H3>
+LOG</H3>
+<PRE>
+static org.apache.log4j.Logger <B>LOG</B></PRE>
+<DL>
+<DD>The Logger for this class
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="client"><!-- --></A><H3>
+client</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Access to the running instance of GS3JavaClient
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="displayData"><!-- --></A><H3>
+displayData</H3>
+<PRE>
+protected java.util.HashMap <B>displayData</B></PRE>
+<DL>
+<DD>A HashMap to store the displayData for the Browse operation. Usually  
+ just 2 elements long at most: displayName and displayDescription.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browseLabel"><!-- --></A><H3>
+browseLabel</H3>
+<PRE>
+protected javax.swing.JLabel <B>browseLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browsePanel"><!-- --></A><H3>
+browsePanel</H3>
+<PRE>
+protected javax.swing.JPanel <B>browsePanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="splitViewPane"><!-- --></A><H3>
+splitViewPane</H3>
+<PRE>
+protected javax.swing.JSplitPane <B>splitViewPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="structureMetaView"><!-- --></A><H3>
+structureMetaView</H3>
+<PRE>
+protected javax.swing.JSplitPane <B>structureMetaView</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browseBar"><!-- --></A><H3>
+browseBar</H3>
+<PRE>
+protected javax.swing.JPanel <B>browseBar</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="classifierList"><!-- --></A><H3>
+classifierList</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>[] <B>classifierList</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browsingTree"><!-- --></A><H3>
+browsingTree</H3>
+<PRE>
+protected javax.swing.JTree <B>browsingTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="htmlPane"><!-- --></A><H3>
+htmlPane</H3>
+<PRE>
+protected javax.swing.JEditorPane <B>htmlPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metanames"><!-- --></A><H3>
+metanames</H3>
+<PRE>
+protected javax.swing.JList <B>metanames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metavalues"><!-- --></A><H3>
+metavalues</H3>
+<PRE>
+protected javax.swing.JList <B>metavalues</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="popup"><!-- --></A><H3>
+popup</H3>
+<PRE>
+protected javax.swing.JPopupMenu <B>popup</B></PRE>
+<DL>
+<DD>Context menu that pops up when users right click in the browse tree area
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BrowseDisplay(org.greenstone.gs3client.GS3JavaClient)"><!-- --></A><H3>
+BrowseDisplay</H3>
+<PRE>
+public <B>BrowseDisplay</B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</PRE>
+<DL>
+<DD>Constructor that creates the Browse Panel and its internal GUI items.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>client</CODE> - is the running instance of the client application through 
+ which its methods can be accessed.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data. The rest of the GUI (split panes, panels) 
+ remain as they are.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeUIColour()"><!-- --></A><H3>
+changeUIColour</H3>
+<PRE>
+public void <B>changeUIColour</B>()</PRE>
+<DL>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo. Specified by
+  the ColourCombo.ColourChangeable interface.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html#changeUIColour()">changeUIColour</A></CODE> in interface <CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="paint(java.awt.Graphics)"><!-- --></A><H3>
+paint</H3>
+<PRE>
+public void <B>paint</B>(java.awt.Graphics&nbsp;g)</PRE>
+<DL>
+<DD>For some reason, the overriden getPreferredSize() is not
+ called upon resize of this panel, so I am calling it manually 
+ whenever there's a call to paint this Panel. Painting will
+ be done when the parent container is resized (and this panel 
+ made visible) anyway, so it might as well work out what size
+ the interior panels will have on every resize.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>paint</CODE> in class <CODE>javax.swing.JComponent</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>g</CODE> - is the Graphics object<DT><B>See Also:</B><DD>"JPanel's paint(Graphics g)"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreferredSize()"><!-- --></A><H3>
+getPreferredSize</H3>
+<PRE>
+public java.awt.Dimension <B>getPreferredSize</B>()</PRE>
+<DL>
+<DD>Overrode this method to resize the splitpanes within, upon resize. 
+ It calculates the size of this panel, as well as setting those of  
+ the splitpanes it contains based on the size of the parent container.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>getPreferredSize</CODE> in class <CODE>javax.swing.JComponent</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the preferred dimensions of this JPanel.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="displayBrowseOptions(org.w3c.dom.Element)"><!-- --></A><H3>
+displayBrowseOptions</H3>
+<PRE>
+public void <B>displayBrowseOptions</B>(org.w3c.dom.Element&nbsp;describeRespMsgTag)</PRE>
+<DL>
+<DD>Will clear previous browse service's classification options and widgets, 
+ and redisplay browse options as specified by the describe Response Message 
+ XML returned from the browse Service.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>describeRespMsgTag</CODE> - - the (Classifier)Browse Service's describe  
+ response message element, used to reset the classifier buttons in the 
+ browseBar of this panel.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="displayBrowseResults(org.greenstone.gs3client.data.BrowseResponseData, java.lang.String)"><!-- --></A><H3>
+displayBrowseResults</H3>
+<PRE>
+public void <B>displayBrowseResults</B>(<A HREF="../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>&nbsp;browseResponseObj,
+                                 java.lang.String&nbsp;rootName)</PRE>
+<DL>
+<DD>Called to populate the browsing tree with browse data. Only the
+ data for the top-level classifier and its direct descendants are
+ retrieved.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>browseResponseObj</CODE> - - stores the data of the response XML
+ message returned by the (Classifier)Browse service.<DD><CODE>rootName</CODE> - - the title/name of the root classifier</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="treeWillExpand(javax.swing.event.TreeExpansionEvent)"><!-- --></A><H3>
+treeWillExpand</H3>
+<PRE>
+public void <B>treeWillExpand</B>(javax.swing.event.TreeExpansionEvent&nbsp;e)</PRE>
+<DL>
+<DD>This method of the TreeWillExpandListener interface is called when
+ the user clicked on an expandable node in the browsingTree. 
+ Since we are loading substructures in the tree lazily (i.e. loading
+ childnodes lazily) we have dummy/null childTreeNodes that make 
+ expandable parentNodes look like folders (make the parents look 
+ expandable). 
+ Therefore, when the user clicks on an expandable node, we first check
+ whether we already have loaded the datastructure/subtree or whether
+ its child is a dummy (null). If a dummy (null child), then we work
+ out whether it's a classifierNodeData or a documentNodeData that the
+ expanding treeNode represents. Based on that, we retrieve the sub-
+ structure for the treeNode that's expanding.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>treeWillExpand</CODE> in interface <CODE>javax.swing.event.TreeWillExpandListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="treeWillCollapse(javax.swing.event.TreeExpansionEvent)"><!-- --></A><H3>
+treeWillCollapse</H3>
+<PRE>
+public void <B>treeWillCollapse</B>(javax.swing.event.TreeExpansionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Part of the TreeWillExpandListener interface. Nothing to do here.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>treeWillCollapse</CODE> in interface <CODE>javax.swing.event.TreeWillExpandListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueChanged(javax.swing.event.TreeSelectionEvent)"><!-- --></A><H3>
+valueChanged</H3>
+<PRE>
+public void <B>valueChanged</B>(javax.swing.event.TreeSelectionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Whenever an item is clicked in the browsingTree, this method is called. 
+ We display the document associated with a documentNode that is clicked,
+ or "" for classifierNodes.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>valueChanged</CODE> in interface <CODE>javax.swing.event.TreeSelectionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/BrowseDisplay.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseDisplay.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.ColourChangeable.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.ColourChangeable.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.ColourChangeable.html	(revision 15317)
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+ColourCombo.ColourChangeable
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.ColourCombo.ColourChangeable interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ColourCombo.ColourChangeable";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/ColourCombo.ColourChangeable.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ColourCombo.ColourChangeable.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Interface ColourCombo.ColourChangeable</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A>, <A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A>, <A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static interface <B>ColourCombo.ColourChangeable</B></DL>
+</PRE>
+
+<P>
+Interface ColourChangeable defines one method, changeUIColour(),
+ which classes whose user-interface colours can change may
+ implement. They can then choose to call either of ColourCombo's 
+ changeColor() methods or changeAncestorColor() if necessary. 
+ Though it's not compulsory to implement this interface, it may
+ help in grouping the classes that are ColourChangeable.
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html#changeUIColour()">changeUIColour</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses define this method in order to change the
+ colour of the interface</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="changeUIColour()"><!-- --></A><H3>
+changeUIColour</H3>
+<PRE>
+void <B>changeUIColour</B>()</PRE>
+<DL>
+<DD>Subclasses define this method in order to change the
+ colour of the interface
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/ColourCombo.ColourChangeable.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ColourCombo.ColourChangeable.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/ColourCombo.html	(revision 15317)
@@ -0,0 +1,716 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+ColourCombo
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.ColourCombo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ColourCombo";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/ColourCombo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ColourCombo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class ColourCombo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.ColourCombo</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ColourCombo</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Background and selection color combinations for the Java-Client's 
+ interface. Stores Greenstone, Fedora and default colour combinations
+ and has methods for converting colours of items.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface ColourChangeable defines one method, changeUIColour(),
+ which classes whose user-interface colours can change may
+ implement.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#background">background</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fixed background colour for textareas, editorPanes (html)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#blue">blue</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fedora dark background colour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#current">current</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The colour combination currently being used in the interface</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#dark">dark</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background colours for panels, labels</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#defaultColors">defaultColors</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System default greys</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#fedoraColors">fedoraColors</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fedora's colour combinations of blue</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#green">green</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenstone dark background colour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#greenstoneColors">greenstoneColors</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenstone greens</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#grey">grey</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default background colour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#light">light</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background colours for comboboxes, lists, textfields, textareas</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#lightBlue">lightBlue</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fedora light background colour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#lightGreen">lightGreen</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenstone light background colour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#transparent">transparent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenstone transparent background colour.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;java.awt.Color</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#yellow">yellow</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selection colour for Fedora and Greenstone</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#ColourCombo(java.awt.Color, java.awt.Color)">ColourCombo</A></B>(java.awt.Color&nbsp;dark,
+            java.awt.Color&nbsp;light)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor to create a ColourCombo combination of colours</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#changeAncestorColor(java.awt.Component)">changeAncestorColor</A></B>(java.awt.Component&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a component, sets its ancestors to the dark colour setting.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#changeColor(java.awt.Component)">changeColor</A></B>(java.awt.Component&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a Component, sets its background colours to a dark or 
+ light colour setting as appropriate.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#changeColor(java.awt.Component[])">changeColor</A></B>(java.awt.Component[]&nbsp;leafComponents)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an array of components, sets their background colours to a 
+ dark or light colour setting as appropriate.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#getCurrentCombo()">getCurrentCombo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#isLightColor(java.awt.Component)">isLightColor</A></B>(java.awt.Component&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#setColour(int)">setColour</A></B>(int&nbsp;DL)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the active colour combination based on the value of DL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html#setCurrentCombo(org.greenstone.gs3client.ColourCombo)">setCurrentCombo</A></B>(<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="transparent"><!-- --></A><H3>
+transparent</H3>
+<PRE>
+static final java.awt.Color <B>transparent</B></PRE>
+<DL>
+<DD>Greenstone transparent background colour. Useful for trees' text 
+ backgrounds which otherwise default to white even when the tree 
+ background is not white. Alpha value=0 for transparency
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="green"><!-- --></A><H3>
+green</H3>
+<PRE>
+static final java.awt.Color <B>green</B></PRE>
+<DL>
+<DD>Greenstone dark background colour
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lightGreen"><!-- --></A><H3>
+lightGreen</H3>
+<PRE>
+static final java.awt.Color <B>lightGreen</B></PRE>
+<DL>
+<DD>Greenstone light background colour
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="blue"><!-- --></A><H3>
+blue</H3>
+<PRE>
+static final java.awt.Color <B>blue</B></PRE>
+<DL>
+<DD>Fedora dark background colour
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lightBlue"><!-- --></A><H3>
+lightBlue</H3>
+<PRE>
+static final java.awt.Color <B>lightBlue</B></PRE>
+<DL>
+<DD>Fedora light background colour
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="yellow"><!-- --></A><H3>
+yellow</H3>
+<PRE>
+static final java.awt.Color <B>yellow</B></PRE>
+<DL>
+<DD>Selection colour for Fedora and Greenstone
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="grey"><!-- --></A><H3>
+grey</H3>
+<PRE>
+static final java.awt.Color <B>grey</B></PRE>
+<DL>
+<DD>Default background colour
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="background"><!-- --></A><H3>
+background</H3>
+<PRE>
+static final java.awt.Color <B>background</B></PRE>
+<DL>
+<DD>Fixed background colour for textareas, editorPanes (html)
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="dark"><!-- --></A><H3>
+dark</H3>
+<PRE>
+public final java.awt.Color <B>dark</B></PRE>
+<DL>
+<DD>background colours for panels, labels
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="light"><!-- --></A><H3>
+light</H3>
+<PRE>
+public final java.awt.Color <B>light</B></PRE>
+<DL>
+<DD>background colours for comboboxes, lists, textfields, textareas
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="defaultColors"><!-- --></A><H3>
+defaultColors</H3>
+<PRE>
+public static final <A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A> <B>defaultColors</B></PRE>
+<DL>
+<DD>System default greys
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="greenstoneColors"><!-- --></A><H3>
+greenstoneColors</H3>
+<PRE>
+public static final <A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A> <B>greenstoneColors</B></PRE>
+<DL>
+<DD>Greenstone greens
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="fedoraColors"><!-- --></A><H3>
+fedoraColors</H3>
+<PRE>
+public static final <A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A> <B>fedoraColors</B></PRE>
+<DL>
+<DD>Fedora's colour combinations of blue
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="current"><!-- --></A><H3>
+current</H3>
+<PRE>
+protected static <A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A> <B>current</B></PRE>
+<DL>
+<DD>The colour combination currently being used in the interface
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ColourCombo(java.awt.Color, java.awt.Color)"><!-- --></A><H3>
+ColourCombo</H3>
+<PRE>
+public <B>ColourCombo</B>(java.awt.Color&nbsp;dark,
+                   java.awt.Color&nbsp;light)</PRE>
+<DL>
+<DD>Constructor to create a ColourCombo combination of colours
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>dark</CODE> - is the colour to set JPanels to.<DD><CODE>light</CODE> - is the colour to set comboboxes, lists and non-editable 
+ textfields to.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getCurrentCombo()"><!-- --></A><H3>
+getCurrentCombo</H3>
+<PRE>
+public static <A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A> <B>getCurrentCombo</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCurrentCombo(org.greenstone.gs3client.ColourCombo)"><!-- --></A><H3>
+setCurrentCombo</H3>
+<PRE>
+public static void <B>setCurrentCombo</B>(<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A>&nbsp;c)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setColour(int)"><!-- --></A><H3>
+setColour</H3>
+<PRE>
+public static void <B>setColour</B>(int&nbsp;DL)</PRE>
+<DL>
+<DD>Sets the active colour combination based on the value of DL.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>DL</CODE> - represents the current digital library. Values can be  
+ GS3JavaClient.GREENSTONE, GS3JavaClient.FEDORA, GS3JavaClient.SELECT.
+ Anything else and it defaults to GS3JavaClient.SELECT as well.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLightColor(java.awt.Component)"><!-- --></A><H3>
+isLightColor</H3>
+<PRE>
+protected static boolean <B>isLightColor</B>(java.awt.Component&nbsp;c)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - is the Component for which it is to be determined whether it
+ should be a lighter or darker colour.
+<DT><B>Returns:</B><DD>true if Component c should be a lighter colour (returns true
+ for non-editable JTextFields)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeColor(java.awt.Component[])"><!-- --></A><H3>
+changeColor</H3>
+<PRE>
+public static void <B>changeColor</B>(java.awt.Component[]&nbsp;leafComponents)</PRE>
+<DL>
+<DD>Given an array of components, sets their background colours to a 
+ dark or light colour setting as appropriate.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>leafComponents</CODE> - is the array of components whose background 
+ colours are to change.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeColor(java.awt.Component)"><!-- --></A><H3>
+changeColor</H3>
+<PRE>
+public static void <B>changeColor</B>(java.awt.Component&nbsp;c)</PRE>
+<DL>
+<DD>Given a Component, sets its background colours to a dark or 
+ light colour setting as appropriate.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - is the component whose background colours are to change.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeAncestorColor(java.awt.Component)"><!-- --></A><H3>
+changeAncestorColor</H3>
+<PRE>
+public static void <B>changeAncestorColor</B>(java.awt.Component&nbsp;c)</PRE>
+<DL>
+<DD>Given a component, sets its ancestors to the dark colour setting.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - is the component whose ancestors' background colours are 
+ to be set.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/ColourCombo.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ColourCombo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.MetadataComparator.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.MetadataComparator.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.MetadataComparator.html	(revision 15317)
@@ -0,0 +1,282 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+Displays.MetadataComparator
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.Displays.MetadataComparator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Displays.MetadataComparator";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.MetadataComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.MetadataComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class Displays.MetadataComparator</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.Displays.MetadataComparator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.util.Comparator</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>Displays.MetadataComparator</B><DT>extends java.lang.Object<DT>implements java.util.Comparator</DL>
+</PRE>
+
+<P>
+Static inner class MetadataComparator is a Comparator for the metadata 
+ fields stored as a list of Pair objects (name, values). 
+ We want to display them alphabetised, grouped by prefix (dls.title, dls.x;
+ dc.title; dc.creator; greenstone's ex metadata does not have a prefix)
+ and in order of alphabet BUT all those starting with capital letters come
+ first, then come those starting with lowercase letters. 
+ Those with prefixes come first of all. 
+ Comparators can be passed to a sort method (such as Collections.sort) to 
+ allow precise control over the sort order. Comparators can also be used to 
+ control the order of certain data structures (such as TreeSet or TreeMap).
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Comparator.html">Comparator class</a></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html#Displays.MetadataComparator()">Displays.MetadataComparator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html#compare(java.lang.Object, java.lang.Object)">compare</A></B>(java.lang.Object&nbsp;nodeID1,
+        java.lang.Object&nbsp;nodeID2)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.Comparator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface java.util.Comparator</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>equals</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Displays.MetadataComparator()"><!-- --></A><H3>
+Displays.MetadataComparator</H3>
+<PRE>
+public <B>Displays.MetadataComparator</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="compare(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(java.lang.Object&nbsp;nodeID1,
+                   java.lang.Object&nbsp;nodeID2)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>compare</CODE> in interface <CODE>java.util.Comparator</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.MetadataComparator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.MetadataComparator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html	(revision 15317)
@@ -0,0 +1,437 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+Displays.PopupListener.AssocFilePopupItem
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.Displays.PopupListener.AssocFilePopupItem class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Displays.PopupListener.AssocFilePopupItem";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.PopupListener.AssocFilePopupItem.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JMenuItem">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.swing.JMenuItem">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class Displays.PopupListener.AssocFilePopupItem</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JComponent
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.AbstractButton
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JMenuItem
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.Displays.PopupListener.AssocFilePopupItem</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.MenuElement, javax.swing.SwingConstants</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE> class <B>Displays.PopupListener.AssocFilePopupItem</B><DT>extends javax.swing.JMenuItem</DL>
+</PRE>
+
+<P>
+Package access inner class. Not static, so it depends on outer class'
+ PopupListener instance.
+ Represents a popup MenuItem that appears on rightclick and contains the 
+ name(s) of associated files which will be displayed - if any are selected
+ - in the main htmlpane.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JMenuItem"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JMenuItem</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JMenuItem.AccessibleJMenuItem</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JComponent.AccessibleJComponent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html#docNode">docNode</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The documentNodeData that was rightclicked upon</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.SwingConstants</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html#Displays.PopupListener.AssocFilePopupItem(org.greenstone.gs3client.data.DocumentNodeData, java.lang.String)">Displays.PopupListener.AssocFilePopupItem</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode,
+                                          java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates an AssocFilePopupItem (popup menu item)  
+ instance for each associated file of a documentNodeData that's been 
+ rightclicked on.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JMenuItem"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JMenuItem</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, createActionPropertyChangeListener, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getAccessibleContext, getComponent, getMenuDragMouseListeners, getMenuKeyListeners, getSubElements, getUIClassID, init, isArmed, menuSelectionChanged, paramString, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setAccelerator, setArmed, setEnabled, setUI, updateUI</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.AbstractButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.AbstractButton</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="docNode"><!-- --></A><H3>
+docNode</H3>
+<PRE>
+final <A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A> <B>docNode</B></PRE>
+<DL>
+<DD>The documentNodeData that was rightclicked upon
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Displays.PopupListener.AssocFilePopupItem(org.greenstone.gs3client.data.DocumentNodeData, java.lang.String)"><!-- --></A><H3>
+Displays.PopupListener.AssocFilePopupItem</H3>
+<PRE>
+public <B>Displays.PopupListener.AssocFilePopupItem</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode,
+                                                 java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Constructor that creates an AssocFilePopupItem (popup menu item)  
+ instance for each associated file of a documentNodeData that's been 
+ rightclicked on. This popupitem displays the name of the associated 
+ file as a menu item of the popup.
+ The outer PopupListener object is set to listen to mouseEvents on
+ this PopupMenuItem. It will listen to clicks on this menuItem to 
+ then display the image.
+<P>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.PopupListener.AssocFilePopupItem.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JMenuItem">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.swing.JMenuItem">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.PopupListener.html	(revision 15317)
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+Displays.PopupListener
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.Displays.PopupListener class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Displays.PopupListener";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.PopupListener.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.PopupListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class Displays.PopupListener</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.event.MouseAdapter
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.Displays.PopupListener</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.event.ActionListener, java.awt.event.MouseListener, java.util.EventListener</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>static class <B>Displays.PopupListener</B><DT>extends java.awt.event.MouseAdapter<DT>implements java.awt.event.ActionListener</DL>
+</PRE>
+
+<P>
+Handles rightclicks on a treeview of documentNodeData objects by showing  
+ the popupMenu with associated files that, when selected, can be displayed  
+ in the htmlPane. Listens to rightclick events, but also handles clicks on 
+ popup menu items.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><a href="http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html">Java tutorial on menus</a></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client">Displays.PopupListener.AssocFilePopupItem</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Package access inner class.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#client">client</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle to the running GS3JavaClient object to have access to its 
+ methods</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;javax.swing.JEditorPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#htmlArea">htmlArea</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The htmlPane wherein associated files are to be displayed</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;javax.swing.JPopupMenu</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#popupMenu">popupMenu</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A popup component</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;javax.swing.JTree</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#tree">tree</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The treeView component on which the rightclicks occurred</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#Displays.PopupListener(javax.swing.JPopupMenu, javax.swing.JTree, org.greenstone.gs3client.GS3JavaClient, javax.swing.JEditorPane)">Displays.PopupListener</A></B>(javax.swing.JPopupMenu&nbsp;popupMenu,
+                       javax.swing.JTree&nbsp;tree,
+                       <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client,
+                       javax.swing.JEditorPane&nbsp;htmlArea)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for the PopupListener.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#actionPerformed(java.awt.event.ActionEvent)">actionPerformed</A></B>(java.awt.event.ActionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when one of the popup's menuItems was clicked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#maybeShowPopup(java.awt.event.MouseEvent)">maybeShowPopup</A></B>(java.awt.event.MouseEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the mouseEvent was a trigger (rightclick), displays the popup 
+ context menu.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#mousePressed(java.awt.event.MouseEvent)">mousePressed</A></B>(java.awt.event.MouseEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Possibly a popupEvent</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html#mouseReleased(java.awt.event.MouseEvent)">mouseReleased</A></B>(java.awt.event.MouseEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Possibly a popupEvent</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.event.MouseAdapter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.event.MouseAdapter</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>mouseClicked, mouseEntered, mouseExited</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="client"><!-- --></A><H3>
+client</H3>
+<PRE>
+final <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Handle to the running GS3JavaClient object to have access to its 
+ methods
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="popupMenu"><!-- --></A><H3>
+popupMenu</H3>
+<PRE>
+final javax.swing.JPopupMenu <B>popupMenu</B></PRE>
+<DL>
+<DD>A popup component
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tree"><!-- --></A><H3>
+tree</H3>
+<PRE>
+final javax.swing.JTree <B>tree</B></PRE>
+<DL>
+<DD>The treeView component on which the rightclicks occurred
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="htmlArea"><!-- --></A><H3>
+htmlArea</H3>
+<PRE>
+final javax.swing.JEditorPane <B>htmlArea</B></PRE>
+<DL>
+<DD>The htmlPane wherein associated files are to be displayed
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Displays.PopupListener(javax.swing.JPopupMenu, javax.swing.JTree, org.greenstone.gs3client.GS3JavaClient, javax.swing.JEditorPane)"><!-- --></A><H3>
+Displays.PopupListener</H3>
+<PRE>
+public <B>Displays.PopupListener</B>(javax.swing.JPopupMenu&nbsp;popupMenu,
+                              javax.swing.JTree&nbsp;tree,
+                              <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client,
+                              javax.swing.JEditorPane&nbsp;htmlArea)</PRE>
+<DL>
+<DD>Constructor for the PopupListener.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>popupMenu</CODE> - - the JPopupMenu object this PopupListener  
+ will handle mouseEvents for<DD><CODE>tree</CODE> - - the JTree object whose documentNodeData was clicked<DD><CODE>client</CODE> - - handle to the running GS3JavaClient instance<DD><CODE>htmlArea</CODE> - - the html editor pane in which to display the 
+ associated file chosen from the popupMenu.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="actionPerformed(java.awt.event.ActionEvent)"><!-- --></A><H3>
+actionPerformed</H3>
+<PRE>
+public void <B>actionPerformed</B>(java.awt.event.ActionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Called when one of the popup's menuItems was clicked.
+ The associated file represented by the menuItem is displayed in the
+ html editor pane.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>actionPerformed</CODE> in interface <CODE>java.awt.event.ActionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="mouseReleased(java.awt.event.MouseEvent)"><!-- --></A><H3>
+mouseReleased</H3>
+<PRE>
+public void <B>mouseReleased</B>(java.awt.event.MouseEvent&nbsp;e)</PRE>
+<DL>
+<DD>Possibly a popupEvent
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>mouseReleased</CODE> in interface <CODE>java.awt.event.MouseListener</CODE><DT><B>Overrides:</B><DD><CODE>mouseReleased</CODE> in class <CODE>java.awt.event.MouseAdapter</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="mousePressed(java.awt.event.MouseEvent)"><!-- --></A><H3>
+mousePressed</H3>
+<PRE>
+public void <B>mousePressed</B>(java.awt.event.MouseEvent&nbsp;e)</PRE>
+<DL>
+<DD>Possibly a popupEvent
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>mousePressed</CODE> in interface <CODE>java.awt.event.MouseListener</CODE><DT><B>Overrides:</B><DD><CODE>mousePressed</CODE> in class <CODE>java.awt.event.MouseAdapter</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="maybeShowPopup(java.awt.event.MouseEvent)"><!-- --></A><H3>
+maybeShowPopup</H3>
+<PRE>
+protected void <B>maybeShowPopup</B>(java.awt.event.MouseEvent&nbsp;e)</PRE>
+<DL>
+<DD>If the mouseEvent was a trigger (rightclick), displays the popup 
+ context menu.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.PopupListener.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.PopupListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/Displays.html	(revision 15317)
@@ -0,0 +1,391 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:16 NZST 2008 -->
+<TITLE>
+Displays
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.Displays class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Displays";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class Displays</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.Displays</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Displays</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Class containing static methods, static variables and inner classes that
+ are used by both SearchResultsDisplay and BrowseDisplay.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class MetadataComparator is a Comparator for the metadata 
+ fields stored as a list of Pair objects (name, values).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handles rightclicks on a treeview of documentNodeData objects by showing  
+ the popupMenu with associated files that, when selected, can be displayed  
+ in the htmlPane.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.html#comparator">comparator</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static Comparator object for Pair objects of (name, value) Metadata</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.html#Displays()">Displays</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.html#createNodesForChildren(org.greenstone.gs3client.data.DocumentNodeData, javax.swing.tree.DefaultMutableTreeNode)">createNodesForChildren</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode,
+                       javax.swing.tree.DefaultMutableTreeNode&nbsp;treeNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursion to add all descendent docnodes into the tree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.html#getImgUrlEnclosedInHtml(java.lang.String)">getImgUrlEnclosedInHtml</A></B>(java.lang.String&nbsp;imgURL)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JEditorPane cannot deal with &lt;img src="" /&gt;.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/Displays.html#showMeta(org.greenstone.gs3client.data.NodeData, javax.swing.JList, javax.swing.JList)">showMeta</A></B>(<A HREF="../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>&nbsp;nodeData,
+         javax.swing.JList&nbsp;metanames,
+         javax.swing.JList&nbsp;metavalues)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sorts the metadata of the docNode into the required order and displays
+ metadata names in the JList metanames and the associated metadata values 
+ in the JList metavalues.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="comparator"><!-- --></A><H3>
+comparator</H3>
+<PRE>
+protected static final <A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A> <B>comparator</B></PRE>
+<DL>
+<DD>Static Comparator object for Pair objects of (name, value) Metadata
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Displays()"><!-- --></A><H3>
+Displays</H3>
+<PRE>
+public <B>Displays</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="createNodesForChildren(org.greenstone.gs3client.data.DocumentNodeData, javax.swing.tree.DefaultMutableTreeNode)"><!-- --></A><H3>
+createNodesForChildren</H3>
+<PRE>
+public static void <B>createNodesForChildren</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode,
+                                          javax.swing.tree.DefaultMutableTreeNode&nbsp;treeNode)</PRE>
+<DL>
+<DD>Recursion to add all descendent docnodes into the tree.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNode</CODE> - - the documentNodeData object for whose children treenodes 
+ need to be created.<DD><CODE>treeNode</CODE> - - the treeNode associated with the docNode parameter.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getImgUrlEnclosedInHtml(java.lang.String)"><!-- --></A><H3>
+getImgUrlEnclosedInHtml</H3>
+<PRE>
+public static java.lang.String <B>getImgUrlEnclosedInHtml</B>(java.lang.String&nbsp;imgURL)</PRE>
+<DL>
+<DD>JEditorPane cannot deal with &lt;img src="" /&gt;. It can only handle  
+ it without ending slash: &lt;img src="" &gt;.
+ This method constructs complete html (with html, head and body tags) where
+ the parameter imgURL is enclosed inside an img src tag.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>imgURL</CODE> - - src URL for a (web) image
+<DT><B>Returns:</B><DD>the imgURL parameter enclosed in complete html</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="showMeta(org.greenstone.gs3client.data.NodeData, javax.swing.JList, javax.swing.JList)"><!-- --></A><H3>
+showMeta</H3>
+<PRE>
+public static void <B>showMeta</B>(<A HREF="../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>&nbsp;nodeData,
+                            javax.swing.JList&nbsp;metanames,
+                            javax.swing.JList&nbsp;metavalues)</PRE>
+<DL>
+<DD>Sorts the metadata of the docNode into the required order and displays
+ metadata names in the JList metanames and the associated metadata values 
+ in the JList metavalues.
+ The order is based on metanames: first come all the official metadata
+ sets which are recognised by the existence of a period in the metaname
+ (eg. dc.creator, dls.title). These are arranged alphabetically.
+ Next come all the metadata names that start with a capital letter - 
+ arranged alphabetically;
+ the remainder are organised alphabetically as well, with the last ones
+ being those metadata whose names do not start with a letter 
+ (e.g. "/srclink").
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeData</CODE> - is the NodeData object (classifierNodeData or 
+ documentNodeData)
+ whose metadata is to be displayed in the metanames and metavalues components.<DD><CODE>metanames</CODE> - - a JList to display all the metadata names of nodeData<DD><CODE>metavalues</CODE> - - a JList to display all the metadata values of nodeData</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/Displays.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Displays.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html	(revision 15317)
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:18 NZST 2008 -->
+<TITLE>
+GS3JavaClient.PasswordAuthenticator
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.GS3JavaClient.PasswordAuthenticator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GS3JavaClient.PasswordAuthenticator";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3JavaClient.PasswordAuthenticator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.net.Authenticator">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class GS3JavaClient.PasswordAuthenticator</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.net.Authenticator
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.GS3JavaClient.PasswordAuthenticator</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>static class <B>GS3JavaClient.PasswordAuthenticator</B><DT>extends java.net.Authenticator</DL>
+</PRE>
+
+<P>
+Inner class that handles authentication for any sites (urls, etc.) 
+ that require it. A dialog pops up to request username and password 
+ details from the user for each site's realm that needs authentication.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_java.net.Authenticator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.net.Authenticator</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.net.Authenticator.RequestorType</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html#GS3JavaClient.PasswordAuthenticator()">GS3JavaClient.PasswordAuthenticator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.net.PasswordAuthentication</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html#getPasswordAuthentication()">getPasswordAuthentication</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.net.Authenticator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.net.Authenticator</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getRequestingHost, getRequestingPort, getRequestingPrompt, getRequestingProtocol, getRequestingScheme, getRequestingSite, getRequestingURL, getRequestorType, requestPasswordAuthentication, requestPasswordAuthentication, requestPasswordAuthentication, setDefault</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GS3JavaClient.PasswordAuthenticator()"><!-- --></A><H3>
+GS3JavaClient.PasswordAuthenticator</H3>
+<PRE>
+<B>GS3JavaClient.PasswordAuthenticator</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getPasswordAuthentication()"><!-- --></A><H3>
+getPasswordAuthentication</H3>
+<PRE>
+protected java.net.PasswordAuthentication <B>getPasswordAuthentication</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>getPasswordAuthentication</CODE> in class <CODE>java.net.Authenticator</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3JavaClient.PasswordAuthenticator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_java.net.Authenticator">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.html	(revision 15317)
@@ -0,0 +1,1526 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:17 NZST 2008 -->
+<TITLE>
+GS3JavaClient
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.GS3JavaClient class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GS3JavaClient";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GS3JavaClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3JavaClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class GS3JavaClient</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Window
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Frame
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JFrame
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.GS3JavaClient</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>GS3JavaClient</B><DT>extends javax.swing.JFrame<DT>implements java.awt.event.ActionListener</DL>
+</PRE>
+
+<P>
+The main Javaclient class. Creates the main window containing:
+ - the radio button group for making either Greenstone 3 or Fedora the active DL.
+ - the comboboxes for selecting the collection and the service therein   
+ - three panes - for executing queries, viewing search results and browsing.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.greenstone.gs3client.GS3JavaClient">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client">GS3JavaClient.PasswordAuthenticator</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inner class that handles authentication for any sites (urls, etc.) 
+ that require it.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JFrame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JFrame.AccessibleJFrame</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Frame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Frame.AccessibleAWTFrame</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Window</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Window.AccessibleAWTWindow</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#activity">activity</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To keep track of whether we are searching or browsing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#browsePanel">browsePanel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#browseResponseObject">browseResponseObject</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object that stores the data of a browse response XML message 
+ (response for classification hierarchies)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#BROWSING">BROWSING</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the BROWSING activity</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JComboBox</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#collBox">collBox</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTextField</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#collectionNameField">collectionNameField</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JButton</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#collInfoButton">collInfoButton</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#colName">colName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The currently selected collection</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#dlAPIA">dlAPIA</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to a digital library instance (Greenstone 3 or Fedora) that 
+ allows this client to execute services offered by the digital library</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JComboBox</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#dlChooser">dlChooser</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#dlOptions">dlOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#executableServicesOnly">executableServicesOnly</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;we want to display a drop-down box for the services available,
+ but only Services that can be executed (searching and browsing)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#FEDORA">FEDORA</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#fedoraDL">fedoraDL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to the object that interacts with the FedoraGS3.jar component</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#GREENSTONE">GREENSTONE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#greenstoneDL">greenstoneDL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to the object that interacts with Greenstone3's web services</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#lang">lang</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Preferred language of display items in responses.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;org.apache.log4j.Logger</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#LOG">LOG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Logger for this class</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTextField</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#nonProxyHostNamesField">nonProxyHostNamesField</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTextField</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#proxyhostField">proxyhostField</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTextField</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#proxyportField">proxyportField</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#queryPanel">queryPanel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#queryResponseObj">queryResponseObj</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object that stores the data of a query response XML message</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JButton</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#searchButton">searchButton</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#SEARCHING">SEARCHING</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the SEARCHING activity</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPanel</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#searchPanel">searchPanel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#searchResultsDisplay">searchResultsDisplay</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTextArea</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#searchSummary">searchSummary</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#SELECT">SELECT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JComboBox</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#serviceBox">serviceBox</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#serviceName">serviceName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The currently selected service</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JButton</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#setProxySettings">setProxySettings</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTabbedPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#tabbedPane">tabbedPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JFrame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Frame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.WindowConstants</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#GS3JavaClient()">GS3JavaClient</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor that creates and initialises this main
+ window and its internal GUI components</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#actionPerformed(java.awt.event.ActionEvent)">actionPerformed</A></B>(java.awt.event.ActionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Event handler for actionEvents such as a change in the active digital 
+ library, a collection being selected in the dropdown box or the collection
+ -Info button being pressed, or a service being selected in the service
+ dropdown box (browsing or searching).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#changeDL(org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA)">changeDL</A></B>(<A HREF="../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>&nbsp;dl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that is called when the user chooses to change the  active
+ digital library (between Greenstone3 and Fedora).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#changeUIColour(int)">changeUIColour</A></B>(int&nbsp;DL)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the background colours of the client's user interface
+ based on what the active digital library is.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#createFedoraDLConnection()">createFedoraDLConnection</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempts to establish a connection to FedoraGS3.jar and instantiate  
+ a FedoraServicesAPIA object and store it in the member variable fedoraDL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#createGreenstoneDLConnection()">createGreenstoneDLConnection</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempts to establish a connection to GS3 Web services and instantiate  
+ a GS3ServicesAPIA object and store it in the member variable greenstoneDL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#doBrowse(org.greenstone.gs3client.BrowseDisplay.ClassifierData)">doBrowse</A></B>(<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>&nbsp;classifier)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a ClassifierData object indicating what browsing category
+ was chosen, this method will retrieve all its descendants in the
+ hierarchy.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#getBaseURL()">getBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#getFilePath(org.greenstone.gs3client.data.DocumentNodeData)">getFilePath</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#getLanguage()">getLanguage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#getResponseAsDOM(java.lang.String, java.lang.String)">getResponseAsDOM</A></B>(java.lang.String&nbsp;debugPrefix,
+                 java.lang.String&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an XML response string, returns the root document (element) 
+ representing its DOM form.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main method of the GS3 java-client application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#performSearch(java.util.HashMap)">performSearch</A></B>(java.util.HashMap&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the instance of the QueryForm class when the user has 
+ pressed the queryPanel's search button to execute a query.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#retrieveAllMetadataFor(org.greenstone.gs3client.data.DocumentNodeData)">retrieveAllMetadataFor</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs a docMetadataRetrieve message request for the docNode 
+ iff the metadata for that docNode is not already set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#retrieveContentFor(org.greenstone.gs3client.data.DocumentNodeData)">retrieveContentFor</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs a docMetadataRetrieve message request for the docNode 
+ iff the nodeContent for that docNode is not already set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#retrieveTitledStructureFor(org.greenstone.gs3client.data.ClassifierNodeData)">retrieveTitledStructureFor</A></B>(<A HREF="../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>&nbsp;classNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a ClassifierNodeData object for browsing, this method will 
+ set the classNode's children (previously retrieved) and retrieve 
+ all the children's metadata including the title.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#retrieveTitledStructureFor(org.greenstone.gs3client.data.DocumentNodeData)">retrieveTitledStructureFor</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs a structureRetrieve and title metadata retrieve message- 
+ request for the docNode, but only iff the structure and title for  
+ that docNode is not already set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;lang)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the preferred language of the display items</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JFrame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Frame</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Window</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.MenuContainer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface java.awt.MenuContainer</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getFont, postEvent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LOG"><!-- --></A><H3>
+LOG</H3>
+<PRE>
+static org.apache.log4j.Logger <B>LOG</B></PRE>
+<DL>
+<DD>The Logger for this class
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="SEARCHING"><!-- --></A><H3>
+SEARCHING</H3>
+<PRE>
+public static int <B>SEARCHING</B></PRE>
+<DL>
+<DD>The value of the SEARCHING activity
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="BROWSING"><!-- --></A><H3>
+BROWSING</H3>
+<PRE>
+public static int <B>BROWSING</B></PRE>
+<DL>
+<DD>The value of the BROWSING activity
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="executableServicesOnly"><!-- --></A><H3>
+executableServicesOnly</H3>
+<PRE>
+protected static final boolean <B>executableServicesOnly</B></PRE>
+<DL>
+<DD>we want to display a drop-down box for the services available,
+ but only Services that can be executed (searching and browsing)
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3client.GS3JavaClient.executableServicesOnly">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="activity"><!-- --></A><H3>
+activity</H3>
+<PRE>
+protected int <B>activity</B></PRE>
+<DL>
+<DD>To keep track of whether we are searching or browsing.
+ Value of activity can be SEARCHING OR BROWSING
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="dlAPIA"><!-- --></A><H3>
+dlAPIA</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A> <B>dlAPIA</B></PRE>
+<DL>
+<DD>Reference to a digital library instance (Greenstone 3 or Fedora) that 
+ allows this client to execute services offered by the digital library
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="greenstoneDL"><!-- --></A><H3>
+greenstoneDL</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A> <B>greenstoneDL</B></PRE>
+<DL>
+<DD>Reference to the object that interacts with Greenstone3's web services
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="fedoraDL"><!-- --></A><H3>
+fedoraDL</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A> <B>fedoraDL</B></PRE>
+<DL>
+<DD>Reference to the object that interacts with the FedoraGS3.jar component
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="queryResponseObj"><!-- --></A><H3>
+queryResponseObj</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A> <B>queryResponseObj</B></PRE>
+<DL>
+<DD>Object that stores the data of a query response XML message
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browseResponseObject"><!-- --></A><H3>
+browseResponseObject</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A> <B>browseResponseObject</B></PRE>
+<DL>
+<DD>Object that stores the data of a browse response XML message 
+ (response for classification hierarchies)
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lang"><!-- --></A><H3>
+lang</H3>
+<PRE>
+protected java.lang.String <B>lang</B></PRE>
+<DL>
+<DD>Preferred language of display items in responses. 
+ "" or "en" for English
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="colName"><!-- --></A><H3>
+colName</H3>
+<PRE>
+protected java.lang.String <B>colName</B></PRE>
+<DL>
+<DD>The currently selected collection
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serviceName"><!-- --></A><H3>
+serviceName</H3>
+<PRE>
+protected java.lang.String <B>serviceName</B></PRE>
+<DL>
+<DD>The currently selected service
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="dlChooser"><!-- --></A><H3>
+dlChooser</H3>
+<PRE>
+protected javax.swing.JComboBox <B>dlChooser</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="proxyhostField"><!-- --></A><H3>
+proxyhostField</H3>
+<PRE>
+protected javax.swing.JTextField <B>proxyhostField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="proxyportField"><!-- --></A><H3>
+proxyportField</H3>
+<PRE>
+protected javax.swing.JTextField <B>proxyportField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nonProxyHostNamesField"><!-- --></A><H3>
+nonProxyHostNamesField</H3>
+<PRE>
+protected javax.swing.JTextField <B>nonProxyHostNamesField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="setProxySettings"><!-- --></A><H3>
+setProxySettings</H3>
+<PRE>
+protected javax.swing.JButton <B>setProxySettings</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serviceBox"><!-- --></A><H3>
+serviceBox</H3>
+<PRE>
+protected javax.swing.JComboBox <B>serviceBox</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="collBox"><!-- --></A><H3>
+collBox</H3>
+<PRE>
+protected javax.swing.JComboBox <B>collBox</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="collInfoButton"><!-- --></A><H3>
+collInfoButton</H3>
+<PRE>
+protected javax.swing.JButton <B>collInfoButton</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchButton"><!-- --></A><H3>
+searchButton</H3>
+<PRE>
+protected javax.swing.JButton <B>searchButton</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tabbedPane"><!-- --></A><H3>
+tabbedPane</H3>
+<PRE>
+protected javax.swing.JTabbedPane <B>tabbedPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="SELECT"><!-- --></A><H3>
+SELECT</H3>
+<PRE>
+protected static final int <B>SELECT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3client.GS3JavaClient.SELECT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GREENSTONE"><!-- --></A><H3>
+GREENSTONE</H3>
+<PRE>
+protected static final int <B>GREENSTONE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3client.GS3JavaClient.GREENSTONE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FEDORA"><!-- --></A><H3>
+FEDORA</H3>
+<PRE>
+protected static final int <B>FEDORA</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3client.GS3JavaClient.FEDORA">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="dlOptions"><!-- --></A><H3>
+dlOptions</H3>
+<PRE>
+protected static final java.lang.String[] <B>dlOptions</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="queryPanel"><!-- --></A><H3>
+queryPanel</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A> <B>queryPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="collectionNameField"><!-- --></A><H3>
+collectionNameField</H3>
+<PRE>
+protected javax.swing.JTextField <B>collectionNameField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchResultsDisplay"><!-- --></A><H3>
+searchResultsDisplay</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A> <B>searchResultsDisplay</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchPanel"><!-- --></A><H3>
+searchPanel</H3>
+<PRE>
+protected javax.swing.JPanel <B>searchPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchSummary"><!-- --></A><H3>
+searchSummary</H3>
+<PRE>
+protected javax.swing.JTextArea <B>searchSummary</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="browsePanel"><!-- --></A><H3>
+browsePanel</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A> <B>browsePanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GS3JavaClient()"><!-- --></A><H3>
+GS3JavaClient</H3>
+<PRE>
+public <B>GS3JavaClient</B>()</PRE>
+<DL>
+<DD>Default constructor that creates and initialises this main
+ window and its internal GUI components
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getLanguage()"><!-- --></A><H3>
+getLanguage</H3>
+<PRE>
+public java.lang.String <B>getLanguage</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the language of the display items</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
+setLanguage</H3>
+<PRE>
+public void <B>setLanguage</B>(java.lang.String&nbsp;lang)</PRE>
+<DL>
+<DD>Set the preferred language of the display items
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lang</CODE> - - the preferred language for display values</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createGreenstoneDLConnection()"><!-- --></A><H3>
+createGreenstoneDLConnection</H3>
+<PRE>
+protected boolean <B>createGreenstoneDLConnection</B>()</PRE>
+<DL>
+<DD>Attempts to establish a connection to GS3 Web services and instantiate  
+ a GS3ServicesAPIA object and store it in the member variable greenstoneDL. 
+ If it was unsuccessful, then this variable remains at null and an error 
+ message is displayed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createFedoraDLConnection()"><!-- --></A><H3>
+createFedoraDLConnection</H3>
+<PRE>
+protected boolean <B>createFedoraDLConnection</B>()</PRE>
+<DL>
+<DD>Attempts to establish a connection to FedoraGS3.jar and instantiate  
+ a FedoraServicesAPIA object and store it in the member variable fedoraDL. 
+ If it was unsuccessful, then this variable remains at null and an error 
+ message is displayed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeDL(org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA)"><!-- --></A><H3>
+changeDL</H3>
+<PRE>
+protected void <B>changeDL</B>(<A HREF="../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>&nbsp;dl)</PRE>
+<DL>
+<DD>Method that is called when the user chooses to change the  active
+ digital library (between Greenstone3 and Fedora).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>dl</CODE> - is the new active digital library (the  
+ DigitalLibraryServicesAPIA object to change to).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResponseAsDOM(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getResponseAsDOM</H3>
+<PRE>
+protected org.w3c.dom.Element <B>getResponseAsDOM</B>(java.lang.String&nbsp;debugPrefix,
+                                               java.lang.String&nbsp;response)</PRE>
+<DL>
+<DD>Given an XML response string, returns the root document (element) 
+ representing its DOM form.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>response</CODE> - - the XML response string to be converted into
+ its DOM form
+<DT><B>Returns:</B><DD>the response as an XML DOM Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="actionPerformed(java.awt.event.ActionEvent)"><!-- --></A><H3>
+actionPerformed</H3>
+<PRE>
+public void <B>actionPerformed</B>(java.awt.event.ActionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Event handler for actionEvents such as a change in the active digital 
+ library, a collection being selected in the dropdown box or the collection
+ -Info button being pressed, or a service being selected in the service
+ dropdown box (browsing or searching).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>actionPerformed</CODE> in interface <CODE>java.awt.event.ActionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="performSearch(java.util.HashMap)"><!-- --></A><H3>
+performSearch</H3>
+<PRE>
+public void <B>performSearch</B>(java.util.HashMap&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD>Called by the instance of the QueryForm class when the user has 
+ pressed the queryPanel's search button to execute a query. Based on 
+ the user-entered values (stored in the parameter HashMap) this 
+ method will call Greenstone to process the query.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - - the query form control names with the values
+ the user has entered for them. Example, the pair (fqv, the query string),
+ where fqv is the form control name for the query term.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveAllMetadataFor(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+retrieveAllMetadataFor</H3>
+<PRE>
+public void <B>retrieveAllMetadataFor</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD>Performs a docMetadataRetrieve message request for the docNode 
+ iff the metadata for that docNode is not already set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNode</CODE> - is the DocumentNodeData object for which all the
+ metadata is to be retrieved.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveContentFor(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+retrieveContentFor</H3>
+<PRE>
+public void <B>retrieveContentFor</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD>Performs a docMetadataRetrieve message request for the docNode 
+ iff the nodeContent for that docNode is not already set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNode</CODE> - is the DocumentNodeData object for which the content 
+ is to be retrieved.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitledStructureFor(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+retrieveTitledStructureFor</H3>
+<PRE>
+public void <B>retrieveTitledStructureFor</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD>Performs a structureRetrieve and title metadata retrieve message- 
+ request for the docNode, but only iff the structure and title for  
+ that docNode is not already set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNode</CODE> - is the DocumentNodeData object for which the title 
+ is to be retrieved along with the titles of all its descendants.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doBrowse(org.greenstone.gs3client.BrowseDisplay.ClassifierData)"><!-- --></A><H3>
+doBrowse</H3>
+<PRE>
+public void <B>doBrowse</B>(<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A>&nbsp;classifier)</PRE>
+<DL>
+<DD>Given a ClassifierData object indicating what browsing category
+ was chosen, this method will retrieve all its descendants in the
+ hierarchy. Only the top-level descendents (children) of the 
+ classification will be set initially.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifier</CODE> - is the ClassifierData object whose children are 
+ to be retrieved.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitledStructureFor(org.greenstone.gs3client.data.ClassifierNodeData)"><!-- --></A><H3>
+retrieveTitledStructureFor</H3>
+<PRE>
+public void <B>retrieveTitledStructureFor</B>(<A HREF="../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>&nbsp;classNode)</PRE>
+<DL>
+<DD>Given a ClassifierNodeData object for browsing, this method will 
+ set the classNode's children (previously retrieved) and retrieve 
+ all the children's metadata including the title.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classNode</CODE> - is the ClassifierNodeData object whose title is to
+ be retrieved along with the titles for its children.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBaseURL()"><!-- --></A><H3>
+getBaseURL</H3>
+<PRE>
+public java.lang.String <B>getBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the baseURL of the active digital library interface object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFilePath(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+getFilePath</H3>
+<PRE>
+public java.lang.String <B>getFilePath</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the filepath of the documentNode in the active digital library</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeUIColour(int)"><!-- --></A><H3>
+changeUIColour</H3>
+<PRE>
+public void <B>changeUIColour</B>(int&nbsp;DL)</PRE>
+<DL>
+<DD>Changes the background colours of the client's user interface
+ based on what the active digital library is.
+ See files greenstone3/gli/classes/xml/config.xml and 
+ greenstone3/gli/src/org/greenstone/gatherer/Configuration.java
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>DL</CODE> - indicates whether the active digital library is Greenstone or  
+ Fedora (or neither, in which case the GUI defaults to the usual grey).<DT><B>See Also:</B><DD><a href="http://www.java2s.com/Code/Java/Swing-JFC/UIManagerresourcestotweakthelookofapplications.htm">Java UIManager tutorial</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD>The main method of the GS3 java-client application. It instantiates
+ an instance of the GS3JavaClient main window and makes it visible.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GS3JavaClient.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3JavaClient.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.html	(revision 15317)
@@ -0,0 +1,834 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:17 NZST 2008 -->
+<TITLE>
+GraphPaperLayout
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.GraphPaperLayout class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GraphPaperLayout";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GraphPaperLayout.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GraphPaperLayout.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class GraphPaperLayout</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.GraphPaperLayout</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.LayoutManager, java.awt.LayoutManager2</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>GraphPaperLayout</B><DT>extends java.lang.Object<DT>implements java.awt.LayoutManager2</DL>
+</PRE>
+
+<P>
+The <code>GraphPaperLayout</code> class is a layout manager that 
+ lays out a container's components in a rectangular grid, similar
+ to GridLayout.  Unlike GridLayout, however, components can take
+ up multiple rows and/or columns.  The layout manager acts as a
+ sheet of graph paper.  When a component is added to the layout
+ manager, the location and relative size of the component are
+ simply supplied by the constraints as a Rectangle.
+ <p><code><pre>
+ import java.awt.*;
+ import java.applet.Applet;
+ public class ButtonGrid extends Applet {
+     public void init() {
+         setLayout(new GraphPaperLayout(new Dimension(5,5)));
+         // Add a 1x1 Rect at (0,0)
+         add(new Button("1"), new Rectangle(0,0,1,1));
+         // Add a 2x1 Rect at (2,0)
+         add(new Button("2"), new Rectangle(2,0,2,1));
+         // Add a 1x2 Rect at (1,1)
+         add(new Button("3"), new Rectangle(1,1,1,2));
+         // Add a 2x2 Rect at (3,2)
+         add(new Button("4"), new Rectangle(3,2,2,2));
+         // Add a 1x1 Rect at (0,4)
+         add(new Button("5"), new Rectangle(0,4,1,1));
+         // Add a 1x2 Rect at (2,3)
+         add(new Button("6"), new Rectangle(2,3,1,2));
+     }
+ }
+ </pre></code>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Michael Martak</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;java.util.Hashtable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#compTable">compTable</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#gridSize">gridSize</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#hgap">hgap</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#vgap">vgap</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout()">GraphPaperLayout</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a graph paper layout with a default of a 1 x 1 graph, with no
+ vertical or horizontal padding.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout(java.awt.Dimension)">GraphPaperLayout</A></B>(java.awt.Dimension&nbsp;gridSize)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a graph paper layout with the given grid size, with no vertical
+ or horizontal padding.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#GraphPaperLayout(java.awt.Dimension, int, int)">GraphPaperLayout</A></B>(java.awt.Dimension&nbsp;gridSize,
+                 int&nbsp;hgap,
+                 int&nbsp;vgap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a graph paper layout with the given grid size and padding.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#addLayoutComponent(java.awt.Component, java.lang.Object)">addLayoutComponent</A></B>(java.awt.Component&nbsp;comp,
+                   java.lang.Object&nbsp;constraints)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified component to the layout, using the specified
+ constraint object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#addLayoutComponent(java.lang.String, java.awt.Component)">addLayoutComponent</A></B>(java.lang.String&nbsp;name,
+                   java.awt.Component&nbsp;comp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified component with the specified name to
+ the layout.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getGridSize()">getGridSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getLargestCellSize(java.awt.Container, boolean)">getLargestCellSize</A></B>(java.awt.Container&nbsp;parent,
+                   boolean&nbsp;isPreferred)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Algorithm for calculating the largest minimum or preferred cell size.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;float</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getLayoutAlignmentX(java.awt.Container)">getLayoutAlignmentX</A></B>(java.awt.Container&nbsp;target)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the alignment along the x axis.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;float</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getLayoutAlignmentY(java.awt.Container)">getLayoutAlignmentY</A></B>(java.awt.Container&nbsp;target)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the alignment along the y axis.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getLayoutSize(java.awt.Container, boolean)">getLayoutSize</A></B>(java.awt.Container&nbsp;parent,
+              boolean&nbsp;isPreferred)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Algorithm for calculating layout size (minimum or preferred).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#invalidateLayout(java.awt.Container)">invalidateLayout</A></B>(java.awt.Container&nbsp;target)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalidates the layout, indicating that if the layout manager
+ has cached information it should be discarded.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#layoutContainer(java.awt.Container)">layoutContainer</A></B>(java.awt.Container&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lays out the container in the specified container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#maximumLayoutSize(java.awt.Container)">maximumLayoutSize</A></B>(java.awt.Container&nbsp;target)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum size of this component.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#minimumLayoutSize(java.awt.Container)">minimumLayoutSize</A></B>(java.awt.Container&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the minimum size dimensions for the specified 
+ panel given the components in the specified parent container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#preferredLayoutSize(java.awt.Container)">preferredLayoutSize</A></B>(java.awt.Container&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculates the preferred size dimensions for the specified 
+ panel given the components in the specified parent container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#removeLayoutComponent(java.awt.Component)">removeLayoutComponent</A></B>(java.awt.Component&nbsp;comp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the specified component from the layout.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#setConstraints(java.awt.Component, java.awt.Rectangle)">setConstraints</A></B>(java.awt.Component&nbsp;comp,
+               java.awt.Rectangle&nbsp;constraints)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#setGridSize(java.awt.Dimension)">setGridSize</A></B>(java.awt.Dimension&nbsp;d)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the size of the graph paper in logical units (n x m)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#setGridSize(int, int)">setGridSize</A></B>(int&nbsp;width,
+            int&nbsp;height)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the size of the graph paper in logical units (n x m)</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="hgap"><!-- --></A><H3>
+hgap</H3>
+<PRE>
+int <B>hgap</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="vgap"><!-- --></A><H3>
+vgap</H3>
+<PRE>
+int <B>vgap</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="gridSize"><!-- --></A><H3>
+gridSize</H3>
+<PRE>
+java.awt.Dimension <B>gridSize</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="compTable"><!-- --></A><H3>
+compTable</H3>
+<PRE>
+java.util.Hashtable <B>compTable</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GraphPaperLayout()"><!-- --></A><H3>
+GraphPaperLayout</H3>
+<PRE>
+public <B>GraphPaperLayout</B>()</PRE>
+<DL>
+<DD>Creates a graph paper layout with a default of a 1 x 1 graph, with no
+ vertical or horizontal padding.
+<P>
+</DL>
+<HR>
+
+<A NAME="GraphPaperLayout(java.awt.Dimension)"><!-- --></A><H3>
+GraphPaperLayout</H3>
+<PRE>
+public <B>GraphPaperLayout</B>(java.awt.Dimension&nbsp;gridSize)</PRE>
+<DL>
+<DD>Creates a graph paper layout with the given grid size, with no vertical
+ or horizontal padding.
+<P>
+</DL>
+<HR>
+
+<A NAME="GraphPaperLayout(java.awt.Dimension, int, int)"><!-- --></A><H3>
+GraphPaperLayout</H3>
+<PRE>
+public <B>GraphPaperLayout</B>(java.awt.Dimension&nbsp;gridSize,
+                        int&nbsp;hgap,
+                        int&nbsp;vgap)</PRE>
+<DL>
+<DD>Creates a graph paper layout with the given grid size and padding.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>gridSize</CODE> - size of the graph paper in logical units (n x m)<DD><CODE>hgap</CODE> - horizontal padding<DD><CODE>vgap</CODE> - vertical padding</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getGridSize()"><!-- --></A><H3>
+getGridSize</H3>
+<PRE>
+public java.awt.Dimension <B>getGridSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the size of the graph paper in logical units (n x m)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGridSize(java.awt.Dimension)"><!-- --></A><H3>
+setGridSize</H3>
+<PRE>
+public void <B>setGridSize</B>(java.awt.Dimension&nbsp;d)</PRE>
+<DL>
+<DD>Set the size of the graph paper in logical units (n x m)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGridSize(int, int)"><!-- --></A><H3>
+setGridSize</H3>
+<PRE>
+public void <B>setGridSize</B>(int&nbsp;width,
+                        int&nbsp;height)</PRE>
+<DL>
+<DD>Set the size of the graph paper in logical units (n x m)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setConstraints(java.awt.Component, java.awt.Rectangle)"><!-- --></A><H3>
+setConstraints</H3>
+<PRE>
+public void <B>setConstraints</B>(java.awt.Component&nbsp;comp,
+                           java.awt.Rectangle&nbsp;constraints)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addLayoutComponent(java.lang.String, java.awt.Component)"><!-- --></A><H3>
+addLayoutComponent</H3>
+<PRE>
+public void <B>addLayoutComponent</B>(java.lang.String&nbsp;name,
+                               java.awt.Component&nbsp;comp)</PRE>
+<DL>
+<DD>Adds the specified component with the specified name to
+ the layout.  This does nothing in GraphPaperLayout, since constraints
+ are required.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>addLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeLayoutComponent(java.awt.Component)"><!-- --></A><H3>
+removeLayoutComponent</H3>
+<PRE>
+public void <B>removeLayoutComponent</B>(java.awt.Component&nbsp;comp)</PRE>
+<DL>
+<DD>Removes the specified component from the layout.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>removeLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comp</CODE> - the component to be removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="preferredLayoutSize(java.awt.Container)"><!-- --></A><H3>
+preferredLayoutSize</H3>
+<PRE>
+public java.awt.Dimension <B>preferredLayoutSize</B>(java.awt.Container&nbsp;parent)</PRE>
+<DL>
+<DD>Calculates the preferred size dimensions for the specified 
+ panel given the components in the specified parent container.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>preferredLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the component to be laid out<DT><B>See Also:</B><DD><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#minimumLayoutSize(java.awt.Container)"><CODE>minimumLayoutSize(java.awt.Container)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="minimumLayoutSize(java.awt.Container)"><!-- --></A><H3>
+minimumLayoutSize</H3>
+<PRE>
+public java.awt.Dimension <B>minimumLayoutSize</B>(java.awt.Container&nbsp;parent)</PRE>
+<DL>
+<DD>Calculates the minimum size dimensions for the specified 
+ panel given the components in the specified parent container.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>minimumLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the component to be laid out<DT><B>See Also:</B><DD><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#preferredLayoutSize(java.awt.Container)"><CODE>preferredLayoutSize(java.awt.Container)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLayoutSize(java.awt.Container, boolean)"><!-- --></A><H3>
+getLayoutSize</H3>
+<PRE>
+protected java.awt.Dimension <B>getLayoutSize</B>(java.awt.Container&nbsp;parent,
+                                           boolean&nbsp;isPreferred)</PRE>
+<DL>
+<DD>Algorithm for calculating layout size (minimum or preferred). 
+ <p>
+ The width of a graph paper layout is the largest cell width
+ (calculated in <code>getLargestCellSize()</code> times the number of 
+ columns, plus the horizontal padding times the number of columns 
+ plus one, plus the left and right insets of the target container. 
+ <p>
+ The height of a graph paper layout is the largest cell height
+ (calculated in <code>getLargestCellSize()</code> times the number of 
+ rows, plus the vertical padding times the number of rows 
+ plus one, plus the top and bottom insets of the target container.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the container in which to do the layout.<DD><CODE>isPreferred</CODE> - true for calculating preferred size, false for
+                    calculating minimum size.
+<DT><B>Returns:</B><DD>the dimensions to lay out the subcomponents of the specified
+         container.<DT><B>See Also:</B><DD><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html#getLargestCellSize(java.awt.Container, boolean)"><CODE>getLargestCellSize(java.awt.Container, boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLargestCellSize(java.awt.Container, boolean)"><!-- --></A><H3>
+getLargestCellSize</H3>
+<PRE>
+protected java.awt.Dimension <B>getLargestCellSize</B>(java.awt.Container&nbsp;parent,
+                                                boolean&nbsp;isPreferred)</PRE>
+<DL>
+<DD>Algorithm for calculating the largest minimum or preferred cell size.
+ <p>
+ Largest cell size is calculated by getting the applicable size of each
+ component and keeping the maximum value, dividing the component's width
+ by the number of columns it is specified to occupy and dividing the
+ component's height by the number of rows it is specified to occupy.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the container in which to do the layout.<DD><CODE>isPreferred</CODE> - true for calculating preferred size, false for
+                    calculating minimum size.
+<DT><B>Returns:</B><DD>the largest cell size required.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="layoutContainer(java.awt.Container)"><!-- --></A><H3>
+layoutContainer</H3>
+<PRE>
+public void <B>layoutContainer</B>(java.awt.Container&nbsp;parent)</PRE>
+<DL>
+<DD>Lays out the container in the specified container.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>layoutContainer</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the component which needs to be laid out</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addLayoutComponent(java.awt.Component, java.lang.Object)"><!-- --></A><H3>
+addLayoutComponent</H3>
+<PRE>
+public void <B>addLayoutComponent</B>(java.awt.Component&nbsp;comp,
+                               java.lang.Object&nbsp;constraints)</PRE>
+<DL>
+<DD>Adds the specified component to the layout, using the specified
+ constraint object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>addLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comp</CODE> - the component to be added<DD><CODE>constraints</CODE> - where/how the component is added to the layout.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="maximumLayoutSize(java.awt.Container)"><!-- --></A><H3>
+maximumLayoutSize</H3>
+<PRE>
+public java.awt.Dimension <B>maximumLayoutSize</B>(java.awt.Container&nbsp;target)</PRE>
+<DL>
+<DD>Returns the maximum size of this component.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>maximumLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><CODE>Component.getMinimumSize()</CODE>, 
+<CODE>Component.getPreferredSize()</CODE>, 
+<CODE>LayoutManager</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLayoutAlignmentX(java.awt.Container)"><!-- --></A><H3>
+getLayoutAlignmentX</H3>
+<PRE>
+public float <B>getLayoutAlignmentX</B>(java.awt.Container&nbsp;target)</PRE>
+<DL>
+<DD>Returns the alignment along the x axis.  This specifies how
+ the component would like to be aligned relative to other 
+ components.  The value should be a number between 0 and 1
+ where 0 represents alignment along the origin, 1 is aligned
+ the furthest away from the origin, 0.5 is centered, etc.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getLayoutAlignmentX</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLayoutAlignmentY(java.awt.Container)"><!-- --></A><H3>
+getLayoutAlignmentY</H3>
+<PRE>
+public float <B>getLayoutAlignmentY</B>(java.awt.Container&nbsp;target)</PRE>
+<DL>
+<DD>Returns the alignment along the y axis.  This specifies how
+ the component would like to be aligned relative to other 
+ components.  The value should be a number between 0 and 1
+ where 0 represents alignment along the origin, 1 is aligned
+ the furthest away from the origin, 0.5 is centered, etc.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getLayoutAlignmentY</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="invalidateLayout(java.awt.Container)"><!-- --></A><H3>
+invalidateLayout</H3>
+<PRE>
+public void <B>invalidateLayout</B>(java.awt.Container&nbsp;target)</PRE>
+<DL>
+<DD>Invalidates the layout, indicating that if the layout manager
+ has cached information it should be discarded.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>invalidateLayout</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/GraphPaperLayout.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GraphPaperLayout.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryForm.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryForm.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryForm.html	(revision 15317)
@@ -0,0 +1,678 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:18 NZST 2008 -->
+<TITLE>
+QueryForm
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.QueryForm class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryForm";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/QueryForm.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryForm.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class QueryForm</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JComponent
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JPanel
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.QueryForm</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>QueryForm</B><DT>extends javax.swing.JPanel<DT>implements java.awt.event.ActionListener, java.awt.event.KeyListener, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DL>
+</PRE>
+
+<P>
+Panel that represents a Query Form based on GS3 describe response XML 
+ messages sent by a Query Service. An inner panel will contain all the
+ actual form controls. The form can be reset to empty which will clear
+ its contents. Its contents can be reset to display controls appropriate
+ to new Query Service describe response XML messages.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.greenstone.gs3client.QueryForm">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JPanel.AccessibleJPanel</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JComponent.AccessibleJComponent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#client">client</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle to the running instance of the GS3JavaClient in order to have
+ access to its methods</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPanel</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#paramsPanel">paramsPanel</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Panel to contain all the form controls specific to the chosen Query 
+ Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#paramTags">paramTags</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Query parameters specified by the query services</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JButton</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#searchButton">searchButton</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search button that will cause the search to be executed when pressed</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#QueryForm(org.greenstone.gs3client.GS3JavaClient)">QueryForm</A></B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that instantiates this Form's internal GUI items.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#actionPerformed(java.awt.event.ActionEvent)">actionPerformed</A></B>(java.awt.event.ActionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when this QueryForm's search button is pressed: the data  
+ entered/controls settings specified by the user are passed to the
+ digital library's Query Service in order to perform the search.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#changeUIColour()">changeUIColour</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call this method to empty all the form controls.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#formFromQueryServiceDescribe(org.w3c.dom.Element)">formFromQueryServiceDescribe</A></B>(org.w3c.dom.Element&nbsp;el)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets up the the query form for display (queryPanel) given the XML of   
+ the response-message returned by a "describe" request sent to a 
+ Query Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#keyPressed(java.awt.event.KeyEvent)">keyPressed</A></B>(java.awt.event.KeyEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defined by KeyListener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#keyReleased(java.awt.event.KeyEvent)">keyReleased</A></B>(java.awt.event.KeyEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when the searchButton was in focus and a key was pressed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#keyTyped(java.awt.event.KeyEvent)">keyTyped</A></B>(java.awt.event.KeyEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defined by KeyListener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html#searchButtonPressed()">searchButtonPressed</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when the searchButton was clicked or when it was in focus 
+ and the enter key was pressed.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="client"><!-- --></A><H3>
+client</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Handle to the running instance of the GS3JavaClient in order to have
+ access to its methods
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="paramsPanel"><!-- --></A><H3>
+paramsPanel</H3>
+<PRE>
+protected javax.swing.JPanel <B>paramsPanel</B></PRE>
+<DL>
+<DD>Panel to contain all the form controls specific to the chosen Query 
+ Service.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchButton"><!-- --></A><H3>
+searchButton</H3>
+<PRE>
+protected javax.swing.JButton <B>searchButton</B></PRE>
+<DL>
+<DD>Search button that will cause the search to be executed when pressed
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="paramTags"><!-- --></A><H3>
+paramTags</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[] <B>paramTags</B></PRE>
+<DL>
+<DD>Query parameters specified by the query services
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryForm(org.greenstone.gs3client.GS3JavaClient)"><!-- --></A><H3>
+QueryForm</H3>
+<PRE>
+public <B>QueryForm</B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</PRE>
+<DL>
+<DD>Constructor that instantiates this Form's internal GUI items.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>client</CODE> - - handle to the running instance of the GS3JavaClient</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Call this method to empty all the form controls. This Query Form
+ component can then be reused.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeUIColour()"><!-- --></A><H3>
+changeUIColour</H3>
+<PRE>
+public void <B>changeUIColour</B>()</PRE>
+<DL>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo. Specified by
+  the ColourCombo.ColourChangeable interface.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html#changeUIColour()">changeUIColour</A></CODE> in interface <CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="actionPerformed(java.awt.event.ActionEvent)"><!-- --></A><H3>
+actionPerformed</H3>
+<PRE>
+public void <B>actionPerformed</B>(java.awt.event.ActionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Called when this QueryForm's search button is pressed: the data  
+ entered/controls settings specified by the user are passed to the
+ digital library's Query Service in order to perform the search.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>actionPerformed</CODE> in interface <CODE>java.awt.event.ActionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="keyPressed(java.awt.event.KeyEvent)"><!-- --></A><H3>
+keyPressed</H3>
+<PRE>
+public void <B>keyPressed</B>(java.awt.event.KeyEvent&nbsp;e)</PRE>
+<DL>
+<DD>Defined by KeyListener interface. Does nothing.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>keyPressed</CODE> in interface <CODE>java.awt.event.KeyListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="keyTyped(java.awt.event.KeyEvent)"><!-- --></A><H3>
+keyTyped</H3>
+<PRE>
+public void <B>keyTyped</B>(java.awt.event.KeyEvent&nbsp;e)</PRE>
+<DL>
+<DD>Defined by KeyListener interface. Does nothing.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>keyTyped</CODE> in interface <CODE>java.awt.event.KeyListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="keyReleased(java.awt.event.KeyEvent)"><!-- --></A><H3>
+keyReleased</H3>
+<PRE>
+public void <B>keyReleased</B>(java.awt.event.KeyEvent&nbsp;e)</PRE>
+<DL>
+<DD>Called when the searchButton was in focus and a key was pressed. If 
+ this key was the Enter button, then the search is performed: the data 
+ entered/controls settings specified by the user are passed to the
+ digital library's Query Service in order to perform the search.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>keyReleased</CODE> in interface <CODE>java.awt.event.KeyListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="searchButtonPressed()"><!-- --></A><H3>
+searchButtonPressed</H3>
+<PRE>
+protected void <B>searchButtonPressed</B>()</PRE>
+<DL>
+<DD>Called when the searchButton was clicked or when it was in focus 
+ and the enter key was pressed. The search is performed by passing the 
+ data entered/controls settings specified by the user to the digital
+ library's Query Service in order to perform the search.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="formFromQueryServiceDescribe(org.w3c.dom.Element)"><!-- --></A><H3>
+formFromQueryServiceDescribe</H3>
+<PRE>
+public void <B>formFromQueryServiceDescribe</B>(org.w3c.dom.Element&nbsp;el)</PRE>
+<DL>
+<DD>Sets up the the query form for display (queryPanel) given the XML of   
+ the response-message returned by a "describe" request sent to a 
+ Query Service. That is, generates the query form as specified
+ by the given response XML for a Query describe.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>el</CODE> - - a serviceResponseXML for a describe request that specifies
+ how the paramsPanel should look.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/QueryForm.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryForm.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.html	(revision 15317)
@@ -0,0 +1,594 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:18 NZST 2008 -->
+<TITLE>
+QueryFormControl
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.QueryFormControl class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryFormControl";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/QueryFormControl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormControl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class QueryFormControl</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.QueryFormData</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.QueryFormData.QueryFormParam</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.QueryFormControl</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE> class <B>QueryFormControl</B><DT>extends <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></DL>
+</PRE>
+
+<P>
+Represents a control in a query form. This wrapper class is a subclass of 
+ QueryFormParam that presents its QueryFormParam details as an appropriate 
+ GUI item *with* label (based on the QueryFormParam's type) for display 
+ in its own JPanel.   
+ This wrapper class is a widget that knows to display this QueryFormParam -- 
+ and any child &lt;param&gt;s or &lt;option&gt;s -- in its own JPanel.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JComponent</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#ref">ref</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the widget that's a visual representation of this QueryFormParam</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#width">width</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.QueryFormData.QueryFormParam"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#def">def</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#ignore">ignore</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#occurs">occurs</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#subElements">subElements</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#type">type</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html#displayItem">displayItem</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html#name">name</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html#OCCURS_ATT">OCCURS_ATT</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#QueryFormControl(org.w3c.dom.Element)">QueryFormControl</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a QueryFormControl for a &lt;param&gt; element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#QueryFormControl(org.w3c.dom.Element, javax.swing.JPanel)">QueryFormControl</A></B>(org.w3c.dom.Element&nbsp;param,
+                 javax.swing.JPanel&nbsp;parentPanel)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a QueryFormControl for a &lt;param&gt; element 
+ inside a panel.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#addGridBagComponent(javax.swing.JPanel, javax.swing.JComponent, java.awt.GridBagLayout, java.awt.GridBagConstraints, int, int, int, int)">addGridBagComponent</A></B>(javax.swing.JPanel&nbsp;panel,
+                    javax.swing.JComponent&nbsp;comp,
+                    java.awt.GridBagLayout&nbsp;gbLayout,
+                    java.awt.GridBagConstraints&nbsp;gbConstraints,
+                    int&nbsp;col,
+                    int&nbsp;row,
+                    int&nbsp;w,
+                    int&nbsp;h)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The multi-panel is laid out with a GridBagLayout in order to make 
+ the layout more attractive (so that the form controls don't have as 
+ odd sizes as before when GraphPaperLayout was used).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#createBooleanField()">createBooleanField</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates check box controls for the &lt;param&gt; elements whose 
+ types are GSXML.PARAM_TYPE_BOOLEAN.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#createEnumListing(org.w3c.dom.Element)">createEnumListing</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates combo boxes/drop-downs for the &lt;param&gt; elements
+ whose types are GSXML.PARAM_TYPE_ENUM_SINGLE and listboxes for those
+ whose types are GSXML.PARAM_TYPE_ENUM_MULTI.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#createMultiPanel(org.w3c.dom.Element, javax.swing.JPanel)">createMultiPanel</A></B>(org.w3c.dom.Element&nbsp;param,
+                 javax.swing.JPanel&nbsp;parentPanel)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A multi-panel is created for a *set* of controls that occur more than 
+ once.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#createTextField()">createTextField</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates text fields for the &lt;param&gt; elements whose types are
+ GSXML.PARAM_TYPE_STRING or GSXML.PARAM_TYPE_INTEGER).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#createWidget(org.w3c.dom.Element)">createWidget</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the appropriate form control for the &lt;param&gt; element,
+ based on its type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html#setSelectedValue(java.util.HashMap)">setSelectedValue</A></B>(java.util.HashMap&nbsp;nameValsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If called after the form containing these param controls has been 
+ displayed and the user has entered/selected values (i.e.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.QueryFormData.QueryFormParam"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#getSubElements()">getSubElements</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#show()">show</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html#extractDisplayItem(org.w3c.dom.Element)">extractDisplayItem</A>, <A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html#toString()">toString</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ref"><!-- --></A><H3>
+ref</H3>
+<PRE>
+protected javax.swing.JComponent <B>ref</B></PRE>
+<DL>
+<DD>the widget that's a visual representation of this QueryFormParam
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="width"><!-- --></A><H3>
+width</H3>
+<PRE>
+int <B>width</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryFormControl(org.w3c.dom.Element)"><!-- --></A><H3>
+QueryFormControl</H3>
+<PRE>
+public <B>QueryFormControl</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Constructor that creates a QueryFormControl for a &lt;param&gt; element
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - - a &lt;param&gt; element in a Query Service's describe 
+ response XML message</DL>
+</DL>
+<HR>
+
+<A NAME="QueryFormControl(org.w3c.dom.Element, javax.swing.JPanel)"><!-- --></A><H3>
+QueryFormControl</H3>
+<PRE>
+public <B>QueryFormControl</B>(org.w3c.dom.Element&nbsp;param,
+                        javax.swing.JPanel&nbsp;parentPanel)</PRE>
+<DL>
+<DD>Constructor that creates a QueryFormControl for a &lt;param&gt; element 
+ inside a panel.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - - a &lt;param&gt; element in a Query Service's describe 
+ response XML message<DD><CODE>parentPanel</CODE> - - the panel inside which this QueryFormControl is to 
+ display itself.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="createWidget(org.w3c.dom.Element)"><!-- --></A><H3>
+createWidget</H3>
+<PRE>
+public void <B>createWidget</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Creates the appropriate form control for the &lt;param&gt; element,
+ based on its type.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - - a &lt;param&gt; element in a Query Service's describe 
+ response XML message</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBooleanField()"><!-- --></A><H3>
+createBooleanField</H3>
+<PRE>
+public void <B>createBooleanField</B>()</PRE>
+<DL>
+<DD>Creates check box controls for the &lt;param&gt; elements whose 
+ types are GSXML.PARAM_TYPE_BOOLEAN.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextField()"><!-- --></A><H3>
+createTextField</H3>
+<PRE>
+public void <B>createTextField</B>()</PRE>
+<DL>
+<DD>Creates text fields for the &lt;param&gt; elements whose types are
+ GSXML.PARAM_TYPE_STRING or GSXML.PARAM_TYPE_INTEGER).
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEnumListing(org.w3c.dom.Element)"><!-- --></A><H3>
+createEnumListing</H3>
+<PRE>
+public void <B>createEnumListing</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Creates combo boxes/drop-downs for the &lt;param&gt; elements
+ whose types are GSXML.PARAM_TYPE_ENUM_SINGLE and listboxes for those
+ whose types are GSXML.PARAM_TYPE_ENUM_MULTI.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - - a &lt;param&gt; element in a Query Service's describe 
+ response XML message</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMultiPanel(org.w3c.dom.Element, javax.swing.JPanel)"><!-- --></A><H3>
+createMultiPanel</H3>
+<PRE>
+public void <B>createMultiPanel</B>(org.w3c.dom.Element&nbsp;param,
+                             javax.swing.JPanel&nbsp;parentPanel)</PRE>
+<DL>
+<DD>A multi-panel is created for a *set* of controls that occur more than 
+ once.
+ Processes &lt;param type="multi"&gt; in a Query Service's describe 
+ response XML. (I.e. the type is GSXML.PARAM_TYPE_MULTI)
+ Complicated case: can have 'occurs' field set. And this &lt;param&gt; 
+ element can have multiple &lt;param&gt;s itself, each with the 'ignore' 
+ possibly set and each with its own &lt;option&gt; elements.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - - a &lt;param&gt; element in a Query Service's describe 
+ response XML message<DD><CODE>parentPanel</CODE> - - the panel inside which the multipanel is to display
+ itself.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addGridBagComponent(javax.swing.JPanel, javax.swing.JComponent, java.awt.GridBagLayout, java.awt.GridBagConstraints, int, int, int, int)"><!-- --></A><H3>
+addGridBagComponent</H3>
+<PRE>
+protected void <B>addGridBagComponent</B>(javax.swing.JPanel&nbsp;panel,
+                                   javax.swing.JComponent&nbsp;comp,
+                                   java.awt.GridBagLayout&nbsp;gbLayout,
+                                   java.awt.GridBagConstraints&nbsp;gbConstraints,
+                                   int&nbsp;col,
+                                   int&nbsp;row,
+                                   int&nbsp;w,
+                                   int&nbsp;h)</PRE>
+<DL>
+<DD>The multi-panel is laid out with a GridBagLayout in order to make 
+ the layout more attractive (so that the form controls don't have as 
+ odd sizes as before when GraphPaperLayout was used).
+ This method sets the constraints for the given control and then adds 
+ it to the given JPanel.
+ This method is called to add a control (or heading label) to the 
+ multi-panel using GridBagLayout.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>panel</CODE> - is the panel to add the control (or heading label) to.<DD><CODE>comp</CODE> - is the Query Form control or heading JLabel to be laid out.<DD><CODE>gbLayout</CODE> - is the GridBagLayout object used to lay out the panel.<DD><CODE>gbConstraints</CODE> - is the GridBagConstraints object for the panel's
+ GridBagLayout.<DD><CODE>col</CODE> - is the column value of the top-left of the control (for 
+ setting the GridBagLayout's gridx value).<DD><CODE>row</CODE> - is the row value of the top-left of the control (for 
+ setting the GridBagLayout's gridy value).<DD><CODE>w</CODE> - is the number of columns spanned by the control (for setting 
+ the GridBagLayout's gridwidth value).<DD><CODE>h</CODE> - is the number of rows spanned by the control (for setting 
+ the GridBagLayout's gridheight value).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSelectedValue(java.util.HashMap)"><!-- --></A><H3>
+setSelectedValue</H3>
+<PRE>
+public void <B>setSelectedValue</B>(java.util.HashMap&nbsp;nameValsMap)</PRE>
+<DL>
+<DD>If called after the form containing these param controls has been 
+ displayed and the user has entered/selected values (i.e. after the search 
+ button to execute a query has been pressed), then this method puts  
+ the controls' associated QueryFormParam names and the user-
+ entered/-selected values into the HashMap nameValsmap (= the argument).
+ Note that for the GSXML.PARAM_TYPE_MULTI case - where each related set 
+ of controls may occur several times (depending on member variable 
+ 'occurs') - the value entered/selected for each control that has the 
+ same *name* (= key into the HashMap) is added into the HashMap as
+ a comma-separated list associated with its name-key.
+ This method requires that argument nameValsmap is a non-null HashMap.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValsMap</CODE> - - a non-null HashMap. At the end of this method,
+ the nameValsMap HashMap will contain mappings from query parameter field  
+ names to their user-entered values (for the field's associated 
+ form controls).</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/QueryFormControl.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormControl.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.html	(revision 15317)
@@ -0,0 +1,751 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:18 NZST 2008 -->
+<TITLE>
+SearchResultsDisplay
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.SearchResultsDisplay class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SearchResultsDisplay";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/SearchResultsDisplay.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SearchResultsDisplay.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client</FONT>
+<BR>
+Class SearchResultsDisplay</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Component
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.awt.Container
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JComponent
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">javax.swing.JPanel
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.SearchResultsDisplay</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>SearchResultsDisplay</B><DT>extends javax.swing.JPanel<DT>implements javax.swing.event.TreeSelectionListener, <A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></DL>
+</PRE>
+
+<P>
+The Search panel inside the Java-client's tab pane that's labelled 
+ "Search Results". This panel contains two tree views: 
+ - one for displaying the list of search results (top-level documents or document
+ - one for displaying the structure of document nodes selected in the list of
+ search results.  
+ This panel also contains an area where the selected documentNode's metadata is 
+ displayed, and a text area where the textual or image content of a selected 
+ documentNode is displayed.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.greenstone.gs3client.SearchResultsDisplay">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JPanel.AccessibleJPanel</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>javax.swing.JComponent.AccessibleJComponent</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Container.AccessibleAWTContainer</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#client">client</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access to the running instance of GS3JavaClient</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JEditorPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#docContentEditPane">docContentEditPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JSplitPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#docInfoPane">docInfoPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JSplitPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#docInfoWithContent">docInfoWithContent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTree</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#docStructureTree">docStructureTree</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;org.apache.log4j.Logger</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#LOG">LOG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Logger for this class</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JList</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#metanames">metanames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JList</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#metavalues">metavalues</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JPopupMenu</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#popup">popup</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Context menu that pops up when users right click in the browse tree area</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JTree</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#searchResultsTree">searchResultsTree</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.swing.JSplitPane</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#treeviewSplitPane">treeviewSplitPane</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.ImageObserver</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#SearchResultsDisplay(org.greenstone.gs3client.GS3JavaClient)">SearchResultsDisplay</A></B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates the Search Panel and its internal GUI items.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#changeUIColour()">changeUIColour</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#getPreferredSize()">getPreferredSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrode this method to resize the splitpanes within, upon resize.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#restructureWithNewRoot(org.greenstone.gs3client.data.DocumentNodeData)">restructureWithNewRoot</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;rootDocNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restructures the docStructureTree with a new rootNode when a different   
+ search result has been clicked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#setResults(org.greenstone.gs3client.data.DocumentNodeData[])">setResults</A></B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[]&nbsp;resultDocs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restructures the searchResultsTree when another search has been made, so 
+ that the search results contain a new list of documentNodeData objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html#valueChanged(javax.swing.event.TreeSelectionEvent)">valueChanged</A></B>(javax.swing.event.TreeSelectionEvent&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the TreeSelectionListener interface.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JPanel</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.JComponent</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Container</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.Component</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LOG"><!-- --></A><H3>
+LOG</H3>
+<PRE>
+static org.apache.log4j.Logger <B>LOG</B></PRE>
+<DL>
+<DD>The Logger for this class
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="client"><!-- --></A><H3>
+client</H3>
+<PRE>
+protected <A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Access to the running instance of GS3JavaClient
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="searchResultsTree"><!-- --></A><H3>
+searchResultsTree</H3>
+<PRE>
+protected javax.swing.JTree <B>searchResultsTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="docStructureTree"><!-- --></A><H3>
+docStructureTree</H3>
+<PRE>
+protected javax.swing.JTree <B>docStructureTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="docInfoPane"><!-- --></A><H3>
+docInfoPane</H3>
+<PRE>
+protected javax.swing.JSplitPane <B>docInfoPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="docInfoWithContent"><!-- --></A><H3>
+docInfoWithContent</H3>
+<PRE>
+protected javax.swing.JSplitPane <B>docInfoWithContent</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="treeviewSplitPane"><!-- --></A><H3>
+treeviewSplitPane</H3>
+<PRE>
+protected javax.swing.JSplitPane <B>treeviewSplitPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="docContentEditPane"><!-- --></A><H3>
+docContentEditPane</H3>
+<PRE>
+protected javax.swing.JEditorPane <B>docContentEditPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metanames"><!-- --></A><H3>
+metanames</H3>
+<PRE>
+protected javax.swing.JList <B>metanames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metavalues"><!-- --></A><H3>
+metavalues</H3>
+<PRE>
+protected javax.swing.JList <B>metavalues</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="popup"><!-- --></A><H3>
+popup</H3>
+<PRE>
+protected javax.swing.JPopupMenu <B>popup</B></PRE>
+<DL>
+<DD>Context menu that pops up when users right click in the browse tree area
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="SearchResultsDisplay(org.greenstone.gs3client.GS3JavaClient)"><!-- --></A><H3>
+SearchResultsDisplay</H3>
+<PRE>
+public <B>SearchResultsDisplay</B>(<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A>&nbsp;client)</PRE>
+<DL>
+<DD>Constructor that creates the Search Panel and its internal GUI items.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>client</CODE> - is the running instance of the client application through 
+ which its methods can be accessed.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getPreferredSize()"><!-- --></A><H3>
+getPreferredSize</H3>
+<PRE>
+public java.awt.Dimension <B>getPreferredSize</B>()</PRE>
+<DL>
+<DD>Overrode this method to resize the splitpanes within, upon resize. 
+ It calculates the size of this panel, as well as setting those of  
+ the splitpanes it contains based on the size of the parent container.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>getPreferredSize</CODE> in class <CODE>javax.swing.JComponent</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the preferred dimensions of this JPanel.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="changeUIColour()"><!-- --></A><H3>
+changeUIColour</H3>
+<PRE>
+public void <B>changeUIColour</B>()</PRE>
+<DL>
+<DD>Changes the colour of the query form and its controls to the
+  current colours set in class ColourCombo. Specified by
+  the ColourCombo.ColourChangeable interface.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html#changeUIColour()">changeUIColour</A></CODE> in interface <CODE><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Clears the service-specific buttons in the browseBar and the 
+ service-specific display-data. The rest of the GUI (split panes, panels) 
+ remain as they are. Resets the contents of the widgets in this panel.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResults(org.greenstone.gs3client.data.DocumentNodeData[])"><!-- --></A><H3>
+setResults</H3>
+<PRE>
+public void <B>setResults</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[]&nbsp;resultDocs)</PRE>
+<DL>
+<DD>Restructures the searchResultsTree when another search has been made, so 
+ that the search results contain a new list of documentNodeData objects.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resultDocs</CODE> - - the list of (new) DocumentNodeData objects that have
+ been returned as the results of a query/search operation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="restructureWithNewRoot(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+restructureWithNewRoot</H3>
+<PRE>
+protected void <B>restructureWithNewRoot</B>(<A HREF="../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;rootDocNode)</PRE>
+<DL>
+<DD>Restructures the docStructureTree with a new rootNode when a different   
+ search result has been clicked.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rootDocNode</CODE> - - the new root DocumentNodeData whose structure is  
+ to be displayed in the docStructureTree.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueChanged(javax.swing.event.TreeSelectionEvent)"><!-- --></A><H3>
+valueChanged</H3>
+<PRE>
+public void <B>valueChanged</B>(javax.swing.event.TreeSelectionEvent&nbsp;e)</PRE>
+<DL>
+<DD>Part of the TreeSelectionListener interface. When this is called, an item  
+ has been clicked in either the searchResultsTree or the docStructureTree.  
+ This method displays the metadata and textual contents accordingly
+ of the selected documentNodeData object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>valueChanged</CODE> in interface <CODE>javax.swing.event.TreeSelectionListener</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/SearchResultsDisplay.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SearchResultsDisplay.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.html	(revision 15317)
@@ -0,0 +1,462 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+BrowseResponseData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.BrowseResponseData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BrowseResponseData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/BrowseResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class BrowseResponseData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.ResponseData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.BrowseResponseData</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>BrowseResponseData</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></DL>
+</PRE>
+
+<P>
+Stores the data contained in an XML response message to a request for 
+ the classification Browse structure. An object of this class can be reused
+ after instatiation by calling setResponseData() with a new browse
+ response XML message. This will first call clear() to clear/release 
+ its references to all the old data.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#rootClassifierNode">rootClassifierNode</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to the root browse classifier, which may contain further
+ descendent classifierNodes or documentNodes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.ResponseData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#nodeIDsToNodes">nodeIDsToNodes</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#BrowseResponseData()">BrowseResponseData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets the internal data members of this BrowseResponseData object of 
+ their values so that this BrowseResponseData can be reused for the
+ next Browse response message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#getIDToNodeMapping()">getIDToNodeMapping</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#getRootClassifier()">getRootClassifier</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#setMetadataForClassifiers(org.w3c.dom.Element)">setMetadataForClassifiers</A></B>(org.w3c.dom.Element&nbsp;messageTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the response message element to a metadata request on
+ &lt;classifierNode&gts;, this method sets those classifierNodes' metadata.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#setResponseData(org.w3c.dom.Element)">setResponseData</A></B>(org.w3c.dom.Element&nbsp;responseMsgTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an XML responseMessage to a request for the classification  
+ Browse structure, this method sets its nodeIDsToNodes member variable 
+ by instantiating classifierNodeData and/or documentNodeData objects   
+ as given in the responseMessageTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overloaded method to produce a String output of the data contained in 
+ this BrowseResponseMessage.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.ResponseData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getNodeForID(java.lang.String)">getNodeForID</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setContentForDocs(org.w3c.dom.Element)">setContentForDocs</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForDocuments(org.w3c.dom.Element)">setMetadataForDocuments</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForNodes(org.w3c.dom.Element, java.lang.String)">setMetadataForNodes</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="rootClassifierNode"><!-- --></A><H3>
+rootClassifierNode</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A> <B>rootClassifierNode</B></PRE>
+<DL>
+<DD>Reference to the root browse classifier, which may contain further
+ descendent classifierNodes or documentNodes.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BrowseResponseData()"><!-- --></A><H3>
+BrowseResponseData</H3>
+<PRE>
+public <B>BrowseResponseData</B>()</PRE>
+<DL>
+<DD>Default constructor
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Resets the internal data members of this BrowseResponseData object of 
+ their values so that this BrowseResponseData can be reused for the
+ next Browse response message.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#clear()">clear</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResponseData(org.w3c.dom.Element)"><!-- --></A><H3>
+setResponseData</H3>
+<PRE>
+public void <B>setResponseData</B>(org.w3c.dom.Element&nbsp;responseMsgTag)</PRE>
+<DL>
+<DD>Given an XML responseMessage to a request for the classification  
+ Browse structure, this method sets its nodeIDsToNodes member variable 
+ by instantiating classifierNodeData and/or documentNodeData objects   
+ as given in the responseMessageTag. This method will not process all 
+ descendents of a classifierNode, but only those that are children
+ of the top level classifierNode. 
+ The responseMessageTag contains *all the descendents* in one go. But
+ we don't set all the descendents, just the children of the 
+ rootClassifierNode. However, as we store the responseMsgTag in pieces
+ (each child NodeData stores the bit relevant to it), we will work out
+ the children of each child etc as needed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setResponseData(org.w3c.dom.Element)">setResponseData</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>responseMsgTag</CODE> - is the the XML DOM Element representing a browse 
+ response XML message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMetadataForClassifiers(org.w3c.dom.Element)"><!-- --></A><H3>
+setMetadataForClassifiers</H3>
+<PRE>
+public boolean <B>setMetadataForClassifiers</B>(org.w3c.dom.Element&nbsp;messageTag)</PRE>
+<DL>
+<DD>Given the response message element to a metadata request on
+ &lt;classifierNode&gts;, this method sets those classifierNodes' metadata. 
+ It merely calls the the superclass' setMetadataForDocuments(messageTag, 
+ tagName) method to parse out data for the tagName=&lt;classifierNode&gt;.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>messageTag</CODE> - - the response message Element to a metadata
+ request on &lt;classifierNode&gt;s</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRootClassifier()"><!-- --></A><H3>
+getRootClassifier</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A> <B>getRootClassifier</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ClassifierNode representing the top-level/root 
+ &lt;classifierNode&gt; in the Browse response.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIDToNodeMapping()"><!-- --></A><H3>
+getIDToNodeMapping</H3>
+<PRE>
+public java.util.Map <B>getIDToNodeMapping</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getIDToNodeMapping()">getIDToNodeMapping</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hashMap of mappings from nodeIDs to DocumentNodeData 
+ object references</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD>Overloaded method to produce a String output of the data contained in 
+ this BrowseResponseMessage. It merely calls rootClassifierNode.show()
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of the data in this BrowseResponseMessage</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/BrowseResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BrowseResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.html	(revision 15317)
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+ClassifierNodeData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.ClassifierNodeData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ClassifierNodeData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ClassifierNodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ClassifierNodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class ClassifierNodeData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.NodeData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.ClassifierNodeData</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ClassifierNodeData</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></DL>
+</PRE>
+
+<P>
+ClassifierNodeData represents the information that can be stored in a   
+ &lt;classifierNode&gt; element. A ClassifierNode may have children and
+ further descendents of type NodeData: either of type DocumentNodeData  
+ or type ClassifierNodeData.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#childnodes">childnodes</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Children (of this NodeData) as given in a nodeStructure, which 
+ can be ClassifierNodeData or DocumentNodeData.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.NodeData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#hasChildren">hasChildren</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeID">nodeID</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeMetadata">nodeMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeTag">nodeTag</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#ClassifierNodeData(org.w3c.dom.Element)">ClassifierNodeData</A></B>(org.w3c.dom.Element&nbsp;classifierNodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that given a classifierNode element creates
+ a ClassifierNodeData instance to parse and store its data.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#getChildren()">getChildren</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the children of this node, but does not guarantee that *their*
+ children are set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#setChildren(java.util.Map)">setChildren</A></B>(java.util.Map&nbsp;idsToNodes_map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a map of nodeIdsToNodes, this method instantiates any
+ children this ClassifierNodeData object might have.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#setTitle(java.lang.String)">setTitle</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is mainly useful for setting the top-level/root 
+ classifierNode's name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.NodeData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getMetadataList()">getMetadataList</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getTitle()">getTitle</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setChildren(java.util.Vector, java.util.Map)">setChildren</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setMetadataList(org.w3c.dom.Element)">setMetadataList</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#showMeta()">showMeta</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#toString()">toString</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="childnodes"><!-- --></A><H3>
+childnodes</H3>
+<PRE>
+<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[] <B>childnodes</B></PRE>
+<DL>
+<DD>Children (of this NodeData) as given in a nodeStructure, which 
+ can be ClassifierNodeData or DocumentNodeData.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ClassifierNodeData(org.w3c.dom.Element)"><!-- --></A><H3>
+ClassifierNodeData</H3>
+<PRE>
+public <B>ClassifierNodeData</B>(org.w3c.dom.Element&nbsp;classifierNodeTag)</PRE>
+<DL>
+<DD>Constructor that given a classifierNode element creates
+ a ClassifierNodeData instance to parse and store its data. 
+ A classifierNodeData &lt;classifierNode&gt; contains just a nodeID
+ and can contain children. When a response for a classifierNode's
+ children is returned in a &lt;nodeStructure&gt;, this can be used to 
+ set the children. 
+ This classifierNodeData object is constructed from the data 
+ encapsulated in a &lt;classifierNode&gt; element
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>classifierNodeTag</CODE> - is the &lt;classifierNode&gt; element in a 
+ Greenstone3 response XML message</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setTitle(java.lang.String)"><!-- --></A><H3>
+setTitle</H3>
+<PRE>
+public void <B>setTitle</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>This method is mainly useful for setting the top-level/root 
+ classifierNode's name. Otherwise, can use method setMetadataList
+ to set the various metadata (name, values) associated with a
+ classifierNode.
+ Adds a new title to nodeMetadata as long as it is not the same 
+ as the previous title added.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the previous title added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setChildren(java.util.Map)"><!-- --></A><H3>
+setChildren</H3>
+<PRE>
+public void <B>setChildren</B>(java.util.Map&nbsp;idsToNodes_map)</PRE>
+<DL>
+<DD>Given a map of nodeIdsToNodes, this method instantiates any
+ children this ClassifierNodeData object might have. This
+ method will set member childnodes (or leave it at none)
+ and update idsToNodes_map as necessary.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>idsToNodes_map</CODE> - is a Hashmap of all the Node IDs to Node
+ objects being maintained (Classifier- or DocumentNode)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren()"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[] <B>getChildren</B>()</PRE>
+<DL>
+<DD>Gets the children of this node, but does not guarantee that *their*
+ children are set. Will return null either if this NodeData has no 
+ children or if this node's children are not set yet.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getChildren()">getChildren</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of all the child Nodes of this ClassifierNode
+ (as per its hierarchical structure) or null if these are not yet set
+ or if it has no children</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#show()">show</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a string representation of the values stored in this 
+ ClassifierNodeData object: outputs the nodeID and calls show() on any 
+ children NodeData objects. It's mainly useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ClassifierNodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ClassifierNodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.MetaData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.MetaData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.MetaData.html	(revision 15317)
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+CollectionData.MetaData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.CollectionData.MetaData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CollectionData.MetaData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.MetaData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.MetaData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class CollectionData.MetaData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.MetaData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.CollectionData.MetaData</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>CollectionData.MetaData</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A></DL>
+</PRE>
+
+<P>
+Static inner class MetaData: can import it into other files as
+ "import gs3client.CollectionData.MetaData;"
+ In this way, can use it as if it were a regular class (a.o.t. an inner 
+ class). That is, don't need to prepend the outer-classname if imported
+ like this.
+ gs3client.MetaData, from which this class inherits, has name, value and 
+ bodyText fields. This class adds an additional language field that is 
+ sometimes present in a Collection's metadata information. So we include 
+ the language as a member variable here in case we ever need it.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html#language">language</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.MetaData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#bodyText">bodyText</A>, <A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#name">name</A>, <A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#value">value</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html#CollectionData.MetaData(org.w3c.dom.Element)">CollectionData.MetaData</A></B>(org.w3c.dom.Element&nbsp;metadataTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a &lt;metadata&gt;&lt;/metadata&gt; element, constructs a 
+ CollectionData sets its members using info extracted from it</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.MetaData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#toString()">toString</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="language"><!-- --></A><H3>
+language</H3>
+<PRE>
+public final java.lang.String <B>language</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CollectionData.MetaData(org.w3c.dom.Element)"><!-- --></A><H3>
+CollectionData.MetaData</H3>
+<PRE>
+public <B>CollectionData.MetaData</B>(org.w3c.dom.Element&nbsp;metadataTag)</PRE>
+<DL>
+<DD>Given a &lt;metadata&gt;&lt;/metadata&gt; element, constructs a 
+ CollectionData sets its members using info extracted from it
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>metadataTag</CODE> - is the the &lt;metadata&gt;&lt;/metadata&gt; element 
+ whose data is used to construct this MetaData object.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#show()">show</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the contents of this MetaData object. 
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.MetaData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.MetaData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.PluginData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.PluginData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.PluginData.html	(revision 15317)
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+CollectionData.PluginData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.CollectionData.PluginData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CollectionData.PluginData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.PluginData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.PluginData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class CollectionData.PluginData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.CollectionData.PluginData</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>CollectionData.PluginData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+PluginData inner class of CollectionData, represents the data stored in 
+ a &lt;plugin&gt;&lt;/plugin&gt; element. This class just stores the 
+ Plugin's name, as well as option subelements (in variable optionnames).
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name of the plugin represented by this PluginData object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html#optionnames">optionnames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A plugin's option subelements.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html#CollectionData.PluginData(org.w3c.dom.Element)">CollectionData.PluginData</A></B>(org.w3c.dom.Element&nbsp;pluginTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a &lt;plugin&gt;&lt;/plugin&gt; element and sets its members 
+ using info extracted from it.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful when adding PluginData objects to a JList or JCombobox.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>name of the plugin represented by this PluginData object
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="optionnames"><!-- --></A><H3>
+optionnames</H3>
+<PRE>
+public final java.lang.String[] <B>optionnames</B></PRE>
+<DL>
+<DD>A plugin's option subelements. Variable optionnames can be empty 
+ (it's an optional variable).
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CollectionData.PluginData(org.w3c.dom.Element)"><!-- --></A><H3>
+CollectionData.PluginData</H3>
+<PRE>
+public <B>CollectionData.PluginData</B>(org.w3c.dom.Element&nbsp;pluginTag)</PRE>
+<DL>
+<DD>Gets a &lt;plugin&gt;&lt;/plugin&gt; element and sets its members 
+ using info extracted from it.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>pluginTag</CODE> - is the the &lt;plugin&gt;&lt;/plugin&gt; element 
+ whose data is used to construct this PluginData object.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>Useful when adding PluginData objects to a JList or JCombobox.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the plugin represented by this PluginData object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the contents of this PluginData object. 
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.PluginData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.PluginData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.ServiceData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.ServiceData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.ServiceData.html	(revision 15317)
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+CollectionData.ServiceData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.CollectionData.ServiceData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CollectionData.ServiceData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.ServiceData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.ServiceData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class CollectionData.ServiceData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.CollectionData.ServiceData</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>CollectionData.ServiceData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Only the name and type of a &lt;service&gt;&lt;/service&gt; element is 
+ stored, since this is all the service data available inside a collection's
+ response message to a describe request. And we are here dealing with 
+ just a CollectionData's service information (hence it's an inner class: 
+ CollectionData.ServiceData).
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name of the Greenstone service represented by this ServiceData object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html#type">type</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type attribute of &lt;service&gt;&lt;/service&gt; element.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html#CollectionData.ServiceData(org.w3c.dom.Element)">CollectionData.ServiceData</A></B>(org.w3c.dom.Element&nbsp;serviceTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a &lt;service&gt;&lt;/service&gt; element and sets its members using 
+ info extracted from it</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful when adding ServiceData objects to a JList or JCombobox</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>name of the Greenstone service represented by this ServiceData object
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="type"><!-- --></A><H3>
+type</H3>
+<PRE>
+public final java.lang.String <B>type</B></PRE>
+<DL>
+<DD>type attribute of &lt;service&gt;&lt;/service&gt; element.
+ type is optional and therefore can be empty str.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CollectionData.ServiceData(org.w3c.dom.Element)"><!-- --></A><H3>
+CollectionData.ServiceData</H3>
+<PRE>
+public <B>CollectionData.ServiceData</B>(org.w3c.dom.Element&nbsp;serviceTag)</PRE>
+<DL>
+<DD>Gets a &lt;service&gt;&lt;/service&gt; element and sets its members using 
+ info extracted from it
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>serviceTag</CODE> - is the &lt;service&gt;&lt;/service&gt; element from
+ which this ServiceData object is constructed.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>Useful when adding ServiceData objects to a JList or JCombobox
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this ServiceData, this corresponds to the name of
+ the Greenstone Service that this object represents.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the contents of this ServiceData object. 
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.ServiceData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.ServiceData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.html	(revision 15317)
@@ -0,0 +1,761 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+CollectionData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.CollectionData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CollectionData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class CollectionData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.CollectionData</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>CollectionData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+CollectionData represents a Greenstone 3 collection and contains the data
+ stored in a &lt;collection&gt;&lt;/collection&gt; element returned from a   
+ MessageRouter's desribe response XML and a Collection describe response XML. 
+ A CollectionData object can therefore contain services (represented by 
+ ServiceData), a list of collection-level metadata (represented by MetaData) 
+ and a list of plugins (represented by PluginData). 
+ 
+ ServiceData and PluginData are static inner classes of CollectionData. 
+ To declare variables of these inner class types in other java files/classes,
+ import each one: e.g. "import gs3client.CollectionData.ServiceData".
+ Then they can be used without the outerclass' name for qualification:
+ i.e. can then use Servicedata sv = new ServiceData(...)
+ instead of CollectionData.ServiceData sv = new
+ CollectionData.ServiceData(...).
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class MetaData: can import it into other files as
+ "import gs3client.CollectionData.MetaData;"
+ In this way, can use it as if it were a regular class (a.o.t.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PluginData inner class of CollectionData, represents the data stored in 
+ a &lt;plugin&gt;&lt;/plugin&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only the name and type of a &lt;service&gt;&lt;/service&gt; element is 
+ stored, since this is all the service data available inside a collection's
+ response message to a describe request.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#description">description</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Description of the Greenstone collection represented by this 
+ CollectionData</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#displayName">displayName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display name for the Greenstone collection represented by this 
+ CollectionData</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#icon">icon</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#metadataList">metadataList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collection level metadata</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The basic field of a collection: the name of the collection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#pluginList">pluginList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenstone plugins used to build this collection with</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#serviceList">serviceList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List of services supported by this collection</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#smallIcon">smallIcon</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#url">url</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the location of images and stuff.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#CollectionData(org.w3c.dom.Element)">CollectionData</A></B>(org.w3c.dom.Element&nbsp;mrCollectionTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a &lt;collection&gt;&lt;/collection&gt; element as returned by the 
+ <b>MessageRouter's</b> describe response, with only the name field set.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getDescription()">getDescription</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getDisplayName()">getDisplayName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getIcon()">getIcon</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getMetadataList()">getMetadataList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getPluginList()">getPluginList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getServiceList(boolean)">getServiceList</A></B>(boolean&nbsp;executableServicesOnly)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getSmallIcon()">getSmallIcon</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#getUrl()">getUrl</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#info()">info</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#setFields(org.w3c.dom.Element)">setFields</A></B>(org.w3c.dom.Element&nbsp;collectionTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets a &lt;collection&gt;&lt;/collection&gt; element - as returned by a 
+ describe response from a <b>Collection</b> - and sets the member vars using 
+ the data in there.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful when adding CollectionData objects to a JList or JCombobox.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="url"><!-- --></A><H3>
+url</H3>
+<PRE>
+protected java.lang.String <B>url</B></PRE>
+<DL>
+<DD>Stores the location of images and stuff. Not really used at present
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>The basic field of a collection: the name of the collection. This is
+ present for collection elements in all describe response messages,
+ whether sent from the MessageRouter or from Greenstone collections.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="displayName"><!-- --></A><H3>
+displayName</H3>
+<PRE>
+protected java.lang.String <B>displayName</B></PRE>
+<DL>
+<DD>Display name for the Greenstone collection represented by this 
+ CollectionData
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="description"><!-- --></A><H3>
+description</H3>
+<PRE>
+protected java.lang.String <B>description</B></PRE>
+<DL>
+<DD>Description of the Greenstone collection represented by this 
+ CollectionData
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="smallIcon"><!-- --></A><H3>
+smallIcon</H3>
+<PRE>
+protected java.lang.String <B>smallIcon</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="icon"><!-- --></A><H3>
+icon</H3>
+<PRE>
+protected java.lang.String <B>icon</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serviceList"><!-- --></A><H3>
+serviceList</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>[] <B>serviceList</B></PRE>
+<DL>
+<DD>List of services supported by this collection
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metadataList"><!-- --></A><H3>
+metadataList</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>[] <B>metadataList</B></PRE>
+<DL>
+<DD>Collection level metadata
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="pluginList"><!-- --></A><H3>
+pluginList</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>[] <B>pluginList</B></PRE>
+<DL>
+<DD>Greenstone plugins used to build this collection with
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CollectionData(org.w3c.dom.Element)"><!-- --></A><H3>
+CollectionData</H3>
+<PRE>
+public <B>CollectionData</B>(org.w3c.dom.Element&nbsp;mrCollectionTag)</PRE>
+<DL>
+<DD>Gets a &lt;collection&gt;&lt;/collection&gt; element as returned by the 
+ <b>MessageRouter's</b> describe response, with only the name field set.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>mrCollectionTag</CODE> - the &lt;collection&gt;&lt;/collection&gt; element  
+ as returned by a describe response from the <b>MessageRouter</b>.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setFields(org.w3c.dom.Element)"><!-- --></A><H3>
+setFields</H3>
+<PRE>
+public void <B>setFields</B>(org.w3c.dom.Element&nbsp;collectionTag)</PRE>
+<DL>
+<DD>Gets a &lt;collection&gt;&lt;/collection&gt; element - as returned by a 
+ describe response from a <b>Collection</b> - and sets the member vars using 
+ the data in there.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionTag</CODE> - is the &lt;collection&gt;&lt;/collection&gt; element  
+ as returned by a describe response from a <b>Collection</b>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>Useful when adding CollectionData objects to a JList or JCombobox.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the collection represented by this CollectionData</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the contents of this CollectionData object. 
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="info()"><!-- --></A><H3>
+info</H3>
+<PRE>
+public java.lang.String <B>info</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Info string for the collection reprsented by this 
+ CollectionData object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDisplayName()"><!-- --></A><H3>
+getDisplayName</H3>
+<PRE>
+public java.lang.String <B>getDisplayName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDescription()"><!-- --></A><H3>
+getDescription</H3>
+<PRE>
+public java.lang.String <B>getDescription</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSmallIcon()"><!-- --></A><H3>
+getSmallIcon</H3>
+<PRE>
+public java.lang.String <B>getSmallIcon</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIcon()"><!-- --></A><H3>
+getIcon</H3>
+<PRE>
+public java.lang.String <B>getIcon</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUrl()"><!-- --></A><H3>
+getUrl</H3>
+<PRE>
+public java.lang.String <B>getUrl</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetadataList()"><!-- --></A><H3>
+getMetadataList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A>[] <B>getMetadataList</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPluginList()"><!-- --></A><H3>
+getPluginList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A>[] <B>getPluginList</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServiceList(boolean)"><!-- --></A><H3>
+getServiceList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A>[] <B>getServiceList</B>(boolean&nbsp;executableServicesOnly)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>executableServicesOnly</CODE> - - if true, only the list of supported query  
+ and browse services are returned. Otherwise, all the services in the 
+ collection are returned.
+<DT><B>Returns:</B><DD>the list of services supported by this collection.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/CollectionData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CollectionData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.html	(revision 15317)
@@ -0,0 +1,973 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+DocumentNodeData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.DocumentNodeData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentNodeData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/DocumentNodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DocumentNodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class DocumentNodeData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.NodeData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.DocumentNodeData</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>DocumentNodeData</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></DL>
+</PRE>
+
+<P>
+Represents the data stored in the &lt;documentNode&gt; Elements
+ of Greenstone 3's XML response messages. A DocumentNodeData may
+ have descendants of type DocumentNodeData. Some DocumentNodeData
+ objects are the root of a structure, others are internal nodes or
+ leaves. 
+ See p.47 to p.49 in the manual.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#childnodes">childnodes</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;children of this node: part of &lt;nodeStructure&gt; Element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#docType">docType</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocType can be Hierarchical for instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#nodeContent">nodeContent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The text content of the document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.util.HashMap</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#nodeStructureInfo_map">nodeStructureInfo_map</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A Hashmap to store &lt;nodeStructureInfo&gt; of a DocumentNodeData
+ (if it has any)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#nodeType">nodeType</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NodeType of this DocumentNodeData: root, internal or leaf</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#rank">rank</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rank of this DocumentNodeData if the &lt;documentNode&gt; 
+ Element was returned in a search result</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#rootDoc">rootDoc</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reference to this doc's root</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.NodeData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#hasChildren">hasChildren</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeID">nodeID</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeMetadata">nodeMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeTag">nodeTag</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#DocumentNodeData(org.w3c.dom.Element)">DocumentNodeData</A></B>(org.w3c.dom.Element&nbsp;docNodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given tags of the form 
+ &lt;documentNode nodeID="HASHac0a04dd14571c60d7fbfd.4.2"
+ nodeType="x" docType="y"&gt;
+ &lt;nodeContent>Text&lt;/nodeContent&gt;
+ &lt;nodeStructureInfo>&lt;info name="i" value="1" /&gt;
+ &lt;info name = "ii" value = "2" /&gt;&lt;/nodeStructureInfo&gt;
+ &lt;metadataList&gt;&lt;metadata name="a"&gt;Value
+ &lt;/metadata&gt;&lt;/metadataList&gt;
+ &lt;nodeStructure&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+ &lt;/nodeStructure&gt;
+ &lt;/documentNode&gt;
+ this constructor extracts the nodeId out of it and any other fields 
+ that might be set in the docNodeTag &lt;documentNode&gt; element.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#canBeImage()">canBeImage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#descNodeIDsAsList(java.util.Vector, org.greenstone.gs3client.data.DocumentNodeData, boolean)">descNodeIDsAsList</A></B>(java.util.Vector&nbsp;v,
+                  <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;parent,
+                  boolean&nbsp;onlyTheUntitled)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursive method that adds all the nodeIDs of the descendents
+ of DocumentNodeData parent into the Vector v.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getAssocFilePath()">getAssocFilePath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Vector</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getAssociatedFileNames()">getAssociatedFileNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getChildren()">getChildren</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getContent()">getContent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getDescendents()">getDescendents</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getDescNodeIDsAsList(boolean)">getDescNodeIDsAsList</A></B>(boolean&nbsp;onlyTheUntitled)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When called on a rootNode, returns an array of all the descendents' 
+ nodeIDs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getDocType()">getDocType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getImgName()">getImgName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getImgURL()">getImgURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#getRoot()">getRoot</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#hasNoText()">hasNoText</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#isLeaf()">isLeaf</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#setDescendents(org.greenstone.gs3client.data.DocumentNodeData, org.w3c.dom.Element, java.util.Map)">setDescendents</A></B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;root,
+               org.w3c.dom.Element&nbsp;docNodeTag,
+               java.util.Map&nbsp;nodeIDsToDocNodes_map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursive method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#setDescendentsOfRootNode(org.w3c.dom.Element, java.util.Map)">setDescendentsOfRootNode</A></B>(org.w3c.dom.Element&nbsp;nodeStructure,
+                         java.util.Map&nbsp;nodeIDsToDocNodes_map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a &lt;nodeStructure&gt;&lt;/nodeStructure&gt; element returned   
+ from a request for the *ENTIRE* nodeStructure, this method will find the  
+ &lt;documentNode&gt; that is the Root (nodeType=ROOT) and from there
+ on proceed to set all descendent &lt;documentNode&gt;s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#setNodeContent(org.w3c.dom.Element)">setNodeContent</A></B>(org.w3c.dom.Element&nbsp;docNodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets member variable nodeContent with the text (if any) inside any 
+ &lt;nodeContent&gt;&lt;/nodeContent&gt; child element of 
+ &lt;documentNode&gt;, else the value of nodeContent is set to empty 
+ string ("").</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#setNodeStructInfo(org.w3c.dom.Element)">setNodeStructInfo</A></B>(org.w3c.dom.Element&nbsp;docNodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets structureInfo member variable &lt;nodeStructureInfo&gt; element is  
+ present as child of &lt;documentNode&gt;, else value of structureInfo 
+ remains unchanged.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.NodeData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getMetadataList()">getMetadataList</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getTitle()">getTitle</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setChildren(java.util.Vector, java.util.Map)">setChildren</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setMetadataList(org.w3c.dom.Element)">setMetadataList</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#showMeta()">showMeta</A>, <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#toString()">toString</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="nodeType"><!-- --></A><H3>
+nodeType</H3>
+<PRE>
+public final java.lang.String <B>nodeType</B></PRE>
+<DL>
+<DD>NodeType of this DocumentNodeData: root, internal or leaf
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="docType"><!-- --></A><H3>
+docType</H3>
+<PRE>
+public final java.lang.String <B>docType</B></PRE>
+<DL>
+<DD>DocType can be Hierarchical for instance
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="rank"><!-- --></A><H3>
+rank</H3>
+<PRE>
+public final double <B>rank</B></PRE>
+<DL>
+<DD>Rank of this DocumentNodeData if the &lt;documentNode&gt; 
+ Element was returned in a search result
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="rootDoc"><!-- --></A><H3>
+rootDoc</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A> <B>rootDoc</B></PRE>
+<DL>
+<DD>Reference to this doc's root
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="childnodes"><!-- --></A><H3>
+childnodes</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[] <B>childnodes</B></PRE>
+<DL>
+<DD>children of this node: part of &lt;nodeStructure&gt; Element
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nodeStructureInfo_map"><!-- --></A><H3>
+nodeStructureInfo_map</H3>
+<PRE>
+protected java.util.HashMap <B>nodeStructureInfo_map</B></PRE>
+<DL>
+<DD>A Hashmap to store &lt;nodeStructureInfo&gt; of a DocumentNodeData
+ (if it has any)
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nodeContent"><!-- --></A><H3>
+nodeContent</H3>
+<PRE>
+protected java.lang.String <B>nodeContent</B></PRE>
+<DL>
+<DD>The text content of the document
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DocumentNodeData(org.w3c.dom.Element)"><!-- --></A><H3>
+DocumentNodeData</H3>
+<PRE>
+public <B>DocumentNodeData</B>(org.w3c.dom.Element&nbsp;docNodeTag)</PRE>
+<DL>
+<DD>Given tags of the form 
+ &lt;documentNode nodeID="HASHac0a04dd14571c60d7fbfd.4.2"
+ nodeType="x" docType="y"&gt;
+ &lt;nodeContent>Text&lt;/nodeContent&gt;
+ &lt;nodeStructureInfo>&lt;info name="i" value="1" /&gt;
+ &lt;info name = "ii" value = "2" /&gt;&lt;/nodeStructureInfo&gt;
+ &lt;metadataList&gt;&lt;metadata name="a"&gt;Value
+ &lt;/metadata&gt;&lt;/metadataList&gt;
+ &lt;nodeStructure&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+                &lt;documentNode ....>&lt;/documentNode&gt;
+ &lt;/nodeStructure&gt;
+ &lt;/documentNode&gt;
+ this constructor extracts the nodeId out of it and any other fields 
+ that might be set in the docNodeTag &lt;documentNode&gt; element.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>docNodeTag</CODE> - is an &lt;documentNode&gt; XML element to construct
+ this DocumentNodeData object from</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setDescendentsOfRootNode(org.w3c.dom.Element, java.util.Map)"><!-- --></A><H3>
+setDescendentsOfRootNode</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A> <B>setDescendentsOfRootNode</B>(org.w3c.dom.Element&nbsp;nodeStructure,
+                                                 java.util.Map&nbsp;nodeIDsToDocNodes_map)</PRE>
+<DL>
+<DD>Given a &lt;nodeStructure&gt;&lt;/nodeStructure&gt; element returned   
+ from a request for the *ENTIRE* nodeStructure, this method will find the  
+ &lt;documentNode&gt; that is the Root (nodeType=ROOT) and from there
+ on proceed to set all descendent &lt;documentNode&gt;s.
+ If either the root or any descendent &lt;documentNode&gt;s have already 
+ been instantiated at any point during program execution, it will
+ be reused, else a new object representing that descendent/root
+ &lt;documentNode&gt; will be created.
+ The nodeIDsToDocNodes_map is a mapping of nodeIDs to existing 
+ documentNodeData objects, so that the DocumentNodeData objects with 
+ the same ID need not be instantiated where they already exist.
+ This method returns the rootNode if it completes successfully,
+ otherwise it returns null.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeStructure</CODE> - is the &lt;nodeStructure&gt;&lt;/nodeStructure&gt; 
+ element returned from a request for the *ENTIRE* nodeStructure<DD><CODE>nodeIDsToDocNodes_map</CODE> - is the Map of node IDs to DocumentNodeData
+ objects being maintained
+<DT><B>Returns:</B><DD>the root DocumentNodeData object of the &lt;documentNode&gt;s
+ in the &lt;nodeStructure&gt;</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDescendents(org.greenstone.gs3client.data.DocumentNodeData, org.w3c.dom.Element, java.util.Map)"><!-- --></A><H3>
+setDescendents</H3>
+<PRE>
+protected void <B>setDescendents</B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;root,
+                              org.w3c.dom.Element&nbsp;docNodeTag,
+                              java.util.Map&nbsp;nodeIDsToDocNodes_map)</PRE>
+<DL>
+<DD>Recursive method.
+ Called by setDescendentsOfRootNode(). Given a docNodeTag (of the Root)
+ which was nested within a &lt;nodeStructure&gt; element, this method sets
+ all the descendents of that root. This means that each documentNodeData
+ object in the hierarchy of the root will have its childnodes[] variable
+ set, iff that object is not a nodeType==LEAF. With leaves, the  
+ childnodes array will remain null.
+ The nodeIDsToDocNodes_map is a mapping of nodeIDs to existing 
+ documentNodeData objects, so that the DocumentNodeData objects with the
+ same ID need not be instantiated where they already exist.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>root</CODE> - - the root element of this documentNodeData<DD><CODE>docNodeTag</CODE> - - the &lt;documentNode&gt; XML Element of the Root
+ nested within a &lt;nodeStructure&gt; element<DD><CODE>nodeIDsToDocNodes_map</CODE> - is the Map of node IDs to DocumentNodeData
+ objects being maintained</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeStructInfo(org.w3c.dom.Element)"><!-- --></A><H3>
+setNodeStructInfo</H3>
+<PRE>
+public void <B>setNodeStructInfo</B>(org.w3c.dom.Element&nbsp;docNodeTag)</PRE>
+<DL>
+<DD>Sets structureInfo member variable &lt;nodeStructureInfo&gt; element is  
+ present as child of &lt;documentNode&gt;, else value of structureInfo 
+ remains unchanged. A &lt;docNode&gt; has no more than one child   
+ &lt;nodeStructureInfo&gt; in a response to a DocumentStructureRetrieve.  
+ However, the response can contain many such &lt;docNodes&gt;. 
+ See manual p.49.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNodeTag</CODE> - is the &lt;documentNode&gt; XML element containing
+ the &lt;nodeStructureInfo&gt; Element that is to be processed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeContent(org.w3c.dom.Element)"><!-- --></A><H3>
+setNodeContent</H3>
+<PRE>
+public void <B>setNodeContent</B>(org.w3c.dom.Element&nbsp;docNodeTag)</PRE>
+<DL>
+<DD>Sets member variable nodeContent with the text (if any) inside any 
+ &lt;nodeContent&gt;&lt;/nodeContent&gt; child element of 
+ &lt;documentNode&gt;, else the value of nodeContent is set to empty 
+ string (""). The empty string will prevent it from being retrieved again
+ and again (which would happen if nodeContent remained at null) if it had
+ already been retrieved once.
+ However, if the docNodeTag parameter is not the response from
+ a documentContentRetrieve (if it doesn't have the proper XML 
+ structure for that), nodeContent remains null and can be set
+ in future when given an appropriate docNodeTag.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNodeTag</CODE> - is the &lt;documentNode&gt; XML element containing
+ the content information for this DocumentNodeData object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#show()">show</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the data stored in this DocumentNodeData object, all except 
+ the document content which can be accessed by calling toString(). 
+ This method is useful for debugging purposes: to view what each
+ field's values are.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLeaf()"><!-- --></A><H3>
+isLeaf</H3>
+<PRE>
+public boolean <B>isLeaf</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the (nodeType of) this DocumentNodeData is a leaf</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public java.lang.String <B>getNodeType</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the nodeType of this DocumentNodeData</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocType()"><!-- --></A><H3>
+getDocType</H3>
+<PRE>
+public java.lang.String <B>getDocType</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the docType of this DocumentNodeData</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRoot()"><!-- --></A><H3>
+getRoot</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A> <B>getRoot</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root of the structure of which this documentNodeData
+ is part (this docNodeData is either the root itself or its child
+ or descenedent). A null is returned if the Root docNode and its
+ descendents have not been set yet.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContent()"><!-- --></A><H3>
+getContent</H3>
+<PRE>
+public java.lang.String <B>getContent</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this document's text content (which may be empty string 
+ if there was none). It will return null if the nodeContent has
+ not been set yet.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDescendents()"><!-- --></A><H3>
+getDescendents</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[] <B>getDescendents</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of all this DocNode's children. Each childnode 
+ in turn, can further contain children, etc. Null is returned if
+ there are no childnodes or if setDescendentsOfRootNode() has not
+ been called (that is, if the root has not yet been set).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren()"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[] <B>getChildren</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getChildren()">getChildren</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>gets the children (NodeData) of this DocumentNodeData
+ but does not guarantee that their children are set. That is,
+ it's possible that this DocumentNodeData's children may have 
+ children of their own but that these may not be set yet (and
+ are temporarily still null).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDescNodeIDsAsList(boolean)"><!-- --></A><H3>
+getDescNodeIDsAsList</H3>
+<PRE>
+public java.lang.String[] <B>getDescNodeIDsAsList</B>(boolean&nbsp;onlyTheUntitled)</PRE>
+<DL>
+<DD>When called on a rootNode, returns an array of all the descendents' 
+ nodeIDs. If this object is not a rootNode, it returns null. 
+ Parameter onlyTheUntitled, if true, makes this method return only the   
+ nodeIDs of those documentNodeData descendents for whom the title has 
+ not yet been set.
+ If false, the nodeIDs of all dDcumentNodeData descendents will be
+ returned, regardless of whether their titles are already set.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>onlyTheUntitled</CODE> - - if true this method is only to return those 
+ descendants' IDs whose titles have not yet been set. If false,
+ all descendants' nodeIDs are returned.
+<DT><B>Returns:</B><DD>an array of all the descendant DocumentNodeData's NodeIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="descNodeIDsAsList(java.util.Vector, org.greenstone.gs3client.data.DocumentNodeData, boolean)"><!-- --></A><H3>
+descNodeIDsAsList</H3>
+<PRE>
+protected static void <B>descNodeIDsAsList</B>(java.util.Vector&nbsp;v,
+                                        <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;parent,
+                                        boolean&nbsp;onlyTheUntitled)</PRE>
+<DL>
+<DD>Recursive method that adds all the nodeIDs of the descendents
+ of DocumentNodeData parent into the Vector v.
+ If parameter onlyTheUntitled=true, then only the nodeIDs of the
+ untitled DocumentNodeData descendents are added in. Otherwise,
+ all descendents' nodeIDs are.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>v</CODE> - is the Vector being populated with descendant documentNodeData's
+ IDs.<DD><CODE>parent</CODE> - is the parent DocumentNodeData node currently being
+ considered in this recursion step.<DD><CODE>onlyTheUntitled</CODE> - should be true if only those descendant 
+ DocumentNodeData objects that don't yet have a title need to be returned. 
+ If false, it returns all descendants' nodeIDs in the Vector v.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canBeImage()"><!-- --></A><H3>
+canBeImage</H3>
+<PRE>
+public boolean <B>canBeImage</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this documentNode's root is associated with the
+ ImagePlug or PagedImgPlug.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/scanned_image_collection.htm">The scanned image collection, for names of Plugin metadata values PagedImgPlug and ImagePlug</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasNoText()"><!-- --></A><H3>
+hasNoText</H3>
+<PRE>
+public boolean <B>hasNoText</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>value of "notext" metadata field, if any. If true, this 
+ indicates that the document is purely an image. Otherwise it indicates
+ that there is both a text view and an image view associated with this
+ document.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getImgURL()"><!-- --></A><H3>
+getImgURL</H3>
+<PRE>
+public java.lang.String <B>getImgURL</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the image url stored in the "srcicon" metadata field, if any.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getImgName()"><!-- --></A><H3>
+getImgName</H3>
+<PRE>
+public java.lang.String <B>getImgName</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Source metadata value which represents the image file
+  name. Returns "" if this DocumentNodeData is not a root or does not
+  have Source meta.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssociatedFileNames()"><!-- --></A><H3>
+getAssociatedFileNames</H3>
+<PRE>
+public java.util.Vector <B>getAssociatedFileNames</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vector of values for metadata name "gsdlassocfile": a vector
+  of MetaPairs(filename, mimetype).
+ An empty vector is returned for all docNodes other than the root. And the 
+ root too need not always have associated files listed in its metadata.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFilePath()"><!-- --></A><H3>
+getAssocFilePath</H3>
+<PRE>
+public java.lang.String <B>getAssocFilePath</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root document's assocfilepath metadata field, if any. 
+ This will indicate the directory path where the associated images
+ and other files are stored.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/DocumentNodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DocumentNodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/MetaData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/MetaData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/MetaData.html	(revision 15317)
@@ -0,0 +1,374 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+MetaData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.MetaData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="MetaData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/MetaData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MetaData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class MetaData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.MetaData</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>MetaData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Stores the name, value and value of body textnode of a simple &lt;metadata&gt;
+ element. &lt;metadata name="str" value="str"&gt;bodyvalue&lt;/metadata&gt;
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#bodyText">bodyText</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text node content of a &lt;metadata&gt; - the textnode may be empty, in
+ which case this will be set to ""</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name attribute of a &lt;metadata&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#value">value</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value attribute of a &lt;metadata&gt; - this may or may not be there</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#MetaData(org.w3c.dom.Element)">MetaData</A></B>(org.w3c.dom.Element&nbsp;metadataTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a MetaData object from a 
+ &lt;metadata&gt;&lt;/metadata&gt; element by setting its members fields 
+ using info extracted from the element.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>Name attribute of a &lt;metadata&gt;
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="value"><!-- --></A><H3>
+value</H3>
+<PRE>
+public final java.lang.String <B>value</B></PRE>
+<DL>
+<DD>Value attribute of a &lt;metadata&gt; - this may or may not be there
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="bodyText"><!-- --></A><H3>
+bodyText</H3>
+<PRE>
+public final java.lang.String <B>bodyText</B></PRE>
+<DL>
+<DD>Text node content of a &lt;metadata&gt; - the textnode may be empty, in
+ which case this will be set to ""
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MetaData(org.w3c.dom.Element)"><!-- --></A><H3>
+MetaData</H3>
+<PRE>
+public <B>MetaData</B>(org.w3c.dom.Element&nbsp;metadataTag)</PRE>
+<DL>
+<DD>Constructor that creates a MetaData object from a 
+ &lt;metadata&gt;&lt;/metadata&gt; element by setting its members fields 
+ using info extracted from the element.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>metadataTag</CODE> - is the &lt;metadata&gt; element whose data is used
+ to construct this MetaData object</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this Metadata object. Useful when adding MetaData
+ objects to a JList or JCombobox</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the contents of this MetaData object. 
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/MetaData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="MetaData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/NodeData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/NodeData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/NodeData.html	(revision 15317)
@@ -0,0 +1,540 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+NodeData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.NodeData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NodeData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/NodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="NodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class NodeData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.NodeData</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A>, <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>NodeData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Abstract superclass NodeData can represent either a the information in
+ a &lt;classifierNode&gt; (stored in a ClassifierNodeData object) or in a
+ &lt;documentNode&gt; (stored in a DocumentNodeData object).
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#hasChildren">hasChildren</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Since we are setting the descendents lazily (only setting the children
+ each time), we have a little flag to indicate whether this node has
+ any children.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeID">nodeID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The unique nodeID identifying this documentNode or classificationNode</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeMetadata">nodeMetadata</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map of the metadata (name, value) pairs of this document- 
+ or classifier-node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#nodeTag">nodeTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stores this NodeData's tag element: can be either 
+ &lt;documentNode&gt; or &lt;classifierNode&gt;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#NodeData(org.w3c.dom.Element)">NodeData</A></B>(org.w3c.dom.Element&nbsp;nodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that extracts the nodeID value from the given nodeTag:
+ &lt;classifierNode nodeID = "x" /&gt; 
+ or &lt;documentNode nodeID = "x" /&gt;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getChildren()">getChildren</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getMetadataList()">getMetadataList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#getTitle()">getTitle</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setChildren(java.util.Vector, java.util.Map)">setChildren</A></B>(java.util.Vector&nbsp;v,
+            java.util.Map&nbsp;idsToNodes_map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when setting descendents lazily: only the children of this
+ node are set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#setMetadataList(org.w3c.dom.Element)">setMetadataList</A></B>(org.w3c.dom.Element&nbsp;nodeTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets member metadataList if there is a &lt;metadataList&gt; subelement in
+ docNodeTag: first get the &lt;metadataList&gt; then its &lt;metadata&gt; 
+ children</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#showMeta()">showMeta</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="nodeID"><!-- --></A><H3>
+nodeID</H3>
+<PRE>
+public final java.lang.String <B>nodeID</B></PRE>
+<DL>
+<DD>The unique nodeID identifying this documentNode or classificationNode
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="hasChildren"><!-- --></A><H3>
+hasChildren</H3>
+<PRE>
+public final boolean <B>hasChildren</B></PRE>
+<DL>
+<DD>Since we are setting the descendents lazily (only setting the children
+ each time), we have a little flag to indicate whether this node has
+ any children.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nodeTag"><!-- --></A><H3>
+nodeTag</H3>
+<PRE>
+protected final org.w3c.dom.Element <B>nodeTag</B></PRE>
+<DL>
+<DD>stores this NodeData's tag element: can be either 
+ &lt;documentNode&gt; or &lt;classifierNode&gt;
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="nodeMetadata"><!-- --></A><H3>
+nodeMetadata</H3>
+<PRE>
+protected java.util.Map <B>nodeMetadata</B></PRE>
+<DL>
+<DD>Map of the metadata (name, value) pairs of this document- 
+ or classifier-node
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="NodeData(org.w3c.dom.Element)"><!-- --></A><H3>
+NodeData</H3>
+<PRE>
+public <B>NodeData</B>(org.w3c.dom.Element&nbsp;nodeTag)</PRE>
+<DL>
+<DD>Constructor that extracts the nodeID value from the given nodeTag:
+ &lt;classifierNode nodeID = "x" /&gt; 
+ or &lt;documentNode nodeID = "x" /&gt;
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getChildren()"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+public abstract <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A>[] <B>getChildren</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the children of this NodeData, however such a
+ structure may be stored internally by a NodeData subclass.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMetadataList(org.w3c.dom.Element)"><!-- --></A><H3>
+setMetadataList</H3>
+<PRE>
+public void <B>setMetadataList</B>(org.w3c.dom.Element&nbsp;nodeTag)</PRE>
+<DL>
+<DD>Sets member metadataList if there is a &lt;metadataList&gt; subelement in
+ docNodeTag: first get the &lt;metadataList&gt; then its &lt;metadata&gt; 
+ children
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeTag</CODE> - is a documentNode or classifierNode XML Element that
+ contains metadata information which is used to set this NodeData object's
+ metadata (if there are any, the HashMap nodeMetadata will be set).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setChildren(java.util.Vector, java.util.Map)"><!-- --></A><H3>
+setChildren</H3>
+<PRE>
+protected void <B>setChildren</B>(java.util.Vector&nbsp;v,
+                           java.util.Map&nbsp;idsToNodes_map)</PRE>
+<DL>
+<DD>Called when setting descendents lazily: only the children of this
+ node are set. We don't care to setDescendents now, will set it later
+ when necessary.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>v</CODE> - is an empty/non-null Vector which will, at method's end, contain  
+ all the Document- or ClassifierNodeData objects that are children of
+ this NodeData object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetadataList()"><!-- --></A><H3>
+getMetadataList</H3>
+<PRE>
+public java.util.Map <B>getMetadataList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a hashmap of this document's metadata (name, val) pairs.
+ A null is returned if the nodeMetadata has not been set yet.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitle()"><!-- --></A><H3>
+getTitle</H3>
+<PRE>
+public java.lang.String <B>getTitle</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the title of this docNodeData object, if any is set. If it's 
+ not been set yet (title metadata not yet set, a null is returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the title of this docNodeData object, if any.
+ Otherwise the nodeID is returned.
+ This method is useful for displaying this docNodeData object as a 
+ node in a JTree. Some meaningful displayable value is returned, 
+ unlike getTitle() which returns a null if title is not set yet.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the details contained in this NodeData object.
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="showMeta()"><!-- --></A><H3>
+showMeta</H3>
+<PRE>
+public java.lang.String <B>showMeta</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of the contains of the 
+ nodeMetadata list (useful for debugging purposes).</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/NodeData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="NodeData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/Pair.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/Pair.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/Pair.html	(revision 15317)
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+Pair
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.Pair class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Pair";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/Pair.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Pair.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class Pair</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.Pair</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Pair</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Pair is a simple utility class to represent two associated String values.
+ For instance, a Metadata (name, value) pair to be displayed in either  
+ SearchResultsDisplay or BrowseDisplay's metanames and metavalues
+ JLists. (These two classes can be found in org.greenstone.gs3client.)
+ A Comparator--like the one provided by org.greenstone.gs3client.Displays' 
+ inner class MetadataComparator--is necessary to ensure that the "natural  
+ ordering" of any List of metadata Pairs will be as required. This class
+ does not implement Comparable so that it may be used for other purposes
+ than storing ordered Metadata pairs, which is why using an external
+ Comparator to provide the sorting facility is more useful.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html#first">first</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first item of the Pair</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html#second">second</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;second item of the Pair</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html#Pair(java.lang.String, java.lang.String)">Pair</A></B>(java.lang.String&nbsp;a,
+     java.lang.String&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a Pair from two String values.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html#getFirst(java.util.Vector)">getFirst</A></B>(java.util.Vector&nbsp;pairs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a Vector of Pairs, returns an array of all the first
+ values of each Pair.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html#getSecond(java.util.Vector)">getSecond</A></B>(java.util.Vector&nbsp;pairs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a Vector of Pairs, returns an array of all the second
+ values of each Pair.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="first"><!-- --></A><H3>
+first</H3>
+<PRE>
+public final java.lang.String <B>first</B></PRE>
+<DL>
+<DD>first item of the Pair
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="second"><!-- --></A><H3>
+second</H3>
+<PRE>
+public final java.lang.String <B>second</B></PRE>
+<DL>
+<DD>second item of the Pair
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Pair(java.lang.String, java.lang.String)"><!-- --></A><H3>
+Pair</H3>
+<PRE>
+public <B>Pair</B>(java.lang.String&nbsp;a,
+            java.lang.String&nbsp;b)</PRE>
+<DL>
+<DD>Constructor that creates a Pair from two String values.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>a</CODE> - - the value for the first item of the Pair<DD><CODE>b</CODE> - - the value for the second item of the Pair.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getFirst(java.util.Vector)"><!-- --></A><H3>
+getFirst</H3>
+<PRE>
+public static java.lang.String[] <B>getFirst</B>(java.util.Vector&nbsp;pairs)</PRE>
+<DL>
+<DD>Given a Vector of Pairs, returns an array of all the first
+ values of each Pair.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>all the first fields in a Vector of pairs as an array.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSecond(java.util.Vector)"><!-- --></A><H3>
+getSecond</H3>
+<PRE>
+public static java.lang.String[] <B>getSecond</B>(java.util.Vector&nbsp;pairs)</PRE>
+<DL>
+<DD>Given a Vector of Pairs, returns an array of all the second
+ values of each Pair.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>all the second fields in a Vector of pairs as an array.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/Pair.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Pair.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.html	(revision 15317)
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+ParseUtil
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.ParseUtil class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ParseUtil";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ParseUtil.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ParseUtil.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class ParseUtil</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.ParseUtil</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ParseUtil</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Some useful, general response XML message parsing functions 
+        for the JavaClient's data classes.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#ParseUtil()">ParseUtil</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.Vector</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getAllChildElementsCalled(org.w3c.dom.Element, java.lang.String)">getAllChildElementsCalled</A></B>(org.w3c.dom.Element&nbsp;el,
+                          java.lang.String&nbsp;childrenName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getBodyTextValue(org.w3c.dom.Element)">getBodyTextValue</A></B>(org.w3c.dom.Element&nbsp;tag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.HashMap</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getElementValuesForAttr(org.w3c.dom.Element, java.lang.String, java.lang.String)">getElementValuesForAttr</A></B>(org.w3c.dom.Element&nbsp;parentEl,
+                        java.lang.String&nbsp;elName,
+                        java.lang.String&nbsp;attrName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an Element &lt;parentEl&gt;, finds all direct child elements called
+ &lt;elName&gt; that have an attribute named attrName:
+ &lt;elName attrName=value&gt;bodytext&lt;/elName&gt;
+ This is particularly useful for extracting info for those cases where 
+ elName=&lt;displayItem&gt; and where the attrName is "name".</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getFirstChildElementCalled(org.w3c.dom.Element, java.lang.String)">getFirstChildElementCalled</A></B>(org.w3c.dom.Element&nbsp;parent,
+                           java.lang.String&nbsp;childElementName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that returns the first child element of parent whose tagname is 
+        childElementName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getFirstDescElementCalled(org.w3c.dom.Element, java.lang.String)">getFirstDescElementCalled</A></B>(org.w3c.dom.Element&nbsp;parent,
+                          java.lang.String&nbsp;descElementName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that returns the first descendant element of parent whose tagname 
+        is descElementName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.Vector</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html#getListElementsAsArray(org.w3c.dom.Element, java.lang.String, java.lang.String)">getListElementsAsArray</A></B>(org.w3c.dom.Element&nbsp;parent,
+                       java.lang.String&nbsp;listElementName,
+                       java.lang.String&nbsp;childElementName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an xml element ('parent'), it looks through its direct children 
+ to find the &lt;listElementName&gt; tag and extracts each child called
+ &lt;childElementName&gt; element from it.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ParseUtil()"><!-- --></A><H3>
+ParseUtil</H3>
+<PRE>
+public <B>ParseUtil</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getBodyTextValue(org.w3c.dom.Element)"><!-- --></A><H3>
+getBodyTextValue</H3>
+<PRE>
+public static java.lang.String <B>getBodyTextValue</B>(org.w3c.dom.Element&nbsp;tag)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tag</CODE> - is the XML element from which the body text value will 
+ be extracted.
+<DT><B>Returns:</B><DD>the bodyText nested within the tag element, if any. Otherwise, this 
+ method returns empty String.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllChildElementsCalled(org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+getAllChildElementsCalled</H3>
+<PRE>
+public static java.util.Vector <B>getAllChildElementsCalled</B>(org.w3c.dom.Element&nbsp;el,
+                                                         java.lang.String&nbsp;childrenName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>el</CODE> - is the element whose child elements are returned.<DD><CODE>childrenName</CODE> - is the name of the child elements to be extracted and
+ returned.
+<DT><B>Returns:</B><DD>a vector containing all child elements of parent that are 
+ called childrenName. Returns null if there are no such child elements.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getListElementsAsArray(org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getListElementsAsArray</H3>
+<PRE>
+public static java.util.Vector <B>getListElementsAsArray</B>(org.w3c.dom.Element&nbsp;parent,
+                                                      java.lang.String&nbsp;listElementName,
+                                                      java.lang.String&nbsp;childElementName)</PRE>
+<DL>
+<DD>Given an xml element ('parent'), it looks through its direct children 
+ to find the &lt;listElementName&gt; tag and extracts each child called
+ &lt;childElementName&gt; element from it. These are all added into a Vector
+ which is returned.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the XML element from which the specified descendant 
+ elements are identified and returned.<DD><CODE>listElementName</CODE> - is the name of the child element of parent that we
+ are looking for, whose child elements will be returned.
+<DT><B>Returns:</B><DD>a vector of Element items, all children &lt;childelementName&gt; of   
+ the <b>first</b> &lt;listElementName&gt; child of parameter called parent.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChildElementCalled(org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+getFirstChildElementCalled</H3>
+<PRE>
+public static org.w3c.dom.Element <B>getFirstChildElementCalled</B>(org.w3c.dom.Element&nbsp;parent,
+                                                             java.lang.String&nbsp;childElementName)</PRE>
+<DL>
+<DD>Method that returns the first child element of parent whose tagname is 
+        childElementName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the element whose child element (if called 
+        childElementName) is returned.<DD><CODE>childElementName</CODE> - is the name of the child element to look for in
+        parent.
+<DT><B>Returns:</B><DD>the first *child* element of &lt;parent&gt; that is 
+        &lt;childElementName&gt;. Null is returned if there are none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstDescElementCalled(org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+getFirstDescElementCalled</H3>
+<PRE>
+public static org.w3c.dom.Element <B>getFirstDescElementCalled</B>(org.w3c.dom.Element&nbsp;parent,
+                                                            java.lang.String&nbsp;descElementName)</PRE>
+<DL>
+<DD>Method that returns the first descendant element of parent whose tagname 
+        is descElementName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the element whose descendant element (if called 
+        descElementName) is returned.<DD><CODE>descElementName</CODE> - is the name of the descendant element to look for
+        in parent.
+<DT><B>Returns:</B><DD>the first <b>descendant</b> element of &lt;parent&gt; that is 
+        &lt;descElementName&gt;. Null is returned if there are none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementValuesForAttr(org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getElementValuesForAttr</H3>
+<PRE>
+public static java.util.HashMap <B>getElementValuesForAttr</B>(org.w3c.dom.Element&nbsp;parentEl,
+                                                        java.lang.String&nbsp;elName,
+                                                        java.lang.String&nbsp;attrName)</PRE>
+<DL>
+<DD>Given an Element &lt;parentEl&gt;, finds all direct child elements called
+ &lt;elName&gt; that have an attribute named attrName:
+ &lt;elName attrName=value&gt;bodytext&lt;/elName&gt;
+ This is particularly useful for extracting info for those cases where 
+ elName=&lt;displayItem&gt; and where the attrName is "name".
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parentEl</CODE> - is the parent element whose children are searched<DD><CODE>elName</CODE> - is the name to search for among the child elements of parentEl<DD><CODE>attrName</CODE> - is the name of the attribute to look for in the child 
+ element (of parentEl) whose tag name is elName.
+<DT><B>Returns:</B><DD>a Hashmap of all the (value, body) instances found.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ParseUtil.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ParseUtil.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html	(revision 15317)
@@ -0,0 +1,464 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+QueryFormData.QueryFormParam
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.QueryFormData.QueryFormParam class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryFormData.QueryFormParam";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormData.QueryFormParam.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class QueryFormData.QueryFormParam</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.QueryFormData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.QueryFormData.QueryFormParam</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>QueryFormData.QueryFormParam</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></DL>
+</PRE>
+
+<P>
+Static inner class QueryFormParam is a subclass of QueryFormData and 
+        uniquely represents the data that can be contained in any &lt;param&gt; 
+        tag of the xml response that's returned when a describe request is sent to 
+        a Query Service. As such, a QueryFormParam can contain further 
+        QueryFormData (&lt;param&gt; or &lt;option&gt; elements) which are stored 
+        as subElements of this QueryFormParam.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#def">def</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default attribute of &lt;param&gt; tag</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#ignore">ignore</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ignore attribute of &lt;param&gt; tag specifies whether this param 
+ will be ignored at ignore=pos</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#occurs">occurs</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;occurs attribute of &lt;param&gt; tag specifies how often the 
+ widget occurs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#subElements">subElements</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A &lt;param&gt; element in a Query response XML message can contain  
+ children that are &lt;param&gt; or &lt;option&gt;.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#type">type</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type attribute of &lt;param&gt; tag</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#displayItem">displayItem</A>, <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#name">name</A>, <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#OCCURS_ATT">OCCURS_ATT</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#QueryFormData.QueryFormParam(org.w3c.dom.Element)">QueryFormData.QueryFormParam</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that creates a QueryFormParam object from the data 
+ contained in a &lt;param&gt;element of a Query response XML message.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#getSubElements()">getSubElements</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read-only accessor for this QueryFormParam object's subElements</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.QueryFormData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#extractDisplayItem(org.w3c.dom.Element)">extractDisplayItem</A>, <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#toString()">toString</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="type"><!-- --></A><H3>
+type</H3>
+<PRE>
+public final java.lang.String <B>type</B></PRE>
+<DL>
+<DD>type attribute of &lt;param&gt; tag
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="def"><!-- --></A><H3>
+def</H3>
+<PRE>
+public final java.lang.String <B>def</B></PRE>
+<DL>
+<DD>default attribute of &lt;param&gt; tag
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="occurs"><!-- --></A><H3>
+occurs</H3>
+<PRE>
+public final java.lang.String <B>occurs</B></PRE>
+<DL>
+<DD>occurs attribute of &lt;param&gt; tag specifies how often the 
+ widget occurs
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ignore"><!-- --></A><H3>
+ignore</H3>
+<PRE>
+public final java.lang.String <B>ignore</B></PRE>
+<DL>
+<DD>ignore attribute of &lt;param&gt; tag specifies whether this param 
+ will be ignored at ignore=pos
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="subElements"><!-- --></A><H3>
+subElements</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[] <B>subElements</B></PRE>
+<DL>
+<DD>A &lt;param&gt; element in a Query response XML message can contain  
+ children that are &lt;param&gt; or &lt;option&gt;. 
+ subElements therefore stores an array of QueryFormData to represent
+ these. 
+ &lt;param&gt; CAN (need not) contain &lt;options&gt;s and/or more 
+ &lt;param&gt;s. If subElements is null, it obviously has no child 
+ &lt;param&gt;s.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryFormData.QueryFormParam(org.w3c.dom.Element)"><!-- --></A><H3>
+QueryFormData.QueryFormParam</H3>
+<PRE>
+public <B>QueryFormData.QueryFormParam</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Constructor that creates a QueryFormParam object from the data 
+ contained in a &lt;param&gt;element of a Query response XML message.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - is an entire &lt;param&gt;element - the one currently being 
+ processed.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getSubElements()"><!-- --></A><H3>
+getSubElements</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[] <B>getSubElements</B>()</PRE>
+<DL>
+<DD>Read-only accessor for this QueryFormParam object's subElements
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of this QueryFormParam's children QueryFormData objects  
+ (representing options or params). Null is returned if there are none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#show()">show</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a display String of the member values of this QueryFormParam 
+ for debugging purposes</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormData.QueryFormParam.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.gs3client.data.QueryFormData">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.html	(revision 15317)
@@ -0,0 +1,421 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+QueryFormData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.QueryFormData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryFormData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryFormData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class QueryFormData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.QueryFormData</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>QueryFormData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Class QueryFormData represents the &lt;param&gt; and &lt;option&gt; elements 
+        that can appear in a &lt;paramList&gt; tag in the xml response returned by 
+        a describe request sent to *Query* Service (e.g. FieldQuery, TextQuery).Its 
+        subclass QueryFormParam more fully represents the &lt;param&gt; elements, but
+        this class covers the data shared by &lt;param&gt; and &lt;option&gt; elements.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class QueryFormParam is a subclass of QueryFormData and 
+        uniquely represents the data that can be contained in any &lt;param&gt; 
+        tag of the xml response that's returned when a describe request is sent to 
+        a Query Service.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#displayItem">displayItem</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DisplayItem text content of the parameter or option this 
+ QueryFormData represents</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the parameter or option this QueryFormData represents</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#OCCURS_ATT">OCCURS_ATT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant for the "occurs" attribute name</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#QueryFormData(org.w3c.dom.Element)">QueryFormData</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contructor to create a QueryFormData object from &lt;param&gt; 
+ or &lt;option&gt; elements of a Query response XML message.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#extractDisplayItem(org.w3c.dom.Element)">extractDisplayItem</A></B>(org.w3c.dom.Element&nbsp;param)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an element, extracts the text value from the first direct child 
+ element that is a &lt;displayItem&gt; element and returns this.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="OCCURS_ATT"><!-- --></A><H3>
+OCCURS_ATT</H3>
+<PRE>
+public static final java.lang.String <B>OCCURS_ATT</B></PRE>
+<DL>
+<DD>Constant for the "occurs" attribute name
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.gs3client.data.QueryFormData.OCCURS_ATT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DD>Name of the parameter or option this QueryFormData represents
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="displayItem"><!-- --></A><H3>
+displayItem</H3>
+<PRE>
+public final java.lang.String <B>displayItem</B></PRE>
+<DL>
+<DD>DisplayItem text content of the parameter or option this 
+ QueryFormData represents
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryFormData(org.w3c.dom.Element)"><!-- --></A><H3>
+QueryFormData</H3>
+<PRE>
+public <B>QueryFormData</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Contructor to create a QueryFormData object from &lt;param&gt; 
+ or &lt;option&gt; elements of a Query response XML message.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - the &lt;param&gt; or &lt;option&gt; tag for which a
+ QueryFormData object is constructed, from the data the element contains.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="extractDisplayItem(org.w3c.dom.Element)"><!-- --></A><H3>
+extractDisplayItem</H3>
+<PRE>
+protected java.lang.String <B>extractDisplayItem</B>(org.w3c.dom.Element&nbsp;param)</PRE>
+<DL>
+<DD>Given an element, extracts the text value from the first direct child 
+ element that is a &lt;displayItem&gt; element and returns this.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>param</CODE> - the &lt;param&gt; or &lt;option&gt; tag from which the data 
+ is extracted.
+<DT><B>Returns:</B><DD>the text content of the displayItem in the &lt;param&gt; tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this object's displayItem string. This is also what is 
+ displayed when this object is added as a list items into a 
+ JComboBoxes or JList.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a display String of the member values of this QueryFormData 
+ object for debugging purposes</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryFormData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryFormData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.TermData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.TermData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.TermData.html	(revision 15317)
@@ -0,0 +1,470 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+QueryResponseData.TermData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.QueryResponseData.TermData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryResponseData.TermData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryResponseData.TermData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryResponseData.TermData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class QueryResponseData.TermData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.QueryResponseData.TermData</B>
+</PRE>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>QueryResponseData.TermData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Static inner class Term represents a &lt;term&gt; XML element 
+ (these are nested in a &lt;termList&gt;) - see manual p. 45:
+ &lt;term name="str" numDocsMatched="int" freq="int" field="int" stem="int"/&gt;
+          &lt;equivTermList&gt;
+                &lt;term name="str" numDocsMatched="int" freq="int" /&gt;
+      &lt;term name="str" numDocsMatched="int" freq="int" /&gt;
+      ...
+          &lt;/equivTermList&gt;
+ &lt;/term&gt;
+ Can import this class as import gs3client.QueryResponseData.TermData
+ and can then use it just as "TermData" (don't need fully qualified name).
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#equivTermList">equivTermList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The terms nested inside an &lt;equivTermList&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#field">field</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#freq">freq</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#name">name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#numDocsMatch">numDocsMatch</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#stem">stem</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#QueryResponseData.TermData(org.w3c.dom.Element)">QueryResponseData.TermData</A></B>(org.w3c.dom.Element&nbsp;termTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a Term object to represent the &lt;term&gt; element passed
+ in here as an argument.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#getEquivTermList()">getEquivTermList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#setEquivTermList(org.w3c.dom.Element)">setEquivTermList</A></B>(org.w3c.dom.Element&nbsp;termTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses the &lt;equivTermList&gt;...&lt;/equivTermList&gt; tag, 
+ which may cotnain more TermData.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#show()">show</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+public final java.lang.String <B>name</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="numDocsMatch"><!-- --></A><H3>
+numDocsMatch</H3>
+<PRE>
+public final java.lang.String <B>numDocsMatch</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="freq"><!-- --></A><H3>
+freq</H3>
+<PRE>
+public final java.lang.String <B>freq</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="field"><!-- --></A><H3>
+field</H3>
+<PRE>
+public final java.lang.String <B>field</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="stem"><!-- --></A><H3>
+stem</H3>
+<PRE>
+public final java.lang.String <B>stem</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="equivTermList"><!-- --></A><H3>
+equivTermList</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[] <B>equivTermList</B></PRE>
+<DL>
+<DD>The terms nested inside an &lt;equivTermList&gt;
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryResponseData.TermData(org.w3c.dom.Element)"><!-- --></A><H3>
+QueryResponseData.TermData</H3>
+<PRE>
+public <B>QueryResponseData.TermData</B>(org.w3c.dom.Element&nbsp;termTag)</PRE>
+<DL>
+<DD>Constructs a Term object to represent the &lt;term&gt; element passed
+ in here as an argument. Given a &lt;term&gt;&lt;/term&gt; element, it 
+ sets this object's members.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>termTag</CODE> - is a &lt;term&gt;&lt;/term&gt; element</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setEquivTermList(org.w3c.dom.Element)"><!-- --></A><H3>
+setEquivTermList</H3>
+<PRE>
+public void <B>setEquivTermList</B>(org.w3c.dom.Element&nbsp;termTag)</PRE>
+<DL>
+<DD>Uses the &lt;equivTermList&gt;...&lt;/equivTermList&gt; tag, 
+ which may cotnain more TermData.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>termTag</CODE> - is a &lt;term&gt;&lt;/term&gt; element that may
+ contain a &lt;equivTermList&gt;...&lt;/equivTermList&gt; element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEquivTermList()"><!-- --></A><H3>
+getEquivTermList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[] <B>getEquivTermList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>any list of &lt;equivTermList&gt;...&lt;/equivTermList&gt; 
+ TermData maintained by this TermData object. Null if there are none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of this TermData: the name
+ and frequency</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="show()"><!-- --></A><H3>
+show</H3>
+<PRE>
+public java.lang.String <B>show</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String displaying the member contents of this TermData.
+ Useful for debugging purposes.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryResponseData.TermData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryResponseData.TermData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.html	(revision 15317)
@@ -0,0 +1,700 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+QueryResponseData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.QueryResponseData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QueryResponseData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class QueryResponseData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">org.greenstone.gs3client.data.ResponseData</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.QueryResponseData</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>QueryResponseData</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></DL>
+</PRE>
+
+<P>
+Represents the data fields that may be present in a response
+ to a Query-process request. Specifically, this class keeps track of 
+ all the DocumentNodes returned in response to a query request.
+ It inherits Map nodeIDsToNodes of (nodeID, NodeData ref) pairs which
+ maintains the NodeData object refs in order of their insertion into
+ the Map (LinkedHashMap).
+ !!! QueryResponseData will only store DocumentNodeData object refs in
+ the nodeIDsToNodes Map. 
+ An object of this class can be reused after instatiation by calling 
+ setResponseData() with a new query response XML message. This will 
+ first call clear() to clear/release its references to all the old data.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class Term represents a &lt;term&gt; XML element 
+ (these are nested in a &lt;termList&gt;) - see manual p.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.util.HashMap</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#metadataList">metadataList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Metadata of the query's response - not a documentNode's metadata!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#numDocsMatched">numDocsMatched</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#numDocsReturned">numDocsReturned</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#queryField">queryField</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#termList">termList</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.data.ResponseData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#nodeIDsToNodes">nodeIDsToNodes</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#QueryResponseData()">QueryResponseData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets the internal data members of this QueryResponseData object of 
+ their values so that this QueryResponseData can be reused for the
+ next Query response message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getDocNodeForID(java.lang.String)">getDocNodeForID</A></B>(java.lang.String&nbsp;ID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an nodeID, returns the DocumentNodeData object with that nodeID
+ if any.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getDocumentNodeIDs()">getDocumentNodeIDs</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getDocumentNodeList()">getDocumentNodeList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getMetaValueForName(java.lang.String)">getMetaValueForName</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getNumDocsMatched()">getNumDocsMatched</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getNumDocsReturned()">getNumDocsReturned</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getQueryField()">getQueryField</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#getTermList()">getTermList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#setResponseData(org.w3c.dom.Element)">setResponseData</A></B>(org.w3c.dom.Element&nbsp;responseMessageTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the response to a query message (XML with root &lt;message&gt; 
+ or &lt;response&gt; tag), a QueryResponseData object is created 
+ to store all the document Identifiers and document data returned
+ as well as information about the terms that were searched on.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Vector</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#setStructureForDocs(org.w3c.dom.Element)">setStructureForDocs</A></B>(org.w3c.dom.Element&nbsp;messageTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method can be called after a DocumentStructureRetrieve request 
+ (for the entire structure of all/many of its documents) has returned  
+ a response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.data.ResponseData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getIDToNodeMapping()">getIDToNodeMapping</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getNodeForID(java.lang.String)">getNodeForID</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setContentForDocs(org.w3c.dom.Element)">setContentForDocs</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForDocuments(org.w3c.dom.Element)">setMetadataForDocuments</A>, <A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForNodes(org.w3c.dom.Element, java.lang.String)">setMetadataForNodes</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="numDocsMatched"><!-- --></A><H3>
+numDocsMatched</H3>
+<PRE>
+protected java.lang.String <B>numDocsMatched</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="numDocsReturned"><!-- --></A><H3>
+numDocsReturned</H3>
+<PRE>
+protected java.lang.String <B>numDocsReturned</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="queryField"><!-- --></A><H3>
+queryField</H3>
+<PRE>
+protected java.lang.String <B>queryField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="termList"><!-- --></A><H3>
+termList</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[] <B>termList</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="metadataList"><!-- --></A><H3>
+metadataList</H3>
+<PRE>
+protected java.util.HashMap <B>metadataList</B></PRE>
+<DL>
+<DD>Metadata of the query's response - not a documentNode's metadata!
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QueryResponseData()"><!-- --></A><H3>
+QueryResponseData</H3>
+<PRE>
+public <B>QueryResponseData</B>()</PRE>
+<DL>
+<DD>Default constructor
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Resets the internal data members of this QueryResponseData object of 
+ their values so that this QueryResponseData can be reused for the
+ next Query response message.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#clear()">clear</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResponseData(org.w3c.dom.Element)"><!-- --></A><H3>
+setResponseData</H3>
+<PRE>
+public void <B>setResponseData</B>(org.w3c.dom.Element&nbsp;responseMessageTag)</PRE>
+<DL>
+<DD>Given the response to a query message (XML with root &lt;message&gt; 
+ or &lt;response&gt; tag), a QueryResponseData object is created 
+ to store all the document Identifiers and document data returned
+ as well as information about the terms that were searched on.
+ Furthermore, metadata such as the number of Docs that matched and 
+ were returned (if any such are present in the response-message) 
+ are also stored.
+ It first performs a clear to empty its data members and then fills
+ them with the new Query response message's data.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setResponseData(org.w3c.dom.Element)">setResponseData</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>responseMessageTag</CODE> - is the XML DOM Element representing a query 
+ response XML message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNumDocsMatched()"><!-- --></A><H3>
+getNumDocsMatched</H3>
+<PRE>
+public java.lang.String <B>getNumDocsMatched</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of matching documents for the query information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNumDocsReturned()"><!-- --></A><H3>
+getNumDocsReturned</H3>
+<PRE>
+public java.lang.String <B>getNumDocsReturned</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of documents returned for the query information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQueryField()"><!-- --></A><H3>
+getQueryField</H3>
+<PRE>
+public java.lang.String <B>getQueryField</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the query field information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTermList()"><!-- --></A><H3>
+getTermList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A>[] <B>getTermList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of termData (search terms along with frequency
+ information, etc.)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocNodeForID(java.lang.String)"><!-- --></A><H3>
+getDocNodeForID</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A> <B>getDocNodeForID</B>(java.lang.String&nbsp;ID)</PRE>
+<DL>
+<DD>Given an nodeID, returns the DocumentNodeData object with that nodeID
+ if any. Otherwise, null is returned. 
+ Superclass has method getNodeForID that returns NodeData instead.
+ This is just a convenience method.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ID</CODE> - is the nodeID of the DocumentNodeData to be returned.
+<DT><B>Returns:</B><DD>the DocumentNodeData object for the given ID or null if not
+ present.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentNodeList()"><!-- --></A><H3>
+getDocumentNodeList</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>[] <B>getDocumentNodeList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the DocumentNodeData objects of the documents
+ returned by the executed Query Response and stored in this 
+ QueryResponseData object. I.e. the documentNodes of the documents in
+ the search results.
+ In cases of an error (such as not being able to connect to a collection  
+ like Infomine) this method may return an empty array (length = 0)  
+ if docIDsToDocNodes is empty!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentNodeIDs()"><!-- --></A><H3>
+getDocumentNodeIDs</H3>
+<PRE>
+public java.lang.String[] <B>getDocumentNodeIDs</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the IDs of the list of documentNodes maintained
+ by this QueryResponseData object (the documentNodes of the documents' 
+ in the search results). 
+ In cases of an error (such as not being able to connect to collection 
+ such as Infomine) this method may return an empty array (length = 0) 
+ if docIDsToDocNodes is empty!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetaValueForName(java.lang.String)"><!-- --></A><H3>
+getMetaValueForName</H3>
+<PRE>
+public java.lang.String <B>getMetaValueForName</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>metadata of the query's response. This includes values such  
+ as numDocsMatched, numDocsReturned, query. This does not return any 
+ document's metadata!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStructureForDocs(org.w3c.dom.Element)"><!-- --></A><H3>
+setStructureForDocs</H3>
+<PRE>
+public java.util.Vector <B>setStructureForDocs</B>(org.w3c.dom.Element&nbsp;messageTag)</PRE>
+<DL>
+<DD>This method can be called after a DocumentStructureRetrieve request 
+ (for the entire structure of all/many of its documents) has returned  
+ a response. Given the response message (XML) element, this method 
+ attempts to set the document structure for all the documentNodeData
+ objects it has, using the nodeStructure tags in the 
+ response-message-XML. But only those documentNodeData whose nodeIDs  
+ are mentioned in the response-message-XML are actually set!
+ This method returns a null vector if the responseMessage XMl does not 
+ contain any &lt;documentNodeList&gt; element with &lt;documentNode&gt;s 
+ each with &lt;nodeStructure&gt; children. 
+ Otherwise it returns a Vector of all the rootNodes of the list of
+ docNodes that this QueryResponseData object maintains.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>some summary info on how the search went. This may include
+ how many documents matched the query, and how many of them have been
+ returned. With mult-term queries, the frequencies of each separate 
+ term is also returned for display.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/QueryResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QueryResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.html	(revision 15317)
@@ -0,0 +1,478 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+ResponseData
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data.ResponseData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ResponseData";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.data</FONT>
+<BR>
+Class ResponseData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.data.ResponseData</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A>, <A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>ResponseData</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Represents the data in a response XML message that is returned as
+ either a Browse or Query (Search) request.
+ Subclasses therefore are BrowseResponseData and QueryResponseData. 
+ This class maintains a Map of (nodeID, NodeData ref) pairs
+ representing the resulting &lt;classifierNode&gt;s and &lt;documentNode&gt;s
+ that can be returned when executing a SINGLE browse or query request.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#nodeIDsToNodes">nodeIDsToNodes</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map of (nodeIDs, references to associated NodeData) pairs, 
+ stored in the order they are contained in the response XML messages 
+ (the order in which data objects are parsed and created for them)</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#ResponseData()">ResponseData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor, creates the nodeIDsToNodes map</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears/resets this ResponseData object of all data, so that it can be  
+ reused to process future Browse and Query requests.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getIDToNodeMapping()">getIDToNodeMapping</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#getNodeForID(java.lang.String)">getNodeForID</A></B>(java.lang.String&nbsp;ID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an nodeID, returns the NodeData object with that nodeID,
+ if any.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setContentForDocs(org.w3c.dom.Element)">setContentForDocs</A></B>(org.w3c.dom.Element&nbsp;messageTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After a DocumentContentRetrieve request for one or more documents 
+ has returned a response, this method - when given the response XML - 
+ will set the nodeContents of each document in the response (as long
+ as those documents already have an associated DocumentNodeData
+ object instantiated, which should/would always be the case).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForDocuments(org.w3c.dom.Element)">setMetadataForDocuments</A></B>(org.w3c.dom.Element&nbsp;messageTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method sets the metadata for one or even all &lt;documentNode&gt; 
+ data objects contained in the Map nodeIDsToNodes, using the &lt;message&gt; 
+ element parameter (which is returned upon a documentMetadataRetrieve 
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setMetadataForNodes(org.w3c.dom.Element, java.lang.String)">setMetadataForNodes</A></B>(org.w3c.dom.Element&nbsp;messageTag,
+                    java.lang.String&nbsp;NODE_ELEM)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method can be called after a DocumentMetadataRetrieve request 
+ has returned a response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html#setResponseData(org.w3c.dom.Element)">setResponseData</A></B>(org.w3c.dom.Element&nbsp;responseMsgTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclasses must implement this method to parse the 
+ &lt;message&gt;&lt;response&gt;&lt;/response&gt;&lt;/message&gt;
+ that is returned upon executing a browse or query request.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="nodeIDsToNodes"><!-- --></A><H3>
+nodeIDsToNodes</H3>
+<PRE>
+protected java.util.Map <B>nodeIDsToNodes</B></PRE>
+<DL>
+<DD>map of (nodeIDs, references to associated NodeData) pairs, 
+ stored in the order they are contained in the response XML messages 
+ (the order in which data objects are parsed and created for them)
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResponseData()"><!-- --></A><H3>
+ResponseData</H3>
+<PRE>
+public <B>ResponseData</B>()</PRE>
+<DL>
+<DD>Default constructor, creates the nodeIDsToNodes map
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setResponseData(org.w3c.dom.Element)"><!-- --></A><H3>
+setResponseData</H3>
+<PRE>
+public abstract void <B>setResponseData</B>(org.w3c.dom.Element&nbsp;responseMsgTag)</PRE>
+<DL>
+<DD>Subclasses must implement this method to parse the 
+ &lt;message&gt;&lt;response&gt;&lt;/response&gt;&lt;/message&gt;
+ that is returned upon executing a browse or query request.
+ At the end of this method, the Map nodeIDsToNodes will contain
+ any DocumentNodeData or ClassifierNodeData objects described
+ in the responseMsgTag.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>responseMsgTag</CODE> - the XMl response message Element whose data will
+ be parsed and stored in the ResponseData subclass</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Clears/resets this ResponseData object of all data, so that it can be  
+ reused to process future Browse and Query requests. In this case, it 
+ merely clears the internal Map nodeIDsToNodes. Subclasses may need to 
+ clear other variables.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIDToNodeMapping()"><!-- --></A><H3>
+getIDToNodeMapping</H3>
+<PRE>
+public java.util.Map <B>getIDToNodeMapping</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Map of mappings from nodeIDs to NodeData object references</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeForID(java.lang.String)"><!-- --></A><H3>
+getNodeForID</H3>
+<PRE>
+public <A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A> <B>getNodeForID</B>(java.lang.String&nbsp;ID)</PRE>
+<DL>
+<DD>Given an nodeID, returns the NodeData object with that nodeID,
+ if any. Otherwise, null is returned. Subclass might want to add
+ a different method that converts this to DocumentNodeData type.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ID</CODE> - is the nodeID whose NodeData object is requested</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentForDocs(org.w3c.dom.Element)"><!-- --></A><H3>
+setContentForDocs</H3>
+<PRE>
+public void <B>setContentForDocs</B>(org.w3c.dom.Element&nbsp;messageTag)</PRE>
+<DL>
+<DD>After a DocumentContentRetrieve request for one or more documents 
+ has returned a response, this method - when given the response XML - 
+ will set the nodeContents of each document in the response (as long
+ as those documents already have an associated DocumentNodeData
+ object instantiated, which should/would always be the case).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>messageTag</CODE> - is the DocumentContentRetrieve XML response message 
+ containing the document contents for one or more documentNodes</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMetadataForNodes(org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+setMetadataForNodes</H3>
+<PRE>
+protected boolean <B>setMetadataForNodes</B>(org.w3c.dom.Element&nbsp;messageTag,
+                                      java.lang.String&nbsp;NODE_ELEM)</PRE>
+<DL>
+<DD>This method can be called after a DocumentMetadataRetrieve request 
+ has returned a response. Given the response message (XML) element,
+ this method attempts to set the metadata for all the documentNodeData
+ objects it has, using the metadata tags in the response-message-XML. 
+ This method returns false if the responseMessage XMl does not contain
+ any &lt;documentNodeList&gt; elements.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>NODE_ELEM</CODE> - can be either GSXML defined constant for 
+ &lt;ClassifierNode&gt; or &lt;DocumentNode&gt;<DD><CODE>messageTag</CODE> - is the DocumentMetadataRetrieve XML response message 
+ containing the metadata for one or more documentNodes/classifierNodes
+ as specified by NODE_ELEM</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMetadataForDocuments(org.w3c.dom.Element)"><!-- --></A><H3>
+setMetadataForDocuments</H3>
+<PRE>
+public boolean <B>setMetadataForDocuments</B>(org.w3c.dom.Element&nbsp;messageTag)</PRE>
+<DL>
+<DD>This method sets the metadata for one or even all &lt;documentNode&gt; 
+ data objects contained in the Map nodeIDsToNodes, using the &lt;message&gt; 
+ element parameter (which is returned upon a documentMetadataRetrieve 
+ request. Metadata for &lt;classifierNodes&gt; are not set with this method. 
+ It merely calls the setMetadataForDocuments(messageTag, tagName) 
+ method to parse out data for the tagName=&lt;documentNode&gt;.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>messageTag</CODE> - is the DocumentMetadataRetrieve XML response message 
+ containing the metadata for one or more documentNodes</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/ResponseData.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ResponseData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-frame.html	(revision 15317)
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.data
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../org/greenstone/gs3client/data/package-summary.html" target="classFrame">org.greenstone.gs3client.data</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BrowseResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">BrowseResponseData</A>
+<BR>
+<A HREF="ClassifierNodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">ClassifierNodeData</A>
+<BR>
+<A HREF="CollectionData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData</A>
+<BR>
+<A HREF="CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.MetaData</A>
+<BR>
+<A HREF="CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.PluginData</A>
+<BR>
+<A HREF="CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data" target="classFrame">CollectionData.ServiceData</A>
+<BR>
+<A HREF="DocumentNodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">DocumentNodeData</A>
+<BR>
+<A HREF="MetaData.html" title="class in org.greenstone.gs3client.data" target="classFrame">MetaData</A>
+<BR>
+<A HREF="NodeData.html" title="class in org.greenstone.gs3client.data" target="classFrame">NodeData</A>
+<BR>
+<A HREF="Pair.html" title="class in org.greenstone.gs3client.data" target="classFrame">Pair</A>
+<BR>
+<A HREF="ParseUtil.html" title="class in org.greenstone.gs3client.data" target="classFrame">ParseUtil</A>
+<BR>
+<A HREF="QueryFormData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryFormData</A>
+<BR>
+<A HREF="QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryFormData.QueryFormParam</A>
+<BR>
+<A HREF="QueryResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryResponseData</A>
+<BR>
+<A HREF="QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data" target="classFrame">QueryResponseData.TermData</A>
+<BR>
+<A HREF="ResponseData.html" title="class in org.greenstone.gs3client.data" target="classFrame">ResponseData</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-summary.html	(revision 15317)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.data
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.data package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client.data";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.greenstone.gs3client.data
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A></B></TD>
+<TD>Stores the data contained in an XML response message to a request for 
+ the classification Browse structure.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data">ClassifierNodeData</A></B></TD>
+<TD>ClassifierNodeData represents the information that can be stored in a   
+ &lt;classifierNode&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data">CollectionData</A></B></TD>
+<TD>CollectionData represents a Greenstone 3 collection and contains the data
+ stored in a &lt;collection&gt;&lt;/collection&gt; element returned from a   
+ MessageRouter's desribe response XML and a Collection describe response XML.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data">CollectionData.MetaData</A></B></TD>
+<TD>Static inner class MetaData: can import it into other files as
+ "import gs3client.CollectionData.MetaData;"
+ In this way, can use it as if it were a regular class (a.o.t.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data">CollectionData.PluginData</A></B></TD>
+<TD>PluginData inner class of CollectionData, represents the data stored in 
+ a &lt;plugin&gt;&lt;/plugin&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data">CollectionData.ServiceData</A></B></TD>
+<TD>Only the name and type of a &lt;service&gt;&lt;/service&gt; element is 
+ stored, since this is all the service data available inside a collection's
+ response message to a describe request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A></B></TD>
+<TD>Represents the data stored in the &lt;documentNode&gt; Elements
+ of Greenstone 3's XML response messages.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data">MetaData</A></B></TD>
+<TD>Stores the name, value and value of body textnode of a simple &lt;metadata&gt;
+ element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data">NodeData</A></B></TD>
+<TD>Abstract superclass NodeData can represent either a the information in
+ a &lt;classifierNode&gt; (stored in a ClassifierNodeData object) or in a
+ &lt;documentNode&gt; (stored in a DocumentNodeData object).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data">Pair</A></B></TD>
+<TD>Pair is a simple utility class to represent two associated String values.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data">ParseUtil</A></B></TD>
+<TD>Some useful, general response XML message parsing functions 
+        for the JavaClient's data classes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A></B></TD>
+<TD>Class QueryFormData represents the &lt;param&gt; and &lt;option&gt; elements 
+        that can appear in a &lt;paramList&gt; tag in the xml response returned by 
+        a describe request sent to *Query* Service (e.g.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data">QueryFormData.QueryFormParam</A></B></TD>
+<TD>Static inner class QueryFormParam is a subclass of QueryFormData and 
+        uniquely represents the data that can be contained in any &lt;param&gt; 
+        tag of the xml response that's returned when a describe request is sent to 
+        a Query Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A></B></TD>
+<TD>Represents the data fields that may be present in a response
+ to a Query-process request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data">QueryResponseData.TermData</A></B></TD>
+<TD>Static inner class Term represents a &lt;term&gt; XML element 
+ (these are nested in a &lt;termList&gt;) - see manual p.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data">ResponseData</A></B></TD>
+<TD>Represents the data in a response XML message that is returned as
+ either a Browse or Query (Search) request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/data/package-tree.html	(revision 15317)
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.data Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client.data Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.greenstone.gs3client.data
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.PluginData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.ServiceData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>MetaData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.MetaData</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>NodeData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>ClassifierNodeData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>DocumentNodeData</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>Pair</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>ParseUtil</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData.QueryFormParam</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData.TermData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data"><B>ResponseData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data"><B>BrowseResponseData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../../org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/data/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html	(revision 15317)
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:13 NZST 2008 -->
+<TITLE>
+DigitalLibraryServicesAPIA.CancelException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA.CancelException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DigitalLibraryServicesAPIA.CancelException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DigitalLibraryServicesAPIA.CancelException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.dlservices</FONT>
+<BR>
+Class DigitalLibraryServicesAPIA.CancelException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA.CancelException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing interface:</B><DD><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>DigitalLibraryServicesAPIA.CancelException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+If there's a dialog, then the CancelException can be used to indicate
+ that the user cancelled out of it rather than having seen it through.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA.CancelException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException()">DigitalLibraryServicesAPIA.CancelException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.String)">DigitalLibraryServicesAPIA.CancelException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.String, java.lang.Throwable)">DigitalLibraryServicesAPIA.CancelException</A></B>(java.lang.String&nbsp;message,
+                                           java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html#DigitalLibraryServicesAPIA.CancelException(java.lang.Throwable)">DigitalLibraryServicesAPIA.CancelException</A></B>(java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DigitalLibraryServicesAPIA.CancelException()"><!-- --></A><H3>
+DigitalLibraryServicesAPIA.CancelException</H3>
+<PRE>
+public <B>DigitalLibraryServicesAPIA.CancelException</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DigitalLibraryServicesAPIA.CancelException(java.lang.String)"><!-- --></A><H3>
+DigitalLibraryServicesAPIA.CancelException</H3>
+<PRE>
+public <B>DigitalLibraryServicesAPIA.CancelException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DigitalLibraryServicesAPIA.CancelException(java.lang.Throwable)"><!-- --></A><H3>
+DigitalLibraryServicesAPIA.CancelException</H3>
+<PRE>
+public <B>DigitalLibraryServicesAPIA.CancelException</B>(java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DigitalLibraryServicesAPIA.CancelException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+DigitalLibraryServicesAPIA.CancelException</H3>
+<PRE>
+public <B>DigitalLibraryServicesAPIA.CancelException</B>(java.lang.String&nbsp;message,
+                                                  java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DigitalLibraryServicesAPIA.CancelException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html	(revision 15317)
@@ -0,0 +1,804 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:13 NZST 2008 -->
+<TITLE>
+DigitalLibraryServicesAPIA
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DigitalLibraryServicesAPIA";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DigitalLibraryServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.dlservices</FONT>
+<BR>
+Interface DigitalLibraryServicesAPIA</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>DigitalLibraryServicesAPIA</B></DL>
+</PRE>
+
+<P>
+Interface that defines the digital library methods that need to be
+ provided by a digital library that's going to be incorporated into the 
+ Greenstone Java-Client, so that the client may be able to use/access 
+ its functionality. 
+ 
+ Note that the Strings returned by all defined methods -- with the exception  
+ of getLanguage() -- represent Greenstone3 XML response messages, as defined 
+ in the Greenstone3 manual. 
+ These methods do not throw exceptions, but rather embed any error information
+ in the XML Strings returned, as is done in Greenstone3 XML response 
+ messages. 
+ 
+ The final 'A' of DigitalLibraryServicesAPIA stands for Access, as the  
+ methods defined here are to give access to a digital library's repository.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If there's a dialog, then the CancelException can be used to indicate
+ that the user cancelled out of it rather than having seen it through.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.io.File</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#propertiesFile">propertiesFile</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The properties file containing the initial digital library connection
+ settings which get displayed in the connection dialog fields</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describe()">describe</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollection(java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collection)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeService(java.lang.String)">describeService</A></B>(java.lang.String&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)">getAssocFileBaseURL</A></B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getDisplayName()">getDisplayName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getLanguage()">getLanguage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the language that's set as the preferred language.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.util.Map&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;service,
+                       java.lang.String[]&nbsp;nodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)">retrieveBrowseStructure</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;service,
+                        java.lang.String&nbsp;classifierID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;language)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the preferred language (code) for metadata and other content to be
+ returned on request messages.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="propertiesFile"><!-- --></A><H3>
+propertiesFile</H3>
+<PRE>
+static final java.io.File <B>propertiesFile</B></PRE>
+<DL>
+<DD>The properties file containing the initial digital library connection
+ settings which get displayed in the connection dialog fields
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getDisplayName()"><!-- --></A><H3>
+getDisplayName</H3>
+<PRE>
+java.lang.String <B>getDisplayName</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this digital library for displaying in the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL()"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+java.lang.String <B>getAssocFileBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the overall directory path for associated files (not including
+ the document's nodeID/pid). This can be used to formulate the base url of 
+ JEditorPane's HTML documents. If the documents from any digital library 
+ do not contain relative paths, or otherwise deal with the resolution of
+ relative urls themselves, then return "" from here.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+java.lang.String <B>getAssocFileBaseURL</B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the directory path to the associated files of the given document 
+ node. For instance, the base url of a JEditorPane's HTML documents can be 
+ set to this.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
+setLanguage</H3>
+<PRE>
+void <B>setLanguage</B>(java.lang.String&nbsp;language)</PRE>
+<DL>
+<DD>Sets the preferred language (code) for metadata and other content to be
+ returned on request messages. If the preferred language is not available,
+ the implementation may choose to send English back instead, or failing
+ that, send the data in any other available language.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>language</CODE> - has to be a language code as recognised by Greenstone3
+ (the language codes used by W3C probably). E.g. "en" for English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLanguage()"><!-- --></A><H3>
+getLanguage</H3>
+<PRE>
+java.lang.String <B>getLanguage</B>()</PRE>
+<DL>
+<DD>Gets the language that's set as the preferred language.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the language code as recognised by Greenstone3 (which are the 
+ language codes used by W3C probably). E.g. "en" for English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describe()"><!-- --></A><H3>
+describe</H3>
+<PRE>
+java.lang.String <B>describe</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message with information
+ about collections contained and services (and any serviceRacks) supported
+ by the Digital library.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collection)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection to be described
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ collection, describing the collection (display items) as well as
+ listing any services supported specifically by the collection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collection,
+                                           java.lang.String&nbsp;service)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection to be described<DD><CODE>service</CODE> - is the name of the collection's service to be described
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ collection's service, describing the service (display items).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+java.lang.String <B>describeService</B>(java.lang.String&nbsp;service)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the name of the collection's service to be described
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ general (non-collection specific) service, describing the requested 
+ service (for example with GS3 display items).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose  
+ metadata is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of all the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose metadata is 
+ requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                       java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose titles 
+ are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the documents denoted by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                       java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose titles is 
+ requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                         java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose (text)
+ contents are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                         java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose (text)
+ content is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the document indicated by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                           java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML
+ containing the document structure of the documents indicated by docIDs: 
+ this means all their descendents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                           java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing the document structure of the document indicated by docID: 
+ this means all its descendents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the documents denoted by 
+ docs where only the requested documents and their direct children are  
+ returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is an document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the document denoted by 
+ docID where only the document and its direct children are returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveBrowseStructure</H3>
+<PRE>
+java.lang.String <B>retrieveBrowseStructure</B>(java.lang.String&nbsp;collection,
+                                         java.lang.String&nbsp;service,
+                                         java.lang.String&nbsp;classifierID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifierID</CODE> - is of the form CL# where the number (#) marks
+ out structured sections like CL1.1.3 or CL2<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the browse service (=ClassifierBrowse usually)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 ClassifierBrowse XML 
+ giving the entire *structure* of the classification denoted by 
+ classifierID (including the structures of document descendents of 
+ the classifier).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveBrowseMetadata</H3>
+<PRE>
+java.lang.String <B>retrieveBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                        java.lang.String&nbsp;service,
+                                        java.lang.String[]&nbsp;nodeIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeIDs</CODE> - is of the form CL#.# where the number (#) marks
+ out structured sections like CL2.1.3. NodeIDs are generally subsections
+ of top-level classifierNodes (CL#, e.g. CL3).<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the Browse's MetadataRetrieve service 
+ (usually the browse service is ClassifierBrowse, in which case it always
+ has a retrieve service called ClassifierBrowseMetadataRetrieve)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 
+ ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+ all the subclassifiers denoted by nodeIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;service,
+                       java.util.Map&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - is a Map of name and value pairs for all the
+ query field data values. The names match the field names that
+ describeCollectionService() would have returned for the query service.<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the query service
+ This method is only ever called when any of the services in the digital 
+ library described themselves as type=query. Therefore any digital
+ libraries that have no query services, can just return emtpy message 
+ strings (or even "") since this method will never be called on them 
+ anyway.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 XML for a query process
+ response returning the results for the query denoted by parameter
+ nameValParamsMap.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DigitalLibraryServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html	(revision 15317)
@@ -0,0 +1,809 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:13 NZST 2008 -->
+<TITLE>
+FedoraServicesAPIA
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices.FedoraServicesAPIA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraServicesAPIA";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Connection">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.dlservices</FONT>
+<BR>
+Class FedoraServicesAPIA</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.greenstone.fedora.services.FedoraConnection
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">org.greenstone.fedora.services.FedoraGS3Connection
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.dlservices.FedoraServicesAPIA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>org.greenstone.fedora.services.FedoraGS3DL, org.greenstone.fedora.services.FedoraToGS3Interface, org.greenstone.fedora.services.FedoraToGS3Interface.Constants, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>FedoraServicesAPIA</B><DT>extends org.greenstone.fedora.services.FedoraGS3Connection<DT>implements <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></DL>
+</PRE>
+
+<P>
+FedoraServicesAPIA implements DigitalLibraryServicesAPIA for enabling the 
+ Java-client to access a Fedora repository of Greenstone digital objects. 
+ This is made possible by its use of the FedoraGS3.jar file's functionality, 
+ as made available through the FedoraGS3Connection class.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<A NAME="nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraToGS3Interface"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.greenstone.fedora.services.FedoraToGS3Interface</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>org.greenstone.fedora.services.FedoraToGS3Interface.Constants</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Connection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.fedora.services.FedoraGS3Connection</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>CHILDREN, DESCENDANTS, fedoraGSearch, gSearchWSDLSuffix, gSearchWSDLURL, serviceNames, SERVICES</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraConnection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.fedora.services.FedoraConnection</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>APIA, baseURL, builder, defaultPortAddressSuffix, fedoraVersion, GET, INTERNAL_NODE, lang, maxresults, portAddressSuffix, SUPPORTED_VERSION, TYPE</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#propertiesFile">propertiesFile</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraToGS3Interface.Constants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.FedoraToGS3Interface.Constants</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>ALL_FIELDS, ALL_TITLES, ASSOCFILEPREFIX, COMMA, DOC_TITLES, FIELDNAME_ATT, FULLTEXT, GS3FilePathMacro, MAXDOCS, NUM_DOCS_MATCHED, OCCURS_ATT, QUERY, SIMPLEFIELD_ATT</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3DL"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.FedoraGS3DL</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>_COLLECTION, COLLECTION, COLLECTIONNAME, COLON, DC, DLS, ENGLISH, EX, FEDORA_GS3, GREENSTONE, GREENSTONE_, HYPHEN, ID, METADATA, NAME, PERIOD, QUALIFIER, SECTION, SECTION_ELEMENT, TITLE, TOC, UTF8, WILDCARD</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#FedoraServicesAPIA()">FedoraServicesAPIA</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#describe()">describe</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)">getAssocFileBaseURL</A></B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#getDisplayName()">getDisplayName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.util.Map&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;service,
+                       java.lang.String[]&nbsp;nodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)">retrieveBrowseStructure</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;service,
+                        java.lang.String&nbsp;classifierID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Connection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.fedora.services.FedoraGS3Connection</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>addMetadataWithFixedTagName, addMetadataWithNamespacedTagNames, browse, browseMetadataRetrieve, containsSectionNumber, createClassifierElement, createDocNodeFromSubsection, createDocStructure, createNameValuePairElement, createResponseMessage, createServiceList, describeCollection, describeCollectionService, describeCollectionServices, describeFieldQueryService, describeService, describeTextQueryService, fieldQuery, getChildren, getChildren, getCollectionList, getCollectionMetadata, getCollectionMetadata, getContent, getContent, getContentBody, getDocPIDFromDocID, getDocumentMetadata, getDocumentMetadata, getDocumentStructure, getDocumentStructure, getGSearchWSDLURL, getMetadata, getMetadata, getSectionIDFromDocID, getServiceList, getServiceNames, getStructure, getStructure, getStructureElement, getTitleMetadata, getTitleMetadata, getTitleMetadata, initSearchFunctionality, main, setGSearchWSDLURL, setInitialisationProperties, textQuery</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.fedora.services.FedoraConnection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.fedora.services.FedoraConnection</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>browseTitlesByLetter, convertToMetaNumber, createAPIA, findObjectsWithTitlesContaining, getAssocFileBaseURL, getBaseURL, getChildrenOfSection, getChildrenOfSectionXML, getCollectionDocs, getCollectionName, getCollectionNames, getCollectionPID, getCollectionPIDs, getCollections, getCollectionTitle, getCollectionTitles, getDC, getDLS, getDocName, getDocTitle, getDocTitles, getEX, getFedoraVersion, getItem, getLanguage, getMaxResults, getPortAddressURL, getSection, getSectionDCMetadata, getSectionEXMetadata, getSectionNames, getSectionNumbers, getSectionTitle, getSectionTitles, getSubsection, getSubsectionXML, getSubstructure, getSupportedVersion, getTitle, getTitle, getTitles, getTOC, init, removePrefix, searchDocumentTitles, setLanguage, setMaxResults, showAuthenticationPopup</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollection(java.lang.String)">describeCollection</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeService(java.lang.String)">describeService</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL()">getAssocFileBaseURL</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getLanguage()">getLanguage</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#setLanguage(java.lang.String)">setLanguage</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraServicesAPIA()"><!-- --></A><H3>
+FedoraServicesAPIA</H3>
+<PRE>
+public <B>FedoraServicesAPIA</B>()
+                   throws java.lang.Exception</PRE>
+<DL>
+<DD>Default constructor
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getDisplayName()"><!-- --></A><H3>
+getDisplayName</H3>
+<PRE>
+public java.lang.String <B>getDisplayName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getDisplayName()">getDisplayName</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this digital library for displaying in the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+public java.lang.String <B>getAssocFileBaseURL</B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)">getAssocFileBaseURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the directory path to the associated files of the given document 
+ node.  For instance, the base url of a JEditorPane's HTML documents can be 
+ set to this.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describe()"><!-- --></A><H3>
+describe</H3>
+<PRE>
+public java.lang.String <B>describe</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describe()">describe</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message with information
+ about collections contained and services (and any serviceRacks) supported
+ by the Digital library.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])">retrieveDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose  
+ metadata is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of all the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)">retrieveDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose metadata is 
+ requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                              java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])">retrieveTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose titles 
+ are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the documents denoted by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                              java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)">retrieveTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose titles is 
+ requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])">retrieveDocumentContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose (text)
+ contents are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)">retrieveDocumentContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose (text)
+ content is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the document indicated by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])">retrieveDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML
+ containing the document structure of the documents indicated by docIDs: 
+ this means all their descendents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)">retrieveDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing the document structure of the document indicated by docID: 
+ this means all its descendents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])">retrieveDocumentChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the documents denoted by 
+ docs where only the requested documents and their direct children are  
+ returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)">retrieveDocumentChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the document denoted by 
+ docID where only the document and its direct children are returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveBrowseStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseStructure</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;service,
+                                                java.lang.String&nbsp;classifierID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)">retrieveBrowseStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifierID</CODE> - is of the form CL# where the number (#) marks
+ out structured sections like CL1.1.3 or CL2<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the browse service (=ClassifierBrowse usually)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 ClassifierBrowse XML 
+ giving the entire *structure* of the classification denoted by 
+ classifierID (including the structures of document descendents of 
+ the classifier).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                               java.lang.String&nbsp;service,
+                                               java.lang.String[]&nbsp;nodeIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveBrowseMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeIDs</CODE> - is of the form CL#.# where the number (#) marks
+ out structured sections like CL2.1.3. NodeIDs are generally subsections
+ of top-level classifierNodes (CL#, e.g. CL3).<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the Browse's MetadataRetrieve service 
+ (usually the browse service is ClassifierBrowse, in which case it always
+ has a retrieve service called ClassifierBrowseMetadataRetrieve)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 
+ ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+ all the subclassifiers denoted by nodeIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+public java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                              java.lang.String&nbsp;service,
+                              java.util.Map&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>query</CODE> in interface <CODE>org.greenstone.fedora.services.FedoraToGS3Interface</CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE><DT><B>Overrides:</B><DD><CODE>query</CODE> in class <CODE>org.greenstone.fedora.services.FedoraGS3Connection</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - is a Map of name and value pairs for all the
+ query field data values. The names match the field names that
+ describeCollectionService() would have returned for the query service.<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the query service
+ This method is only ever called when any of the services in the digital 
+ library described themselves as type=query. Therefore any digital
+ libraries that have no query services, can just return emtpy message 
+ strings (or even "") since this method will never be called on them 
+ anyway.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 XML for a query process
+ response returning the results for the query denoted by parameter
+ nameValParamsMap.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Connection">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html	(revision 15317)
@@ -0,0 +1,1118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:14 NZST 2008 -->
+<TITLE>
+GS3ServicesAPIA
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices.GS3ServicesAPIA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GS3ServicesAPIA";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3ServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.dlservices</FONT>
+<BR>
+Class GS3ServicesAPIA</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.dlservices.GS3ServicesAPIA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>GS3ServicesAPIA</B><DT>extends <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A><DT>implements <A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></DL>
+</PRE>
+
+<P>
+GS3ServicesAPIA does two things:
+ - it implements DigitalLibraryServicesAPIA for enabling the Java-client 
+ to access Greenstone's repository of collections and documents. It 
+ makes this possible through use of Greenstone 3's web services. 
+ - it inherits from GS3WebServicesQBRAPI, which means it inherits all the
+ methods that deal with invoking the Greenstone 3 web services 
+ functionality (through use of Apache Axis' Service and Call objects). 
+ It therefore provides an equivalent method to each Greenstone 3 web 
+ service operation, even if some of these web service operations are 
+ never called by the Java-client and therefore not prescribed by the 
+ DigitalLibraryServicesAPIA interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#language">language</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Storing language settings for requests and responses</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;org.apache.log4j.Logger</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#LOG">LOG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Logger for this class</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#call">call</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#defaultWsdlURL">defaultWsdlURL</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#namespace">namespace</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#portName">portName</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#service">service</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#serviceName">serviceName</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#wsdlURLName">wsdlURLName</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#propertiesFile">propertiesFile</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#GS3ServicesAPIA()">GS3ServicesAPIA</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Displays a dialog to get user input for the location of the Greenstone 3  
+ web services' WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#GS3ServicesAPIA(java.lang.String)">GS3ServicesAPIA</A></B>(java.lang.String&nbsp;wsdlURLName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GS3ServicesAPIA constructor, which, given the url to the wsdl file, 
+ finds either service and port or the service's endpoint of the GS3 Web 
+ Services and instantiates the associated Service and Call objects.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describe()">describe</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeCollection(java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collection)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#describeService(java.lang.String)">describeService</A></B>(java.lang.String&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)">getAssocFileBaseURL</A></B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getDisplayName()">getDisplayName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#getLanguage()">getLanguage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.util.Map&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;service,
+                       java.lang.String[]&nbsp;nodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)">retrieveBrowseStructure</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;service,
+                        java.lang.String&nbsp;classifierID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])">retrieveDocumentChildren</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])">retrieveTitleMetadata</A></B>(java.lang.String&nbsp;collection,
+                      java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;language)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html#showWsdlInputDialog()">showWsdlInputDialog</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static method that displays a dialog requesting the user to 
+ input the location of Greenstone 3 web services' WSDL file.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addArrayParam(java.lang.String)">addArrayParam</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addStringParam(java.lang.String)">addStringParam</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">browse</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">browseDescendants</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describe(java.lang.String, java.lang.String)">describe</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollection(java.lang.String, java.lang.String, java.lang.String)">describeCollection</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">describeCollectionService</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeService(java.lang.String, java.lang.String, java.lang.String)">describeService</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)">describeServiceCluster</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String)">getElementsByTagNameNS</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String, java.util.Vector)">getElementsByTagNameNS</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameSuffix(org.w3c.dom.Element, java.lang.String, java.util.Vector)">getElementsByTagNameSuffix</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getNamespace()">getNamespace</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getPort()">getPort</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getService()">getService</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getWsdl()">getWsdl</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#help()">help</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#helpWithMethod(java.lang.String)">helpWithMethod</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#invokeWith(java.lang.Object[])">invokeWith</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#main(java.lang.String[])">main</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)">query</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">retrieveAllBrowseMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveAllDocumentMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveBrowseMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])">retrieveDocumentContent</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveDocumentMetadata</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])">retrieveDocumentStructure</A>, <A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])">retrieveEntireDocumentStructure</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LOG"><!-- --></A><H3>
+LOG</H3>
+<PRE>
+static org.apache.log4j.Logger <B>LOG</B></PRE>
+<DL>
+<DD>The Logger for this class
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="language"><!-- --></A><H3>
+language</H3>
+<PRE>
+protected java.lang.String <B>language</B></PRE>
+<DL>
+<DD>Storing language settings for requests and responses
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GS3ServicesAPIA()"><!-- --></A><H3>
+GS3ServicesAPIA</H3>
+<PRE>
+public <B>GS3ServicesAPIA</B>()
+                throws javax.xml.rpc.ServiceException,
+                       java.net.MalformedURLException,
+                       javax.xml.parsers.ParserConfigurationException,
+                       java.io.IOException,
+                       java.lang.Exception</PRE>
+<DL>
+<DD>Displays a dialog to get user input for the location of the Greenstone 3  
+ web services' WSDL file
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.rpc.ServiceException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+<HR>
+
+<A NAME="GS3ServicesAPIA(java.lang.String)"><!-- --></A><H3>
+GS3ServicesAPIA</H3>
+<PRE>
+public <B>GS3ServicesAPIA</B>(java.lang.String&nbsp;wsdlURLName)
+                throws javax.xml.rpc.ServiceException,
+                       java.net.MalformedURLException,
+                       javax.xml.parsers.ParserConfigurationException,
+                       java.io.IOException,
+                       org.xml.sax.SAXException</PRE>
+<DL>
+<DD>GS3ServicesAPIA constructor, which, given the url to the wsdl file, 
+ finds either service and port or the service's endpoint of the GS3 Web 
+ Services and instantiates the associated Service and Call objects.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>wsdlURLName</CODE> - - location of the WSDL for Greenstone 3's 
+ web services
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.rpc.ServiceException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="showWsdlInputDialog()"><!-- --></A><H3>
+showWsdlInputDialog</H3>
+<PRE>
+public static java.lang.String <B>showWsdlInputDialog</B>()
+                                            throws java.lang.Exception</PRE>
+<DL>
+<DD>Static method that displays a dialog requesting the user to 
+ input the location of Greenstone 3 web services' WSDL file.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representing the URL location of Greenstone 3 web 
+ services' WSDL file
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDisplayName()"><!-- --></A><H3>
+getDisplayName</H3>
+<PRE>
+public java.lang.String <B>getDisplayName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getDisplayName()">getDisplayName</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this digital library for displaying in the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
+setLanguage</H3>
+<PRE>
+public void <B>setLanguage</B>(java.lang.String&nbsp;language)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract. 
+ Sets the preferred language (code) for metadata and other content to be
+ returned on request messages. If the preferred language is not available,
+ the implementation may choose to send English back instead, or failing
+ that, send the data in any other available language.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#setLanguage(java.lang.String)">setLanguage</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>language</CODE> - has to be a language code as recognised by Greenstone3
+ (the language codes used by W3C probably). E.g. "en" for English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLanguage()"><!-- --></A><H3>
+getLanguage</H3>
+<PRE>
+public java.lang.String <B>getLanguage</B>()</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+ Gets the language that's set as the preferred language.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getLanguage()">getLanguage</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the language code as recognised by Greenstone3 (which are the 
+ language codes used by W3C probably). E.g. "en" for English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL()"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+public java.lang.String <B>getAssocFileBaseURL</B>()</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the overall directory path for associated files (not including
+ the document's nodeID/pid). This can be used to *formulate* the base url 
+ of JEditorPane's HTML documents. If the documents from any digital library 
+ do not contain relative paths, or otherwise deal with the resolution of
+ relative urls themselves, then return "" from here.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+public java.lang.String <B>getAssocFileBaseURL</B>(<A HREF="../../../../org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data">DocumentNodeData</A>&nbsp;docNode)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#getAssocFileBaseURL(org.greenstone.gs3client.data.DocumentNodeData)">getAssocFileBaseURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the directory path to the associated files of the given document 
+ node.  For instance, the base url of a JEditorPane's HTML documents can be 
+ set to this.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describe()"><!-- --></A><H3>
+describe</H3>
+<PRE>
+public java.lang.String <B>describe</B>()</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describe()">describe</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from 
+ the Message Router, describing the Collections, ServiceRacks
+ and Services supported by the Message Router for all collections.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+public java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collection)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollection(java.lang.String)">describeCollection</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection to be described.
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ collection, describing the collection (display items) as well as
+ listing any services supported specifically by the collection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+public java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;service)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection to be described.<DD><CODE>service</CODE> - is the name of the collection's service to be described.
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ collection's service, describing the service (display items).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+public java.lang.String <B>describeService</B>(java.lang.String&nbsp;service)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#describeService(java.lang.String)">describeService</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the name of the collection's service to be described.
+<DT><B>Returns:</B><DD>Greenstone3 XML describe response message originating from a
+ general (non-collection specific) service, describing the requested 
+ service (for example with GS3 display items).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String[])">retrieveDocumentContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection.<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose (text)
+ contents are requested.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentContent(java.lang.String, java.lang.String)">retrieveDocumentContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection.<DD><CODE>docID</CODE> - is the document identifier of the document whose (text)
+ content is requested.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentContentRetrieve XML 
+ containing the document contents of the document indicated by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String[])">retrieveDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection.<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose  
+ metadata is requested.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of all the documents indicated by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentMetadata(java.lang.String, java.lang.String)">retrieveDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection.<DD><CODE>docID</CODE> - is the document identifier of the document whose metadata is 
+ requested.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing all the metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                              java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String[])">retrieveTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection.<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose titles 
+ are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the documents denoted by docIDs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveTitleMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveTitleMetadata</B>(java.lang.String&nbsp;collection,
+                                              java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveTitleMetadata(java.lang.String, java.lang.String)">retrieveTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose titles is 
+ requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing only the title metadata of the document denoted by docID</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String[])">retrieveDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML
+ containing the document structure of the documents indicated by docIDs: 
+ this means all their descendants</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentStructure(java.lang.String, java.lang.String)">retrieveDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing the document structure of the document indicated by docID: 
+ this means all its descendants</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String[])">retrieveDocumentChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docIDs</CODE> - is an array of document identifiers of documents whose
+ hierarchical structures are requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the documents denoted by 
+ docs where only the requested documents and their direct children are  
+ returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentChildren(java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveDocumentChildren</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentChildren</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveDocumentChildren(java.lang.String, java.lang.String)">retrieveDocumentChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>docID</CODE> - is the document identifier of the document whose hierarchical
+ structure is requested
+<DT><B>Returns:</B><DD>a String representing Greenstone3 DocumentMetadataRetrieve XML 
+ containing a view of the document structure of the document denoted by 
+ docID where only the document and its direct children are returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+retrieveBrowseStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseStructure</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;service,
+                                                java.lang.String&nbsp;classifierID)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseStructure(java.lang.String, java.lang.String, java.lang.String)">retrieveBrowseStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifierID</CODE> - is of the form CL# where the number (#) marks
+ out structured sections like CL1.1.3 or CL2<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the browse service (=ClassifierBrowse usually)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 ClassifierBrowse XML 
+ giving the entire *structure* of the classification denoted by 
+ classifierID (including the structures of document descendants of 
+ the classifier).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                               java.lang.String&nbsp;service,
+                                               java.lang.String[]&nbsp;nodeIDs)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveBrowseMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nodeIDs</CODE> - is of the form CL#.# where the number (#) marks
+ out structured sections like CL2.1.3. NodeIDs are generally subsections
+ of top-level classifierNodes (CL#, e.g. CL3).<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the Browse's MetadataRetrieve service 
+ (usually the browse service is ClassifierBrowse, in which case it always
+ has a retrieve service called ClassifierBrowseMetadataRetrieve)
+<DT><B>Returns:</B><DD>a String representing Greenstone3 
+ ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+ all the subclassifiers denoted by nodeIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+public java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                              java.lang.String&nbsp;service,
+                              java.util.Map&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD>Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+ contract.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - is a Map of name and value pairs for all the
+ query field data values. The names match the field names that
+ describeCollectionService() would have returned for the query service.<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the query service
+<DT><B>Returns:</B><DD>a String representing Greenstone3 XML for a query process
+ response returning the results for the query denoted by parameter
+ nameValParamsMap.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3ServicesAPIA.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html	(revision 15317)
@@ -0,0 +1,1249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:14 NZST 2008 -->
+<TITLE>
+GS3WebServicesQBRAPI
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GS3WebServicesQBRAPI";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3WebServicesQBRAPI.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3client.dlservices</FONT>
+<BR>
+Class GS3WebServicesQBRAPI</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>GS3WebServicesQBRAPI</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+GS3WebServicesQBRAPI deals with invoking the Greenstone 3 web services 
+ functionality through use of Apache Axis' Service and Call objects. 
+ Each Greenstone 3 web service operation has an equivalent method here 
+ that invokes it, even if some of these web service operations are never 
+ called by the Java-client and therefore not prescribed by the 
+ DigitalLibraryServicesAPIA interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.apache.axis.client.Call</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#call">call</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Axis Call object for invoking Greenstone 3's WebServices
+ using its WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#defaultWsdlURL">defaultWsdlURL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value that the input dialog's field wsdlURL will default
+ to if there is (no properties file and) no wsdlURL property</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>(package private) static&nbsp;org.apache.log4j.Logger</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#LOG">LOG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Logger for this class</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#namespace">namespace</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;namespace of Greenstone 3's WebServices, as given in the WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#portName">portName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port Name of Greenstone 3's WebServices, as given in the WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.apache.axis.client.Service</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#service">service</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Axis Service object for connecting to invoking Greenstone 3's WebServices
+ using its WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#serviceName">serviceName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service Name of Greenstone 3's WebServices, as given in the WSDL file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#wsdlURLName">wsdlURLName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Url of the Greenstone 3 WebServices' WSDL</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#GS3WebServicesQBRAPI(java.lang.String)">GS3WebServicesQBRAPI</A></B>(java.lang.String&nbsp;wsdlURLName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GS3ServicesAPIA constructor, that given the url to the wsdl file, finds 
+ either service and port or the service's endpoint of the GS3 Web Services 
+ and instantiates the associated Service and Call objects.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addArrayParam(java.lang.String)">addArrayParam</A></B>(java.lang.String&nbsp;arrayParamName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#addStringParam(java.lang.String)">addStringParam</A></B>(java.lang.String&nbsp;paramName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">browse</A></B>(java.lang.String&nbsp;collection,
+       java.lang.String&nbsp;browseService,
+       java.lang.String&nbsp;lang,
+       java.lang.String[]&nbsp;classifierNodeIDs,
+       java.lang.String[]&nbsp;structureParams)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">browseDescendants</A></B>(java.lang.String&nbsp;collection,
+                  java.lang.String&nbsp;browseService,
+                  java.lang.String&nbsp;lang,
+                  java.lang.String[]&nbsp;classifierNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To send a browse request for all the descendants of a classifier node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describe(java.lang.String, java.lang.String)">describe</A></B>(java.lang.String&nbsp;lang,
+         java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Describe request message sent to the Message Router.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollection(java.lang.String, java.lang.String, java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collection,
+                   java.lang.String&nbsp;lang,
+                   java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending Describe messages to Collections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;service,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending a describe message to a Collection's Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeService(java.lang.String, java.lang.String, java.lang.String)">describeService</A></B>(java.lang.String&nbsp;service,
+                java.lang.String&nbsp;lang,
+                java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending a describe message to a Service hosted by the Message Router 
+ (no collection).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)">describeServiceCluster</A></B>(java.lang.String&nbsp;serviceCluster,
+                       java.lang.String&nbsp;lang,
+                       java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending Describe messages to ServiceClusters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.util.Vector</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String)">getElementsByTagNameNS</A></B>(org.w3c.dom.Element&nbsp;parentElement,
+                       java.lang.String&nbsp;namespacePrefix,
+                       java.lang.String&nbsp;localName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static method that gets all the descendant elements of a portion of XMl  
+ within the same namespace as indicated by parameters namespacePrefix and 
+ localName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String, java.util.Vector)">getElementsByTagNameNS</A></B>(org.w3c.dom.Element&nbsp;parentElement,
+                       java.lang.String&nbsp;namespacePrefix,
+                       java.lang.String&nbsp;localName,
+                       java.util.Vector&nbsp;v)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;At method's end, Vector v will contain those descendent elements of 
+ parentElement where the element's name is prefixed by namespacePrefix 
+ and suffixed by localName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getElementsByTagNameSuffix(org.w3c.dom.Element, java.lang.String, java.util.Vector)">getElementsByTagNameSuffix</A></B>(org.w3c.dom.Element&nbsp;parentElement,
+                           java.lang.String&nbsp;localName,
+                           java.util.Vector&nbsp;v)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursive method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getPort()">getPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getService()">getService</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#getWsdl()">getWsdl</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#help()">help</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#helpWithMethod(java.lang.String)">helpWithMethod</A></B>(java.lang.String&nbsp;methodname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#invokeWith(java.lang.Object[])">invokeWith</A></B>(java.lang.Object[]&nbsp;params)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.lang.String&nbsp;lang,
+      java.util.Map&nbsp;nameToValsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For executing a (process-type message) query-type service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">retrieveAllBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;categoryName,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String[]&nbsp;nodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveAllDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                            java.lang.String&nbsp;lang,
+                            java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(c) DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;categoryName,
+                       java.lang.String&nbsp;lang,
+                       java.lang.String[]&nbsp;nodeIDs,
+                       java.lang.String[]&nbsp;metaNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;lang,
+                        java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(a) DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (p.48)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;lang,
+                         java.lang.String[]&nbsp;docNodeIDs,
+                         java.lang.String[]&nbsp;metaNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String[]&nbsp;docNodeIDs,
+                          java.lang.String[]&nbsp;structure,
+                          java.lang.String[]&nbsp;info)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html#retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])">retrieveEntireDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                                java.lang.String&nbsp;lang,
+                                java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(b) DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LOG"><!-- --></A><H3>
+LOG</H3>
+<PRE>
+static org.apache.log4j.Logger <B>LOG</B></PRE>
+<DL>
+<DD>The Logger for this class
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="defaultWsdlURL"><!-- --></A><H3>
+defaultWsdlURL</H3>
+<PRE>
+public static final java.lang.String <B>defaultWsdlURL</B></PRE>
+<DL>
+<DD>The value that the input dialog's field wsdlURL will default
+ to if there is (no properties file and) no wsdlURL property
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.gs3client.dlservices.GS3WebServicesQBRAPI.defaultWsdlURL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="service"><!-- --></A><H3>
+service</H3>
+<PRE>
+protected org.apache.axis.client.Service <B>service</B></PRE>
+<DL>
+<DD>Axis Service object for connecting to invoking Greenstone 3's WebServices
+ using its WSDL file
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="call"><!-- --></A><H3>
+call</H3>
+<PRE>
+protected org.apache.axis.client.Call <B>call</B></PRE>
+<DL>
+<DD>Axis Call object for invoking Greenstone 3's WebServices
+ using its WSDL file
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="portName"><!-- --></A><H3>
+portName</H3>
+<PRE>
+protected java.lang.String <B>portName</B></PRE>
+<DL>
+<DD>port Name of Greenstone 3's WebServices, as given in the WSDL file
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="namespace"><!-- --></A><H3>
+namespace</H3>
+<PRE>
+protected java.lang.String <B>namespace</B></PRE>
+<DL>
+<DD>namespace of Greenstone 3's WebServices, as given in the WSDL file
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serviceName"><!-- --></A><H3>
+serviceName</H3>
+<PRE>
+protected java.lang.String <B>serviceName</B></PRE>
+<DL>
+<DD>service Name of Greenstone 3's WebServices, as given in the WSDL file
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="wsdlURLName"><!-- --></A><H3>
+wsdlURLName</H3>
+<PRE>
+protected java.lang.String <B>wsdlURLName</B></PRE>
+<DL>
+<DD>Url of the Greenstone 3 WebServices' WSDL
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GS3WebServicesQBRAPI(java.lang.String)"><!-- --></A><H3>
+GS3WebServicesQBRAPI</H3>
+<PRE>
+public <B>GS3WebServicesQBRAPI</B>(java.lang.String&nbsp;wsdlURLName)
+                     throws javax.xml.rpc.ServiceException,
+                            java.net.MalformedURLException,
+                            javax.xml.parsers.ParserConfigurationException,
+                            java.io.IOException,
+                            org.xml.sax.SAXException</PRE>
+<DL>
+<DD>GS3ServicesAPIA constructor, that given the url to the wsdl file, finds 
+ either service and port or the service's endpoint of the GS3 Web Services 
+ and instantiates the associated Service and Call objects.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>wsdlURLName</CODE> - - location of the WSDL URL for Greenstone 3's 
+ web services
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.rpc.ServiceException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getElementsByTagNameNS</H3>
+<PRE>
+protected static java.util.Vector <B>getElementsByTagNameNS</B>(org.w3c.dom.Element&nbsp;parentElement,
+                                                         java.lang.String&nbsp;namespacePrefix,
+                                                         java.lang.String&nbsp;localName)</PRE>
+<DL>
+<DD>Static method that gets all the descendant elements of a portion of XMl  
+ within the same namespace as indicated by parameters namespacePrefix and 
+ localName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespacePrefix</CODE> - - a String for the namespacePrefix to search for.
+ This can be the wildcard * for any/allnamespaces.<DD><CODE>localName</CODE> - - the suffix of the namespaceprefix. For instance, localName
+ "soap" will return elements that have the tag wsdlsoap.<DD><CODE>parentElement</CODE> - - the XML element whose descendants will be returned if
+ their element names conform to the specified namespacePrefix and localName
+ parameters.
+<DT><B>Returns:</B><DD>a Vector of all descendant elements whose namespace-qualfied tag
+ names are as specified by the parameters namespacePrefix and localName.
+ Had to implement my own getElementsByTagNameNS() method since the original
+ Element.getElementsByTagNameNS() does not work for Elements created using
+ DOM level 1 (such as with document.createElement()). See the API for Element.
+ This method is slightly more generic, as it returns all descendent elements
+ in a vector where the element name is prefixed by "namespacePrefix" (which 
+ need not be a namespace uri at all) and is suffixed by an equally arbitrary
+ String called localName.
+ If "*" is passed instead of namespacePrefix, this method will ignore any 
+ prefixes and check only for element names that end on the suffix localName.
+ 
+ Old versions of this method had all the same functionality in one method, 
+ but it was not so optimised (several if-statement checks would have been executed an unnecessary
+ number of times. This (current) version is split into 3 methods: this one
+ and two helper functions that deal with the case where namespacePrefix can
+ be anything and where it is particularly specified.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagNameSuffix(org.w3c.dom.Element, java.lang.String, java.util.Vector)"><!-- --></A><H3>
+getElementsByTagNameSuffix</H3>
+<PRE>
+protected static void <B>getElementsByTagNameSuffix</B>(org.w3c.dom.Element&nbsp;parentElement,
+                                                 java.lang.String&nbsp;localName,
+                                                 java.util.Vector&nbsp;v)</PRE>
+<DL>
+<DD>Recursive method.
+ At method's end, Vector v will contain those descendent elements of 
+ parentElement where the element's name is suffixed by/ends with parameter
+ localName.
+ Related to local method getElementsByTagNameNS(). Deals with the case
+ where any and all (namespace)Prefix of an element is accepted, but where
+ an element name's suffix should match with the given localName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parentElement</CODE> - us the XML element whose descendants are to be 
+ retrieved by the given TagNameSuffix.<DD><CODE>localName</CODE> - is the tagName suffix to retrieve the descendants of 
+ parentElement by.<DD><CODE>v</CODE> - is a Vector of all the previously retrieved elements  whose tag
+ names are suffixed by localName. This Vector is appended to by recursive 
+ calls to this method.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagNameNS(org.w3c.dom.Element, java.lang.String, java.lang.String, java.util.Vector)"><!-- --></A><H3>
+getElementsByTagNameNS</H3>
+<PRE>
+protected static void <B>getElementsByTagNameNS</B>(org.w3c.dom.Element&nbsp;parentElement,
+                                             java.lang.String&nbsp;namespacePrefix,
+                                             java.lang.String&nbsp;localName,
+                                             java.util.Vector&nbsp;v)</PRE>
+<DL>
+<DD>At method's end, Vector v will contain those descendent elements of 
+ parentElement where the element's name is prefixed by namespacePrefix 
+ and suffixed by localName. 
+ Related to local method getElementsByTagNameNS(). Deals with the case
+ where a particular (namespace)Prefix of an element and suffix (localname)
+ are given and an element's name should match both prefix and suffix.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parentElement</CODE> - is the XML element whose descendants are to be
+ retrieved by the given TagNameSuffix.<DD><CODE>namespacePrefix</CODE> - is the namespace prefix to look for in the 
+ descendants of parentElement that will be collected in Vector v.<DD><CODE>localName</CODE> - is the tagName suffix to look for in the descendants of 
+ parentElement that will be collected in Vector v.<DD><CODE>v</CODE> - is a Vector of all the previously retrieved elements whose tag
+ names are prefixed by namespacePrefix and suffixed by localName. 
+ This Vector is appended to by recursive calls to this method.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public java.lang.String <B>getNamespace</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the namespace of the wsdl file.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getService()"><!-- --></A><H3>
+getService</H3>
+<PRE>
+public java.lang.String <B>getService</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the web service's serviceName without the namespace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPort()"><!-- --></A><H3>
+getPort</H3>
+<PRE>
+public java.lang.String <B>getPort</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the web service's portName without the namespace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getWsdl()"><!-- --></A><H3>
+getWsdl</H3>
+<PRE>
+public java.lang.String <B>getWsdl</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the the URL of the wsdl file.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="invokeWith(java.lang.Object[])"><!-- --></A><H3>
+invokeWith</H3>
+<PRE>
+protected java.lang.String <B>invokeWith</B>(java.lang.Object[]&nbsp;params)</PRE>
+<DL>
+<DD>Helper method. Uses the Call object to invoke the operation (already
+ set prior to calling invokeWith()) with the given parameters.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addStringParam(java.lang.String)"><!-- --></A><H3>
+addStringParam</H3>
+<PRE>
+protected void <B>addStringParam</B>(java.lang.String&nbsp;paramName)</PRE>
+<DL>
+<DD>Helper method. Adds a string parameter by the name of paramName to
+ the Call object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>paramName</CODE> - - the name of the String parameter to add to the call 
+ object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addArrayParam(java.lang.String)"><!-- --></A><H3>
+addArrayParam</H3>
+<PRE>
+protected void <B>addArrayParam</B>(java.lang.String&nbsp;arrayParamName)</PRE>
+<DL>
+<DD>Helper method. Adds an array parameter by the name of arrayParamName 
+ to the Call object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>arrayParamName</CODE> - - the name of the Array parameter to add to the  
+ Call object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describe(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describe</H3>
+<PRE>
+public java.lang.String <B>describe</B>(java.lang.String&nbsp;lang,
+                                 java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>Describe request message sent to the Message Router.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For the Message Router this can be collectionList, serviceClusterList, 
+ serviceList, siteList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeServiceCluster</H3>
+<PRE>
+public java.lang.String <B>describeServiceCluster</B>(java.lang.String&nbsp;serviceCluster,
+                                               java.lang.String&nbsp;lang,
+                                               java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending Describe messages to ServiceClusters.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serviceCluster</CODE> - is the name of the Service Cluster that this describe 
+ request is sent to.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Service Clusters this can be metadataList, serviceList, displayItemList.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+public java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collection,
+                                           java.lang.String&nbsp;lang,
+                                           java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending Describe messages to Collections.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection that this describe request 
+ is sent to.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Collections this can be metadataList, serviceList and displayItemList.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+public java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;service,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending a describe message to a Collection's Service.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose service 
+ this describe request is sent to.<DD><CODE>service</CODE> - is the name of the Service (of that collection) to
+ which this describe request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Services this can be paramList, displayItemList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+public java.lang.String <B>describeService</B>(java.lang.String&nbsp;service,
+                                        java.lang.String&nbsp;lang,
+                                        java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending a describe message to a Service hosted by the Message Router 
+ (no collection).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the name of the MessageRouter's Service to which this 
+ describe request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Services this can be paramList, displayItemList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+public java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                              java.lang.String&nbsp;service,
+                              java.lang.String&nbsp;lang,
+                              java.util.Map&nbsp;nameToValsMap)</PRE>
+<DL>
+<DD>For executing a (process-type message) query-type service.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose query service this  
+ query-process request is sent to. If "", then the Message Router is assumed.<DD><CODE>service</CODE> - is the name of the Query Service (of that collection) to  
+ which  this request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nameToValsMap</CODE> - is a Map of the (fieldname, value) pairs for the 
+ parameters of the query. The field names should be those recognised by 
+ Greenstone 3. That is, the names must exist for the (Collection-)Service Query that this 
+ message is sent To (as given in 'to' argument). 
+ For names of arguments,<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>, 
+<a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments</a>, 
+<a href="http://mail-archives.apache.org/mod_mbox/ws-axis-user/200204.mbox/%3C8292F8C4CF63574395CE71CADF765EC30CF46D@neuman.espial.com%3E">How to use XMLType.SOAP_MAP</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;lang,
+                                                java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>(a) DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (p.48)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentContentRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ content ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveEntireDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveEntireDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                        java.lang.String&nbsp;lang,
+                                                        java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>(b) DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentStructureRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ entire structure ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String[]&nbsp;docNodeIDs,
+                                                  java.lang.String[]&nbsp;structure,
+                                                  java.lang.String[]&nbsp;info)</PRE>
+<DL>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentStructureRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>structure</CODE> - specifies what structure information needs to
+ be retrieved. The values can be one or more of ancestors, parent, 
+ siblings, children, descendents (NOTE SPELLING), entire.<DD><CODE>info</CODE> - - for specifying extra information to be retrieved. 
+ Possible values for info parameters are numSiblings, siblingPosition, 
+ numChildren.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveAllDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveAllDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                    java.lang.String&nbsp;lang,
+                                                    java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>(c) DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentMetadataRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;lang,
+                                                 java.lang.String[]&nbsp;docNodeIDs,
+                                                 java.lang.String[]&nbsp;metaNames)</PRE>
+<DL>
+<DD>DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document. (Manual on page 47.)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentContentRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>metaNames</CODE> - is a list of metadata names which are requested  
+ to be fetched for the specified documents.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveAllBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveAllBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;categoryName,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String[]&nbsp;nodeIDs)</PRE>
+<DL>
+<DD>Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ ClassifierBrowseMetadataRetrieve service is called<DD><CODE>categoryName</CODE> - - name of the browsing category, usually
+ ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse)<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nodeIDs</CODE> - is the list of document or classifier NodeIDs 
+ for which the metadata ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                               java.lang.String&nbsp;categoryName,
+                                               java.lang.String&nbsp;lang,
+                                               java.lang.String[]&nbsp;nodeIDs,
+                                               java.lang.String[]&nbsp;metaNames)</PRE>
+<DL>
+<DD>ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ ClassifierBrowseMetadataRetrieve service is called<DD><CODE>categoryName</CODE> - - name of the browsing category, usually
+ "ClassifierBrowse". (If left as "", then it defaults to ClassifierBrowse)<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nodeIDs</CODE> - is the list of document or classifier NodeIDs 
+ for which the metadata ought to be retrieved.<DD><CODE>metaNames</CODE> - is a list of metadata names which are requested  
+ to be fetched for the specified documents or classifiers<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+browseDescendants</H3>
+<PRE>
+public java.lang.String <B>browseDescendants</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String&nbsp;browseService,
+                                          java.lang.String&nbsp;lang,
+                                          java.lang.String[]&nbsp;classifierNodeIDs)</PRE>
+<DL>
+<DD>To send a browse request for all the descendants of a classifier node.
+ Useful for getting the entire structure of a top-level 
+ &lt;classificationNode&gt;.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose browse Classifier
+ Browse Service is called<DD><CODE>browseService</CODE> - is the name of the (Classifier) Browse Service (of 
+ the given collection) to which this request message is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>classifierNodeIDs</CODE> - is an array of classifierNodeIDs for which the
+ structures ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+browse</H3>
+<PRE>
+public java.lang.String <B>browse</B>(java.lang.String&nbsp;collection,
+                               java.lang.String&nbsp;browseService,
+                               java.lang.String&nbsp;lang,
+                               java.lang.String[]&nbsp;classifierNodeIDs,
+                               java.lang.String[]&nbsp;structureParams)</PRE>
+<DL>
+<DD>To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants). Useful for getting specific parts
+ of the structure of a top-level &lt;classificationNode&gt;.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose browse Classifier
+ Browse Service is called<DD><CODE>browseService</CODE> - is the name of the (Classifier) Browse Service (of 
+ the given collection) to which this request message is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>classifierNodeIDs</CODE> - is the list of classifierNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>structureParams</CODE> - the list of parameters indicating what structure 
+ information is requested. Accepted values are ancestors, parent, siblings,
+ children, descendants.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="help()"><!-- --></A><H3>
+help</H3>
+<PRE>
+public java.lang.String <B>help</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a help string for listing all the web service methods.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="helpWithMethod(java.lang.String)"><!-- --></A><H3>
+helpWithMethod</H3>
+<PRE>
+public java.lang.String <B>helpWithMethod</B>(java.lang.String&nbsp;methodname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>methodname</CODE> - is the name of the method to be described.
+<DT><B>Returns:</B><DD>a help string for the given method, explaining what the method
+ does, what parameters it expects and their types and what it returns.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GS3WebServicesQBRAPI.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-frame.html	(revision 15317)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.dlservices
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../org/greenstone/gs3client/dlservices/package-summary.html" target="classFrame">org.greenstone.gs3client.dlservices</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices" target="classFrame"><I>DigitalLibraryServicesAPIA</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">FedoraServicesAPIA</A>
+<BR>
+<A HREF="GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">GS3ServicesAPIA</A>
+<BR>
+<A HREF="GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">GS3WebServicesQBRAPI</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices" target="classFrame">DigitalLibraryServicesAPIA.CancelException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-summary.html	(revision 15317)
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.dlservices
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client.dlservices package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client.dlservices";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3services/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.greenstone.gs3client.dlservices
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A></B></TD>
+<TD>Interface that defines the digital library methods that need to be
+ provided by a digital library that's going to be incorporated into the 
+ Greenstone Java-Client, so that the client may be able to use/access 
+ its functionality.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A></B></TD>
+<TD>FedoraServicesAPIA implements DigitalLibraryServicesAPIA for enabling the 
+ Java-client to access a Fedora repository of Greenstone digital objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A></B></TD>
+<TD>GS3ServicesAPIA does two things:
+ - it implements DigitalLibraryServicesAPIA for enabling the Java-client 
+ to access Greenstone's repository of collections and documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices">GS3WebServicesQBRAPI</A></B></TD>
+<TD>GS3WebServicesQBRAPI deals with invoking the Greenstone 3 web services 
+ functionality through use of Apache Axis' Service and Call objects.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA.CancelException</A></B></TD>
+<TD>If there's a dialog, then the CancelException can be used to indicate
+ that the user cancelled out of it rather than having seen it through.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3services/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/dlservices/package-tree.html	(revision 15317)
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client.dlservices Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client.dlservices Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3services/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.greenstone.gs3client.dlservices
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.FedoraConnection (implements org.greenstone.fedora.services.FedoraGS3DL)
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.FedoraGS3Connection (implements org.greenstone.fedora.services.FedoraToGS3Interface, org.greenstone.fedora.services.FedoraToGS3Interface.Constants)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>FedoraServicesAPIA</B></A> (implements org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>)
+</UL>
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3WebServicesQBRAPI</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3ServicesAPIA</B></A> (implements org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>)
+</UL>
+<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA.CancelException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="../../../../org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/gs3client/data/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/gs3services/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/gs3client/dlservices/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-frame.html	(revision 15317)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/greenstone/gs3client/package-summary.html" target="classFrame">org.greenstone.gs3client</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client" target="classFrame"><I>ColourCombo.ColourChangeable</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BrowseDisplay.html" title="class in org.greenstone.gs3client" target="classFrame">BrowseDisplay</A>
+<BR>
+<A HREF="BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client" target="classFrame">BrowseDisplay.ClassifierData</A>
+<BR>
+<A HREF="ColourCombo.html" title="class in org.greenstone.gs3client" target="classFrame">ColourCombo</A>
+<BR>
+<A HREF="Displays.html" title="class in org.greenstone.gs3client" target="classFrame">Displays</A>
+<BR>
+<A HREF="Displays.MetadataComparator.html" title="class in org.greenstone.gs3client" target="classFrame">Displays.MetadataComparator</A>
+<BR>
+<A HREF="Displays.PopupListener.html" title="class in org.greenstone.gs3client" target="classFrame">Displays.PopupListener</A>
+<BR>
+<A HREF="GraphPaperLayout.html" title="class in org.greenstone.gs3client" target="classFrame">GraphPaperLayout</A>
+<BR>
+<A HREF="GS3JavaClient.html" title="class in org.greenstone.gs3client" target="classFrame">GS3JavaClient</A>
+<BR>
+<A HREF="GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client" target="classFrame">GS3JavaClient.PasswordAuthenticator</A>
+<BR>
+<A HREF="QueryForm.html" title="class in org.greenstone.gs3client" target="classFrame">QueryForm</A>
+<BR>
+<A HREF="QueryFormControl.html" title="class in org.greenstone.gs3client" target="classFrame">QueryFormControl</A>
+<BR>
+<A HREF="SearchResultsDisplay.html" title="class in org.greenstone.gs3client" target="classFrame">SearchResultsDisplay</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-summary.html	(revision 15317)
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3client package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/data/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.greenstone.gs3client
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A></B></TD>
+<TD>Interface ColourChangeable defines one method, changeUIColour(),
+ which classes whose user-interface colours can change may
+ implement.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A></B></TD>
+<TD>The Browse panel inside the Java-client's tab pane that's labelled "Browse".</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A></B></TD>
+<TD>Static inner class that represents the data in a &lt;classifier&gt;
+ element - itself nested inside a list (&lt;classifierList&gt;) of them.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client">ColourCombo</A></B></TD>
+<TD>Background and selection color combinations for the Java-Client's 
+ interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client">Displays</A></B></TD>
+<TD>Class containing static methods, static variables and inner classes that
+ are used by both SearchResultsDisplay and BrowseDisplay.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client">Displays.MetadataComparator</A></B></TD>
+<TD>Static inner class MetadataComparator is a Comparator for the metadata 
+ fields stored as a list of Pair objects (name, values).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client">Displays.PopupListener</A></B></TD>
+<TD>Handles rightclicks on a treeview of documentNodeData objects by showing  
+ the popupMenu with associated files that, when selected, can be displayed  
+ in the htmlPane.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client">GraphPaperLayout</A></B></TD>
+<TD>The <code>GraphPaperLayout</code> class is a layout manager that 
+ lays out a container's components in a rectangular grid, similar
+ to GridLayout.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A></B></TD>
+<TD>The main Javaclient class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client">GS3JavaClient.PasswordAuthenticator</A></B></TD>
+<TD>Inner class that handles authentication for any sites (urls, etc.) 
+ that require it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A></B></TD>
+<TD>Panel that represents a Query Form based on GS3 describe response XML 
+ messages sent by a Query Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client">QueryFormControl</A></B></TD>
+<TD>Represents a control in a query form.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A></B></TD>
+<TD>The Search panel inside the Java-client's tab pane that's labelled 
+ "Search Results".</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/data/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3client/package-tree.html	(revision 15317)
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3client Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3client Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/data/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.greenstone.gs3client
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">java.net.Authenticator<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient.PasswordAuthenticator</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierData</B></A><LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>ColourCombo</B></A><LI TYPE="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.awt.Container<UL>
+<LI TYPE="circle">javax.swing.JComponent (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
+<UL>
+<LI TYPE="circle">javax.swing.JButton (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierButton</B></A> (implements java.awt.event.ActionListener)
+</UL>
+<LI TYPE="circle">javax.swing.JMenuItem (implements javax.accessibility.Accessible, javax.swing.MenuElement)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener.AssocFilePopupItem</B></A></UL>
+</UL>
+<LI TYPE="circle">javax.swing.JPanel (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay</B></A> (implements org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, javax.swing.event.TreeSelectionListener, javax.swing.event.TreeWillExpandListener)
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>QueryForm</B></A> (implements java.awt.event.ActionListener, org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, java.awt.event.KeyListener)
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client"><B>SearchResultsDisplay</B></A> (implements org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, javax.swing.event.TreeSelectionListener)
+</UL>
+</UL>
+<LI TYPE="circle">java.awt.Window (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">java.awt.Frame (implements java.awt.MenuContainer)
+<UL>
+<LI TYPE="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient</B></A> (implements java.awt.event.ActionListener)
+</UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>Displays</B></A><LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>Displays.MetadataComparator</B></A> (implements java.util.Comparator&lt;T&gt;)
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>GraphPaperLayout</B></A> (implements java.awt.LayoutManager2)
+<LI TYPE="circle">java.awt.event.MouseAdapter (implements java.awt.event.MouseListener)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener</B></A> (implements java.awt.event.ActionListener)
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="../../../org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData.QueryFormParam</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>QueryFormControl</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="../../../org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>ColourCombo.ColourChangeable</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3client/data/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3client/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.html	(revision 15317)
@@ -0,0 +1,698 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+AdminSOAPServer
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3services.AdminSOAPServer class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AdminSOAPServer";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/AdminSOAPServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AdminSOAPServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3services</FONT>
+<BR>
+Class AdminSOAPServer</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3services.AdminSOAPServer</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>AdminSOAPServer</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+A beginning to the AdminSOAPServer class which will contain management/admin 
+ related web services such as adding new documents, creating, building and 
+ importing collections and configuring Greenstone modules.
+ 
+ NOTE: to run this class, the folder containing this web service class' 
+ properties helpFile should be on the classpath.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.greenstone.gsdl3.util.XMLConverter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#converter">converter</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A converter class to parse XML and create Docs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Document</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#doc">doc</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container Document to create XML Nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#helpErrormessage">helpErrormessage</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Error message loading helpFile.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#helpFile">helpFile</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The help properties file describing the web service operations</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.greenstone.gsdl3.core.MessageRouter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#mr">mr</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message Router object to pass requests messages to and which 
+ will process them.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.util.Properties</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#properties">properties</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties map with mappings from methodname to help 
+ description string</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#site_name">site_name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;site_name the MessageRouter works with, here set to "localsite"</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#AdminSOAPServer()">AdminSOAPServer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#activate(java.lang.String, java.lang.String)">activate</A></B>(java.lang.String&nbsp;systemModuleType,
+         java.lang.String&nbsp;systemModuleName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a (re-)activate system-type message to activate a Greenstone module.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#deactivate(java.lang.String, java.lang.String)">deactivate</A></B>(java.lang.String&nbsp;systemModuleType,
+           java.lang.String&nbsp;systemModuleName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a deactivate system-type message to activate a Greenstone module.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#error(java.lang.String)">error</A></B>(java.lang.String&nbsp;errorMessage)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#format(java.lang.String, java.lang.String, java.lang.String)">format</A></B>(java.lang.String&nbsp;collection,
+       java.lang.String&nbsp;service,
+       java.lang.String&nbsp;language)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a format-type message to a Service containing format (Greenstone 
+ Format, GSF) XSLT statements to specify how a collection looks.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#help()">help</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#helpWithMethod(java.lang.String)">helpWithMethod</A></B>(java.lang.String&nbsp;methodname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#processInternal(org.w3c.dom.Element)">processInternal</A></B>(org.w3c.dom.Element&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#reconfigure(java.lang.String)">reconfigure</A></B>(java.lang.String&nbsp;subset)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a configure system-type message to configure the Message Router.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#reconfigureMessageRouter()">reconfigureMessageRouter</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a configure system-type message to configure all of the Message Router.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#status(java.lang.String, java.lang.String, java.lang.String)">status</A></B>(java.lang.String&nbsp;to,
+       java.lang.String&nbsp;language,
+       java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a status-type message to poll the status of a process that was   
+ initiated but which may not yet have terminated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html#system(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">system</A></B>(java.lang.String&nbsp;type,
+       java.lang.String&nbsp;subset,
+       java.lang.String&nbsp;systemModuleType,
+       java.lang.String&nbsp;systemModuleName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending system-type messages.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="helpErrormessage"><!-- --></A><H3>
+helpErrormessage</H3>
+<PRE>
+protected static java.lang.String <B>helpErrormessage</B></PRE>
+<DL>
+<DD>Error message loading helpFile. Remains at "" if everything is fine
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="properties"><!-- --></A><H3>
+properties</H3>
+<PRE>
+protected static java.util.Properties <B>properties</B></PRE>
+<DL>
+<DD>Properties map with mappings from methodname to help 
+ description string
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="helpFile"><!-- --></A><H3>
+helpFile</H3>
+<PRE>
+protected static java.lang.String <B>helpFile</B></PRE>
+<DL>
+<DD>The help properties file describing the web service operations
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="site_name"><!-- --></A><H3>
+site_name</H3>
+<PRE>
+protected java.lang.String <B>site_name</B></PRE>
+<DL>
+<DD>site_name the MessageRouter works with, here set to "localsite"
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="mr"><!-- --></A><H3>
+mr</H3>
+<PRE>
+protected org.greenstone.gsdl3.core.MessageRouter <B>mr</B></PRE>
+<DL>
+<DD>Message Router object to pass requests messages to and which 
+ will process them.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="doc"><!-- --></A><H3>
+doc</H3>
+<PRE>
+protected org.w3c.dom.Document <B>doc</B></PRE>
+<DL>
+<DD>Container Document to create XML Nodes
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="converter"><!-- --></A><H3>
+converter</H3>
+<PRE>
+protected org.greenstone.gsdl3.util.XMLConverter <B>converter</B></PRE>
+<DL>
+<DD>A converter class to parse XML and create Docs
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="AdminSOAPServer()"><!-- --></A><H3>
+AdminSOAPServer</H3>
+<PRE>
+public <B>AdminSOAPServer</B>()</PRE>
+<DL>
+<DD>Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="status(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+status</H3>
+<PRE>
+public java.lang.String <B>status</B>(java.lang.String&nbsp;to,
+                               java.lang.String&nbsp;language,
+                               java.lang.String&nbsp;pid)</PRE>
+<DL>
+<DD>Sends a status-type message to poll the status of a process that was   
+ initiated but which may not yet have terminated.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>to</CODE> - - the processing service to send this status message to.<DD><CODE>language</CODE> - - the preferred language of the display content in the 
+ response.<DD><CODE>pid</CODE> - - the process id of the process whose status is requested.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 42, 43</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reconfigureMessageRouter()"><!-- --></A><H3>
+reconfigureMessageRouter</H3>
+<PRE>
+public java.lang.String <B>reconfigureMessageRouter</B>()</PRE>
+<DL>
+<DD>Sends a configure system-type message to configure all of the Message Router.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reconfigure(java.lang.String)"><!-- --></A><H3>
+reconfigure</H3>
+<PRE>
+public java.lang.String <B>reconfigure</B>(java.lang.String&nbsp;subset)</PRE>
+<DL>
+<DD>Sends a configure system-type message to configure the Message Router.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>subset</CODE> - - the particular subset of the module which is to be 
+ reconfigured. For a collection/serviceRack it can be metadataList, 
+ serviceList. For the MessageRouter this can be siteList, collectionList, 
+ clusterList, serviceList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="activate(java.lang.String, java.lang.String)"><!-- --></A><H3>
+activate</H3>
+<PRE>
+public java.lang.String <B>activate</B>(java.lang.String&nbsp;systemModuleType,
+                                 java.lang.String&nbsp;systemModuleName)</PRE>
+<DL>
+<DD>Sends a (re-)activate system-type message to activate a Greenstone module.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemModuleName</CODE> - - name of the module to be (re-)activated.<DD><CODE>systemModuleType</CODE> - - type of the module. For instance, this may be
+ site or collection.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deactivate(java.lang.String, java.lang.String)"><!-- --></A><H3>
+deactivate</H3>
+<PRE>
+public java.lang.String <B>deactivate</B>(java.lang.String&nbsp;systemModuleType,
+                                   java.lang.String&nbsp;systemModuleName)</PRE>
+<DL>
+<DD>Sends a deactivate system-type message to activate a Greenstone module.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemModuleName</CODE> - - name of the module to be deactivated.<DD><CODE>systemModuleType</CODE> - - type of the module. For instance, this may be
+ site or collection.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="system(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+system</H3>
+<PRE>
+protected java.lang.String <B>system</B>(java.lang.String&nbsp;type,
+                                  java.lang.String&nbsp;subset,
+                                  java.lang.String&nbsp;systemModuleType,
+                                  java.lang.String&nbsp;systemModuleName)</PRE>
+<DL>
+<DD>For sending system-type messages. 
+ For parameter type=configure, the subset value is set (or "").
+ For parameter type=(de)activate, the systemModuleName and systemModuleType 
+ are set.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - - one of GSXML.SYSTEM_TYPE_CONFIGURE, 
+ GSXML.SYSTEM_TYPE_ACTIVATE, GSXML.SYSTEM_TYPE_DEACTIVATE 
+ (configure, activate or deactivate, respectively).<DD><CODE>subset</CODE> - - for system type configure, this can specify the To module's
+ subset that needs to be reconfigured.<DD><CODE>systemModuleName</CODE> - - for system type (de)activate, this specifies the
+ name of the module to be (de)activated.<DD><CODE>systemModuleType</CODE> - - for system type (de)activate, this specifies the
+ type of the module to be (de)activated. For instance, this may be
+ site or collection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="format(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+format</H3>
+<PRE>
+public java.lang.String <B>format</B>(java.lang.String&nbsp;collection,
+                               java.lang.String&nbsp;service,
+                               java.lang.String&nbsp;language)</PRE>
+<DL>
+<DD>Sends a format-type message to a Service containing format (Greenstone 
+ Format, GSF) XSLT statements to specify how a collection looks.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - - the name of the collection this message is sent to.<DD><CODE>service</CODE> - - name of the service this format message is to be sent to.<DD><CODE>language</CODE> - - the preferred language of the display content in the 
+ response.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 42</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processInternal(org.w3c.dom.Element)"><!-- --></A><H3>
+processInternal</H3>
+<PRE>
+protected java.lang.String <B>processInternal</B>(org.w3c.dom.Element&nbsp;message)</PRE>
+<DL>
+<DD>Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - is the XML message Element to send to GS3's MessageRouter.
+<DT><B>Returns:</B><DD>the XML response in String format.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="error(java.lang.String)"><!-- --></A><H3>
+error</H3>
+<PRE>
+protected java.lang.String <B>error</B>(java.lang.String&nbsp;errorMessage)</PRE>
+<DL>
+<DD>Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter. A String is 
+ created because this method ensures that a response message is reliably 
+ constructed (no exceptions are thrown) that can be sent to clients.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errorMessage</CODE> - - the errormessage to be conveyed
+<DT><B>Returns:</B><DD>an XML response message containing an GS3 error element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="help()"><!-- --></A><H3>
+help</H3>
+<PRE>
+public static java.lang.String <B>help</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a help string for listing all the web service methods.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="helpWithMethod(java.lang.String)"><!-- --></A><H3>
+helpWithMethod</H3>
+<PRE>
+public static java.lang.String <B>helpWithMethod</B>(java.lang.String&nbsp;methodname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>methodname</CODE> - is the name of the method to be described.
+<DT><B>Returns:</B><DD>a help string for the given method, explaining what the method
+ does, what parameters it expects and their types and what it returns.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/AdminSOAPServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AdminSOAPServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.html	(revision 15317)
@@ -0,0 +1,1207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+QBRSOAPServer
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3services.QBRSOAPServer class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QBRSOAPServer";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/QBRSOAPServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QBRSOAPServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.gs3services</FONT>
+<BR>
+Class QBRSOAPServer</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.gs3services.QBRSOAPServer</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>QBRSOAPServer</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Class that provides the basic Query, Browse and Retrieve (QBR) web service
+ operations for Greenstone 3.
+ It contains a MessageRouter that carries out all the tasks by calling the 
+ appropriate Greenstone functionality for each request message passed to it, 
+ and returning a response message.
+  
+ All response messages are returned from the MessageRouter to clients invoking   
+ the web services. All return values are strings that represent XML messages.
+ 
+ Method help() reads from the file QBRWebServicesHelp.properties to list the web 
+ service operations available. Method helpWithMethod(String methodName) 
+ reads from the same file to display a description of the requested operation.
+ (These method descriptions are mostly the same as those in the Javadoc
+ comments.)
+ 
+ NOTE: to run this class, the folder containing this web service class' 
+ properties helpFile should be on the classpath.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#browseStructureOptions">browseStructureOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.greenstone.gsdl3.util.XMLConverter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#converter">converter</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A converter class to parse XML and create Docs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#csSubsetOptions">csSubsetOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Document</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#doc">doc</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container Document to create XML Nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#docStructureInfo">docStructureInfo</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#docStructureOptions">docStructureOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#helpErrormessage">helpErrormessage</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Error message loading helpFile.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#helpFile">helpFile</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The help properties file describing the web service operations</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.greenstone.gsdl3.core.MessageRouter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#mr">mr</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message Router object to pass requests messages to and which 
+ will process them.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#mrSubsetOptions">mrSubsetOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.util.Properties</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#properties">properties</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties map with mappings from methodname to help 
+ description string.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#serviceSubsetOptions">serviceSubsetOptions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#site_name">site_name</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;site_name the MessageRouter works with, here set to "localsite"</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#QBRSOAPServer()">QBRSOAPServer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">browse</A></B>(java.lang.String&nbsp;collection,
+       java.lang.String&nbsp;browseService,
+       java.lang.String&nbsp;lang,
+       java.lang.String[]&nbsp;classifierNodeIDs,
+       java.lang.String[]&nbsp;structureParams)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">browseDescendants</A></B>(java.lang.String&nbsp;collection,
+                  java.lang.String&nbsp;browseService,
+                  java.lang.String&nbsp;lang,
+                  java.lang.String[]&nbsp;classifierNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To send a browse request for all the descendants of a classifier node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describe(java.lang.String, java.lang.String)">describe</A></B>(java.lang.String&nbsp;lang,
+         java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a describe message to the MessageRouter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describe(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">describe</A></B>(java.lang.String&nbsp;to,
+         java.lang.String&nbsp;lang,
+         java.lang.String&nbsp;subsetOption,
+         java.lang.String&nbsp;validSubsetOptions)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending a describe message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describeCollection(java.lang.String, java.lang.String, java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collection,
+                   java.lang.String&nbsp;lang,
+                   java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending Describe messages to Collections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;service,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending a describe message to a Collection's Service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describeService(java.lang.String, java.lang.String, java.lang.String)">describeService</A></B>(java.lang.String&nbsp;service,
+                java.lang.String&nbsp;lang,
+                java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending a describe message to a Service hosted by the Message Router 
+ (no collection).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)">describeServiceCluster</A></B>(java.lang.String&nbsp;serviceCluster,
+                       java.lang.String&nbsp;lang,
+                       java.lang.String&nbsp;subsetOption)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For sending Describe messages to ServiceClusters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#error(java.lang.String)">error</A></B>(java.lang.String&nbsp;errorMessage)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#help()">help</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#helpWithMethod(java.lang.String)">helpWithMethod</A></B>(java.lang.String&nbsp;methodname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#metadataRetrieve(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String)">metadataRetrieve</A></B>(java.lang.String&nbsp;to,
+                 java.lang.String&nbsp;lang,
+                 java.lang.String[]&nbsp;nodeIDs,
+                 java.lang.String[]&nbsp;metaNames,
+                 java.lang.String&nbsp;NODE_ELEM)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs a metadata retrieve for documents and (browse) classification 
+ hierarchies.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#processInternal(org.w3c.dom.Element)">processInternal</A></B>(org.w3c.dom.Element&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.lang.String&nbsp;lang,
+      java.util.Map&nbsp;nameToValsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For executing a (process-type message) query-type service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#queryProcess(java.lang.String, java.lang.String, org.w3c.dom.Element)">queryProcess</A></B>(java.lang.String&nbsp;to,
+             java.lang.String&nbsp;lang,
+             org.w3c.dom.Element&nbsp;paramList)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Values for field Names given in the paramList must exist for the 
+ (Collection-)Service Query that this message is sent To (as given in the 
+ 'to' argument).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])">retrieveAllBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;categoryName,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String[]&nbsp;nodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])">retrieveAllDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                            java.lang.String&nbsp;lang,
+                            java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveBrowseMetadata</A></B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;categoryName,
+                       java.lang.String&nbsp;lang,
+                       java.lang.String[]&nbsp;nodeIDs,
+                       java.lang.String[]&nbsp;metaNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])">retrieveDocumentContent</A></B>(java.lang.String&nbsp;collection,
+                        java.lang.String&nbsp;lang,
+                        java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (see manual, p.48)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])">retrieveDocumentMetadata</A></B>(java.lang.String&nbsp;collection,
+                         java.lang.String&nbsp;lang,
+                         java.lang.String[]&nbsp;docNodeIDs,
+                         java.lang.String[]&nbsp;metaNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])">retrieveDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                          java.lang.String&nbsp;lang,
+                          java.lang.String[]&nbsp;docNodeIDs,
+                          java.lang.String[]&nbsp;structure,
+                          java.lang.String[]&nbsp;info)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html#retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])">retrieveEntireDocumentStructure</A></B>(java.lang.String&nbsp;collection,
+                                java.lang.String&nbsp;lang,
+                                java.lang.String[]&nbsp;docNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="helpErrormessage"><!-- --></A><H3>
+helpErrormessage</H3>
+<PRE>
+protected static java.lang.String <B>helpErrormessage</B></PRE>
+<DL>
+<DD>Error message loading helpFile. Remains at "" if everything is fine
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="properties"><!-- --></A><H3>
+properties</H3>
+<PRE>
+protected static java.util.Properties <B>properties</B></PRE>
+<DL>
+<DD>Properties map with mappings from methodname to help 
+ description string.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="helpFile"><!-- --></A><H3>
+helpFile</H3>
+<PRE>
+protected static java.lang.String <B>helpFile</B></PRE>
+<DL>
+<DD>The help properties file describing the web service operations
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="site_name"><!-- --></A><H3>
+site_name</H3>
+<PRE>
+protected java.lang.String <B>site_name</B></PRE>
+<DL>
+<DD>site_name the MessageRouter works with, here set to "localsite"
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="mr"><!-- --></A><H3>
+mr</H3>
+<PRE>
+protected org.greenstone.gsdl3.core.MessageRouter <B>mr</B></PRE>
+<DL>
+<DD>Message Router object to pass requests messages to and which 
+ will process them.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="doc"><!-- --></A><H3>
+doc</H3>
+<PRE>
+protected org.w3c.dom.Document <B>doc</B></PRE>
+<DL>
+<DD>Container Document to create XML Nodes
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="converter"><!-- --></A><H3>
+converter</H3>
+<PRE>
+protected org.greenstone.gsdl3.util.XMLConverter <B>converter</B></PRE>
+<DL>
+<DD>A converter class to parse XML and create Docs
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="mrSubsetOptions"><!-- --></A><H3>
+mrSubsetOptions</H3>
+<PRE>
+protected static final java.lang.String <B>mrSubsetOptions</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.mrSubsetOptions">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="csSubsetOptions"><!-- --></A><H3>
+csSubsetOptions</H3>
+<PRE>
+protected static final java.lang.String <B>csSubsetOptions</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.csSubsetOptions">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="serviceSubsetOptions"><!-- --></A><H3>
+serviceSubsetOptions</H3>
+<PRE>
+protected static final java.lang.String <B>serviceSubsetOptions</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.serviceSubsetOptions">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="docStructureOptions"><!-- --></A><H3>
+docStructureOptions</H3>
+<PRE>
+protected static final java.lang.String <B>docStructureOptions</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.docStructureOptions">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="docStructureInfo"><!-- --></A><H3>
+docStructureInfo</H3>
+<PRE>
+protected static final java.lang.String <B>docStructureInfo</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.docStructureInfo">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="browseStructureOptions"><!-- --></A><H3>
+browseStructureOptions</H3>
+<PRE>
+protected static final java.lang.String <B>browseStructureOptions</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.greenstone.gs3services.QBRSOAPServer.browseStructureOptions">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="QBRSOAPServer()"><!-- --></A><H3>
+QBRSOAPServer</H3>
+<PRE>
+public <B>QBRSOAPServer</B>()</PRE>
+<DL>
+<DD>Constructor that initializes the web services' MessageRouter object 
+ Reads from GlobalProperties to get gsdl3_home and set the sitename.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="describe(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describe</H3>
+<PRE>
+public java.lang.String <B>describe</B>(java.lang.String&nbsp;lang,
+                                 java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>Sends a describe message to the MessageRouter.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lang</CODE> - is the language of the display content in the response.<DD><CODE>subsetOption</CODE> - are the requested list of items to return in the 
+ response. For the Message Router this can be collectionList, 
+ serviceClusterList, serviceList, siteList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeServiceCluster(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeServiceCluster</H3>
+<PRE>
+public java.lang.String <B>describeServiceCluster</B>(java.lang.String&nbsp;serviceCluster,
+                                               java.lang.String&nbsp;lang,
+                                               java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending Describe messages to ServiceClusters.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serviceCluster</CODE> - is the name of the Service Cluster that this describe 
+ request is sent to.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Service Clusters this can be metadataList, serviceList, displayItemList.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+public java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collection,
+                                           java.lang.String&nbsp;lang,
+                                           java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending Describe messages to Collections.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection that this describe request 
+ is sent to.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Collections this can be metadataList, serviceList and displayItemList.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+public java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;service,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending a describe message to a Collection's Service.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose service 
+ this describe request is sent to.<DD><CODE>service</CODE> - is the name of the Service (of that collection) to
+ which this describe request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Services this can be paramList, displayItemList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+public java.lang.String <B>describeService</B>(java.lang.String&nbsp;service,
+                                        java.lang.String&nbsp;lang,
+                                        java.lang.String&nbsp;subsetOption)</PRE>
+<DL>
+<DD>For sending a describe message to a Service hosted by the Message Router 
+ (no collection).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the name of the MessageRouter's Service to which this 
+ describe request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>subsetOption</CODE> - is the requested list of items to return in the response
+ For Services this can be paramList, displayItemList<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describe(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+describe</H3>
+<PRE>
+protected java.lang.String <B>describe</B>(java.lang.String&nbsp;to,
+                                    java.lang.String&nbsp;lang,
+                                    java.lang.String&nbsp;subsetOption,
+                                    java.lang.String&nbsp;validSubsetOptions)</PRE>
+<DL>
+<DD>For sending a describe message.
+ If public, this method would give full access: a describe message that 
+ lets the user specify all the details of who the receiver is, and what 
+ details are requested.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>to</CODE> - - the Greenstone module (MessageRouter, Collection, 
+ ServiceCluster or (Collection-)Service to send this describe message to.
+ (The module asked to describe itself.)<DD><CODE>lang</CODE> - - the language of the display content in the response.<DD><CODE>subsetOption</CODE> - - the set of elements of the describe response that
+ are requested. These vary depending on the GS3 module asked to describe
+ itself.<DD><CODE>validSubsetOptions</CODE> - - the list of subsetOptions that are allowed
+ for the module this describe message is sent to. Parameter subsetOption
+ has to be among the list of validSubsetOptions.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+public java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                              java.lang.String&nbsp;service,
+                              java.lang.String&nbsp;lang,
+                              java.util.Map&nbsp;nameToValsMap)</PRE>
+<DL>
+<DD>For executing a (process-type message) query-type service.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose query service this  
+ query-process request is sent to. If "", then the Message Router is assumed.<DD><CODE>service</CODE> - is the name of the Query Service (of that collection) to  
+ which  this request is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nameToValsMap</CODE> - is a Map of the (fieldname, value) pairs for the 
+ parameters of the query. The field names should be those recognised by 
+ Greenstone 3. That is, the names must exist for the (Collection-)Service Query that this 
+ message is sent To (as given in 'to' argument). 
+ For names of Greenstone-accepted arguments,<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>, 
+<a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="queryProcess(java.lang.String, java.lang.String, org.w3c.dom.Element)"><!-- --></A><H3>
+queryProcess</H3>
+<PRE>
+protected java.lang.String <B>queryProcess</B>(java.lang.String&nbsp;to,
+                                        java.lang.String&nbsp;lang,
+                                        org.w3c.dom.Element&nbsp;paramList)</PRE>
+<DL>
+<DD>Values for field Names given in the paramList must exist for the 
+ (Collection-)Service Query that this message is sent To (as given in the 
+ 'to' argument).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>to</CODE> - - the (Collection-)Service Query that this message is sent To<DD><CODE>lang</CODE> - - the language of the display items in the response<DD><CODE>paramList</CODE> - - XML Dom Element representing the list of field names, 
+ and associated values required for executing the query. 
+ For names of Greenstone-accepted arguments,<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>, 
+<a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments<a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentContent(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentContent</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentContent</B>(java.lang.String&nbsp;collection,
+                                                java.lang.String&nbsp;lang,
+                                                java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>DocumentContentRetrieve request sent to a collection's 
+ DocumentContentRetrieve service (see manual, p.48)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentContentRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ content ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveEntireDocumentStructure(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveEntireDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveEntireDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                        java.lang.String&nbsp;lang,
+                                                        java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the entire document structure.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentStructureRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ entire structure ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentStructure(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentStructure</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String[]&nbsp;docNodeIDs,
+                                                  java.lang.String[]&nbsp;structure,
+                                                  java.lang.String[]&nbsp;info)</PRE>
+<DL>
+<DD>DocumentStructureRetrieve request sent to a collection's 
+ DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+ the specified part of the document's structure.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentStructureRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>structure</CODE> - specifies what structure information needs to
+ be retrieved. The values can be one or more of ancestors, parent, 
+ siblings, children, descendants (<b>note spelling</b>), entire.<DD><CODE>info</CODE> - - for specifying extra information to be retrieved. 
+ Possible values for info parameters are numSiblings, siblingPosition, 
+ numChildren<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveAllDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveAllDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveAllDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                    java.lang.String&nbsp;lang,
+                                                    java.lang.String[]&nbsp;docNodeIDs)</PRE>
+<DL>
+<DD>DocumentMetadataRetrieve request sent to a collection's 
+ DocumentMetadataRetrieve service to retrieve all of a document's metadata.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentMetadataRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveDocumentMetadata(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveDocumentMetadata</B>(java.lang.String&nbsp;collection,
+                                                 java.lang.String&nbsp;lang,
+                                                 java.lang.String[]&nbsp;docNodeIDs,
+                                                 java.lang.String[]&nbsp;metaNames)</PRE>
+<DL>
+<DD>DocumentMetadataRetrieve service to retrieve some specific 
+ metadata values of a document. (Manual on page 47.)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ DocumentContentRetrieve is requested<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>docNodeIDs</CODE> - is the list of documentNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>metaNames</CODE> - is a list of metadata names which are requested  
+ to be fetched for the specified documents<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveAllBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+retrieveAllBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveAllBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                                  java.lang.String&nbsp;categoryName,
+                                                  java.lang.String&nbsp;lang,
+                                                  java.lang.String[]&nbsp;nodeIDs)</PRE>
+<DL>
+<DD>Retrieve all classification Metadata for browsing (sent to the 
+ ClassifierBrowseMetadataRetrieve service).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ ClassifierBrowseMetadataRetrieve service is called<DD><CODE>categoryName</CODE> - - name of the browsing category, usually
+ ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse)<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nodeIDs</CODE> - is the list of document or classifier NodeIDs 
+ for which the metadata ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="retrieveBrowseMetadata(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+retrieveBrowseMetadata</H3>
+<PRE>
+public java.lang.String <B>retrieveBrowseMetadata</B>(java.lang.String&nbsp;collection,
+                                               java.lang.String&nbsp;categoryName,
+                                               java.lang.String&nbsp;lang,
+                                               java.lang.String[]&nbsp;nodeIDs,
+                                               java.lang.String[]&nbsp;metaNames)</PRE>
+<DL>
+<DD>ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+ metadata values of a document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose 
+ ClassifierBrowseMetadataRetrieve service is called<DD><CODE>categoryName</CODE> - - name of the browsing category, usually
+ ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse)<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>nodeIDs</CODE> - is the list of document or classifier NodeIDs 
+ for which the metadata ought to be retrieved.<DD><CODE>metaNames</CODE> - is a list of metadata names which are requested  
+ to be fetched for the specified documents or classifiers<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="metadataRetrieve(java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String)"><!-- --></A><H3>
+metadataRetrieve</H3>
+<PRE>
+protected java.lang.String <B>metadataRetrieve</B>(java.lang.String&nbsp;to,
+                                            java.lang.String&nbsp;lang,
+                                            java.lang.String[]&nbsp;nodeIDs,
+                                            java.lang.String[]&nbsp;metaNames,
+                                            java.lang.String&nbsp;NODE_ELEM)</PRE>
+<DL>
+<DD>Performs a metadata retrieve for documents and (browse) classification 
+ hierarchies. Sends a Document- or ClassifierBrowse- MetadataRetrieve message 
+ to the Document- or ClassifierBrowse- MetadataRetrieve service.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>to</CODE> - - the Document- or ClassifierBrowse- MetadataRetrieve service to
+ send this metadata retrieve message to.<DD><CODE>lang</CODE> - - the language of the display content in the response<DD><CODE>nodeIDs</CODE> - - the list of (document or classifier) nodeIDs for which
+ to retrieve the metadata for<DD><CODE>metaNames</CODE> - - a list specifiying the names of the metadata items 
+ to be retrieved for each nodeID. E.g. "Title", but a list is allowed.<DD><CODE>NODE_ELEM</CODE> - - either of GSXML's names for the &lt;documentNode&gt; or 
+ &lt;classifierNode&gt; elements.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseDescendants(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>
+browseDescendants</H3>
+<PRE>
+public java.lang.String <B>browseDescendants</B>(java.lang.String&nbsp;collection,
+                                          java.lang.String&nbsp;browseService,
+                                          java.lang.String&nbsp;lang,
+                                          java.lang.String[]&nbsp;classifierNodeIDs)</PRE>
+<DL>
+<DD>To send a browse request for all the descendants of a classifier node.
+ Useful for getting the entire structure of a top-level &lt;classificationNode&gt;
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose browse Classifier
+ Browse Service is called<DD><CODE>browseService</CODE> - is the name of the (Classifier) Browse Service (of 
+ the given collection) to which this request message is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>classifierNodeIDs</CODE> - is an array of classifierNodeIDs for which the
+ structures ought to be retrieved.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browse(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+browse</H3>
+<PRE>
+public java.lang.String <B>browse</B>(java.lang.String&nbsp;collection,
+                               java.lang.String&nbsp;browseService,
+                               java.lang.String&nbsp;lang,
+                               java.lang.String[]&nbsp;classifierNodeIDs,
+                               java.lang.String[]&nbsp;structureParams)</PRE>
+<DL>
+<DD>To send a browse request for specific parts of a classifier node 
+ (children, ancestors, descendants). Useful for getting specific parts
+ of the structure of a top-level &lt;classificationNode&gt;.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the name of the Collection whose browse Classifier
+ Browse Service is called<DD><CODE>browseService</CODE> - is the name of the (Classifier) Browse Service (of 
+ the given collection) to which this request message is sent.<DD><CODE>lang</CODE> - is the language of the display content in the response<DD><CODE>classifierNodeIDs</CODE> - is the list of classifierNodeIDs for which the
+ structure ought to be retrieved.<DD><CODE>structureParams</CODE> - the list of parameters indicating what structure 
+ information is requested. Accepted values are ancestors, parent, siblings,
+ children, descendants.<DT><B>See Also:</B><DD><a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processInternal(org.w3c.dom.Element)"><!-- --></A><H3>
+processInternal</H3>
+<PRE>
+protected java.lang.String <B>processInternal</B>(org.w3c.dom.Element&nbsp;message)</PRE>
+<DL>
+<DD>Called by most other methods in order to send the constructed message
+ to the Greenstone's MessageRouter, intercept the response and return it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - is the XML message Element to send to GS3's MessageRouter.
+<DT><B>Returns:</B><DD>the XML response in String format.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="error(java.lang.String)"><!-- --></A><H3>
+error</H3>
+<PRE>
+protected java.lang.String <B>error</B>(java.lang.String&nbsp;errorMessage)</PRE>
+<DL>
+<DD>Creates a String response message to represent an XML error response  
+ message using the error specified in the message parameter. A String is 
+ created because this method ensures that a response message is reliably 
+ constructed (no exceptions are thrown) that can be sent to clients.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errorMessage</CODE> - - the errormessage to be conveyed
+<DT><B>Returns:</B><DD>an XML response message containing an GS3 error element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="help()"><!-- --></A><H3>
+help</H3>
+<PRE>
+public static java.lang.String <B>help</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a help string for listing all the web service methods.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="helpWithMethod(java.lang.String)"><!-- --></A><H3>
+helpWithMethod</H3>
+<PRE>
+public static java.lang.String <B>helpWithMethod</B>(java.lang.String&nbsp;methodname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>methodname</CODE> - is the name of the method to be described.
+<DT><B>Returns:</B><DD>a help string for the given method, explaining what the method
+ does, what parameters it expects and their types and what it returns.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/QBRSOAPServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="QBRSOAPServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-frame.html	(revision 15317)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3services
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3services package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/greenstone/gs3services/package-summary.html" target="classFrame">org.greenstone.gs3services</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AdminSOAPServer.html" title="class in org.greenstone.gs3services" target="classFrame">AdminSOAPServer</A>
+<BR>
+<A HREF="QBRSOAPServer.html" title="class in org.greenstone.gs3services" target="classFrame">QBRSOAPServer</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-summary.html	(revision 15317)
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3services
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.gs3services package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3services";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.greenstone.gs3services
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services">AdminSOAPServer</A></B></TD>
+<TD>A beginning to the AdminSOAPServer class which will contain management/admin 
+ related web services such as adding new documents, creating, building and 
+ importing collections and configuring Greenstone modules.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services">QBRSOAPServer</A></B></TD>
+<TD>Class that provides the basic Query, Browse and Retrieve (QBR) web service
+ operations for Greenstone 3.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/org/greenstone/gs3services/package-tree.html	(revision 15317)
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+org.greenstone.gs3services Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.gs3services Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.greenstone.gs3services
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.gs3services.<A HREF="../../../org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services"><B>AdminSOAPServer</B></A><LI TYPE="circle">org.greenstone.gs3services.<A HREF="../../../org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services"><B>QBRSOAPServer</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../org/greenstone/gs3client/dlservices/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?org/greenstone/gs3services/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-frame.html	(revision 15317)
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:19 NZST 2008 -->
+<TITLE>
+Overview
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TH ALIGN="left" NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
+<B></B></FONT></TH>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Packages</FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3client/package-frame.html" target="packageFrame">org.greenstone.gs3client</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3client/data/package-frame.html" target="packageFrame">org.greenstone.gs3client.data</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3client/dlservices/package-frame.html" target="packageFrame">org.greenstone.gs3client.dlservices</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/greenstone/gs3services/package-frame.html" target="packageFrame">org.greenstone.gs3services</A></FONT>
+<BR>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-summary.html	(revision 15317)
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+Overview
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Overview";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Packages</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/greenstone/gs3client/package-summary.html">org.greenstone.gs3client</A></B></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/greenstone/gs3client/data/package-summary.html">org.greenstone.gs3client.data</A></B></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/greenstone/gs3client/dlservices/package-summary.html">org.greenstone.gs3client.dlservices</A></B></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/greenstone/gs3services/package-summary.html">org.greenstone.gs3services</A></B></TD>
+<TD>&nbsp;</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/overview-tree.html	(revision 15317)
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="org/greenstone/gs3client/package-tree.html">org.greenstone.gs3client</A>, <A HREF="org/greenstone/gs3client/data/package-tree.html">org.greenstone.gs3client.data</A>, <A HREF="org/greenstone/gs3client/dlservices/package-tree.html">org.greenstone.gs3client.dlservices</A>, <A HREF="org/greenstone/gs3services/package-tree.html">org.greenstone.gs3services</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.gs3services.<A HREF="org/greenstone/gs3services/AdminSOAPServer.html" title="class in org.greenstone.gs3services"><B>AdminSOAPServer</B></A><LI TYPE="circle">java.net.Authenticator<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/GS3JavaClient.PasswordAuthenticator.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient.PasswordAuthenticator</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/CollectionData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/CollectionData.PluginData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.PluginData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/CollectionData.ServiceData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.ServiceData</B></A><LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/ColourCombo.html" title="class in org.greenstone.gs3client"><B>ColourCombo</B></A><LI TYPE="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.awt.Container<UL>
+<LI TYPE="circle">javax.swing.JComponent (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
+<UL>
+<LI TYPE="circle">javax.swing.JButton (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay.ClassifierButton</B></A> (implements java.awt.event.ActionListener)
+</UL>
+<LI TYPE="circle">javax.swing.JMenuItem (implements javax.accessibility.Accessible, javax.swing.MenuElement)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/Displays.PopupListener.AssocFilePopupItem.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener.AssocFilePopupItem</B></A></UL>
+</UL>
+<LI TYPE="circle">javax.swing.JPanel (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client"><B>BrowseDisplay</B></A> (implements org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, javax.swing.event.TreeSelectionListener, javax.swing.event.TreeWillExpandListener)
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client"><B>QueryForm</B></A> (implements java.awt.event.ActionListener, org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, java.awt.event.KeyListener)
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client"><B>SearchResultsDisplay</B></A> (implements org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client">ColourCombo.ColourChangeable</A>, javax.swing.event.TreeSelectionListener)
+</UL>
+</UL>
+<LI TYPE="circle">java.awt.Window (implements javax.accessibility.Accessible)
+<UL>
+<LI TYPE="circle">java.awt.Frame (implements java.awt.MenuContainer)
+<UL>
+<LI TYPE="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client"><B>GS3JavaClient</B></A> (implements java.awt.event.ActionListener)
+</UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/Displays.html" title="class in org.greenstone.gs3client"><B>Displays</B></A><LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/Displays.MetadataComparator.html" title="class in org.greenstone.gs3client"><B>Displays.MetadataComparator</B></A> (implements java.util.Comparator&lt;T&gt;)
+<LI TYPE="circle">org.greenstone.fedora.services.FedoraConnection (implements org.greenstone.fedora.services.FedoraGS3DL)
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.FedoraGS3Connection (implements org.greenstone.fedora.services.FedoraToGS3Interface, org.greenstone.fedora.services.FedoraToGS3Interface.Constants)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>FedoraServicesAPIA</B></A> (implements org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>)
+</UL>
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/GraphPaperLayout.html" title="class in org.greenstone.gs3client"><B>GraphPaperLayout</B></A> (implements java.awt.LayoutManager2)
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3WebServicesQBRAPI</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices"><B>GS3ServicesAPIA</B></A> (implements org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A>)
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/MetaData.html" title="class in org.greenstone.gs3client.data"><B>MetaData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/CollectionData.MetaData.html" title="class in org.greenstone.gs3client.data"><B>CollectionData.MetaData</B></A></UL>
+<LI TYPE="circle">java.awt.event.MouseAdapter (implements java.awt.event.MouseListener)
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/Displays.PopupListener.html" title="class in org.greenstone.gs3client"><B>Displays.PopupListener</B></A> (implements java.awt.event.ActionListener)
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/NodeData.html" title="class in org.greenstone.gs3client.data"><B>NodeData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/ClassifierNodeData.html" title="class in org.greenstone.gs3client.data"><B>ClassifierNodeData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/DocumentNodeData.html" title="class in org.greenstone.gs3client.data"><B>DocumentNodeData</B></A></UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/Pair.html" title="class in org.greenstone.gs3client.data"><B>Pair</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/ParseUtil.html" title="class in org.greenstone.gs3client.data"><B>ParseUtil</B></A><LI TYPE="circle">org.greenstone.gs3services.<A HREF="org/greenstone/gs3services/QBRSOAPServer.html" title="class in org.greenstone.gs3services"><B>QBRSOAPServer</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/QueryFormData.QueryFormParam.html" title="class in org.greenstone.gs3client.data"><B>QueryFormData.QueryFormParam</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/QueryFormControl.html" title="class in org.greenstone.gs3client"><B>QueryFormControl</B></A></UL>
+</UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/QueryResponseData.TermData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData.TermData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/ResponseData.html" title="class in org.greenstone.gs3client.data"><B>ResponseData</B></A><UL>
+<LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data"><B>BrowseResponseData</B></A><LI TYPE="circle">org.greenstone.gs3client.data.<A HREF="org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data"><B>QueryResponseData</B></A></UL>
+<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA.CancelException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">org.greenstone.gs3client.<A HREF="org/greenstone/gs3client/ColourCombo.ColourChangeable.html" title="interface in org.greenstone.gs3client"><B>ColourCombo.ColourChangeable</B></A><LI TYPE="circle">org.greenstone.gs3client.dlservices.<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices"><B>DigitalLibraryServicesAPIA</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/package-list
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/package-list	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/package-list	(revision 15317)
@@ -0,0 +1,4 @@
+org.greenstone.gs3client
+org.greenstone.gs3client.data
+org.greenstone.gs3client.dlservices
+org.greenstone.gs3services
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/serialized-form.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/serialized-form.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/serialized-form.html	(revision 15317)
@@ -0,0 +1,777 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:47:20 NZST 2008 -->
+<TITLE>
+Serialized Form
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.greenstone.gs3client</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.greenstone.gs3client.BrowseDisplay"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">org.greenstone.gs3client.BrowseDisplay</A> extends javax.swing.JPanel implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+client</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Access to the running instance of GS3JavaClient
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+displayData</H3>
+<PRE>
+java.util.HashMap&lt;K,V&gt; <B>displayData</B></PRE>
+<DL>
+<DD>A HashMap to store the displayData for the Browse operation. Usually  
+ just 2 elements long at most: displayName and displayDescription.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browseLabel</H3>
+<PRE>
+javax.swing.JLabel <B>browseLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browsePanel</H3>
+<PRE>
+javax.swing.JPanel <B>browsePanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+splitViewPane</H3>
+<PRE>
+javax.swing.JSplitPane <B>splitViewPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+structureMetaView</H3>
+<PRE>
+javax.swing.JSplitPane <B>structureMetaView</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browseBar</H3>
+<PRE>
+javax.swing.JPanel <B>browseBar</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+classifierList</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierButton</A>[] <B>classifierList</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browsingTree</H3>
+<PRE>
+javax.swing.JTree <B>browsingTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+htmlPane</H3>
+<PRE>
+javax.swing.JEditorPane <B>htmlPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+metanames</H3>
+<PRE>
+javax.swing.JList <B>metanames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+metavalues</H3>
+<PRE>
+javax.swing.JList <B>metavalues</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+popup</H3>
+<PRE>
+javax.swing.JPopupMenu <B>popup</B></PRE>
+<DL>
+<DD>Context menu that pops up when users right click in the browse tree area
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.greenstone.gs3client.BrowseDisplay.ClassifierButton"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierButton.html" title="class in org.greenstone.gs3client">org.greenstone.gs3client.BrowseDisplay.ClassifierButton</A> extends javax.swing.JButton implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+classifier</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.ClassifierData.html" title="class in org.greenstone.gs3client">BrowseDisplay.ClassifierData</A> <B>classifier</B></PRE>
+<DL>
+<DD>Encapsulated classifierData obj
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.greenstone.gs3client.GS3JavaClient"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">org.greenstone.gs3client.GS3JavaClient</A> extends javax.swing.JFrame implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+activity</H3>
+<PRE>
+int <B>activity</B></PRE>
+<DL>
+<DD>To keep track of whether we are searching or browsing.
+ Value of activity can be SEARCHING OR BROWSING
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+dlAPIA</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.html" title="interface in org.greenstone.gs3client.dlservices">DigitalLibraryServicesAPIA</A> <B>dlAPIA</B></PRE>
+<DL>
+<DD>Reference to a digital library instance (Greenstone 3 or Fedora) that 
+ allows this client to execute services offered by the digital library
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+greenstoneDL</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/dlservices/GS3ServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">GS3ServicesAPIA</A> <B>greenstoneDL</B></PRE>
+<DL>
+<DD>Reference to the object that interacts with Greenstone3's web services
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+fedoraDL</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/dlservices/FedoraServicesAPIA.html" title="class in org.greenstone.gs3client.dlservices">FedoraServicesAPIA</A> <B>fedoraDL</B></PRE>
+<DL>
+<DD>Reference to the object that interacts with the FedoraGS3.jar component
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+queryResponseObj</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/data/QueryResponseData.html" title="class in org.greenstone.gs3client.data">QueryResponseData</A> <B>queryResponseObj</B></PRE>
+<DL>
+<DD>Object that stores the data of a query response XML message
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browseResponseObject</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/data/BrowseResponseData.html" title="class in org.greenstone.gs3client.data">BrowseResponseData</A> <B>browseResponseObject</B></PRE>
+<DL>
+<DD>Object that stores the data of a browse response XML message 
+ (response for classification hierarchies)
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+lang</H3>
+<PRE>
+java.lang.String <B>lang</B></PRE>
+<DL>
+<DD>Preferred language of display items in responses. 
+ "" or "en" for English
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+colName</H3>
+<PRE>
+java.lang.String <B>colName</B></PRE>
+<DL>
+<DD>The currently selected collection
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+serviceName</H3>
+<PRE>
+java.lang.String <B>serviceName</B></PRE>
+<DL>
+<DD>The currently selected service
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+dlChooser</H3>
+<PRE>
+javax.swing.JComboBox <B>dlChooser</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+proxyhostField</H3>
+<PRE>
+javax.swing.JTextField <B>proxyhostField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+proxyportField</H3>
+<PRE>
+javax.swing.JTextField <B>proxyportField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+nonProxyHostNamesField</H3>
+<PRE>
+javax.swing.JTextField <B>nonProxyHostNamesField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+setProxySettings</H3>
+<PRE>
+javax.swing.JButton <B>setProxySettings</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+serviceBox</H3>
+<PRE>
+javax.swing.JComboBox <B>serviceBox</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+collBox</H3>
+<PRE>
+javax.swing.JComboBox <B>collBox</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+collInfoButton</H3>
+<PRE>
+javax.swing.JButton <B>collInfoButton</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchButton</H3>
+<PRE>
+javax.swing.JButton <B>searchButton</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+tabbedPane</H3>
+<PRE>
+javax.swing.JTabbedPane <B>tabbedPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+queryPanel</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">QueryForm</A> <B>queryPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+collectionNameField</H3>
+<PRE>
+javax.swing.JTextField <B>collectionNameField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchResultsDisplay</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">SearchResultsDisplay</A> <B>searchResultsDisplay</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchPanel</H3>
+<PRE>
+javax.swing.JPanel <B>searchPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchSummary</H3>
+<PRE>
+javax.swing.JTextArea <B>searchSummary</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+browsePanel</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/BrowseDisplay.html" title="class in org.greenstone.gs3client">BrowseDisplay</A> <B>browsePanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.greenstone.gs3client.QueryForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/QueryForm.html" title="class in org.greenstone.gs3client">org.greenstone.gs3client.QueryForm</A> extends javax.swing.JPanel implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+client</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Handle to the running instance of the GS3JavaClient in order to have
+ access to its methods
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+paramsPanel</H3>
+<PRE>
+javax.swing.JPanel <B>paramsPanel</B></PRE>
+<DL>
+<DD>Panel to contain all the form controls specific to the chosen Query 
+ Service.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchButton</H3>
+<PRE>
+javax.swing.JButton <B>searchButton</B></PRE>
+<DL>
+<DD>Search button that will cause the search to be executed when pressed
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+paramTags</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/data/QueryFormData.html" title="class in org.greenstone.gs3client.data">QueryFormData</A>[] <B>paramTags</B></PRE>
+<DL>
+<DD>Query parameters specified by the query services
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.greenstone.gs3client.SearchResultsDisplay"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/SearchResultsDisplay.html" title="class in org.greenstone.gs3client">org.greenstone.gs3client.SearchResultsDisplay</A> extends javax.swing.JPanel implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+client</H3>
+<PRE>
+<A HREF="org/greenstone/gs3client/GS3JavaClient.html" title="class in org.greenstone.gs3client">GS3JavaClient</A> <B>client</B></PRE>
+<DL>
+<DD>Access to the running instance of GS3JavaClient
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+searchResultsTree</H3>
+<PRE>
+javax.swing.JTree <B>searchResultsTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+docStructureTree</H3>
+<PRE>
+javax.swing.JTree <B>docStructureTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+docInfoPane</H3>
+<PRE>
+javax.swing.JSplitPane <B>docInfoPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+docInfoWithContent</H3>
+<PRE>
+javax.swing.JSplitPane <B>docInfoWithContent</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+treeviewSplitPane</H3>
+<PRE>
+javax.swing.JSplitPane <B>treeviewSplitPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+docContentEditPane</H3>
+<PRE>
+javax.swing.JEditorPane <B>docContentEditPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+metanames</H3>
+<PRE>
+javax.swing.JList <B>metanames</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+metavalues</H3>
+<PRE>
+javax.swing.JList <B>metavalues</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+popup</H3>
+<PRE>
+javax.swing.JPopupMenu <B>popup</B></PRE>
+<DL>
+<DD>Context menu that pops up when users right click in the browse tree area
+<P>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.greenstone.gs3client.dlservices</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA.CancelException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.CancelException.html" title="class in org.greenstone.gs3client.dlservices">org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA.CancelException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/stylesheet.css
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/stylesheet.css	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3DemoClient/stylesheet.css	(revision 15317)
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-frame.html	(revision 15317)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+All Classes
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraCommons</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraConnection</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Connection</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraGS3DL</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.AuthenticationFailedException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.CancelledException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraGS3RunException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraVersionNotSupportedException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.NotAFedoraServerException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.ServerNotFoundException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraToGS3Interface</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraToGS3Interface.Constants</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services" target="classFrame">GSearchConnection</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-noframe.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-noframe.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/allclasses-noframe.html	(revision 15317)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+All Classes
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><I>FedoraGS3DL</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><I>FedoraToGS3Interface</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><I>FedoraToGS3Interface.Constants</I></A>
+<BR>
+<A HREF="org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/constant-values.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/constant-values.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/constant-values.html	(revision 15317)
@@ -0,0 +1,598 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+Constant Field Values
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#org.greenstone">org.greenstone.*</A>
+</UL>
+
+<A NAME="org.greenstone"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left"><FONT SIZE="+2">
+org.greenstone.*</FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraConnection.defaultPortAddressSuffix"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraConnection.html#defaultPortAddressSuffix">defaultPortAddressSuffix</A></CODE></TD>
+<TD ALIGN="right"><CODE>"/services/access"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraConnection.GET"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraConnection.html#GET">GET</A></CODE></TD>
+<TD ALIGN="right"><CODE>"/get/"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraConnection.INTERNAL_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraConnection.html#INTERNAL_NODE">INTERNAL_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"internalNode"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraConnection.SUPPORTED_VERSION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraConnection.html#SUPPORTED_VERSION">SUPPORTED_VERSION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"2.2.1"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraConnection.TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraConnection.html#TYPE">TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"type"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Connection.CHILDREN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html#CHILDREN">CHILDREN</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Connection.DESCENDANTS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html#DESCENDANTS">DESCENDANTS</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Connection.gSearchWSDLSuffix"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html#gSearchWSDLSuffix">gSearchWSDLSuffix</A></CODE></TD>
+<TD ALIGN="right"><CODE>"gsearch/services/FgsOperations?wsdl"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL._COLLECTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#_COLLECTION">_COLLECTION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"-collection"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.COLLECTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTION">COLLECTION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"collection"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.COLLECTIONNAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTIONNAME">COLLECTIONNAME</A></CODE></TD>
+<TD ALIGN="right"><CODE>"collectionname"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.COLON"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#COLON">COLON</A></CODE></TD>
+<TD ALIGN="right"><CODE>":"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.DC"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#DC">DC</A></CODE></TD>
+<TD ALIGN="right"><CODE>"DC"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.DLS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#DLS">DLS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"DLS"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.ENGLISH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#ENGLISH">ENGLISH</A></CODE></TD>
+<TD ALIGN="right"><CODE>"en"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.EX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#EX">EX</A></CODE></TD>
+<TD ALIGN="right"><CODE>"EX"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.FEDORA_GS3"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#FEDORA_GS3">FEDORA_GS3</A></CODE></TD>
+<TD ALIGN="right"><CODE>"FedoraGS3"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.GREENSTONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE">GREENSTONE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"greenstone"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.GREENSTONE_"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE_">GREENSTONE_</A></CODE></TD>
+<TD ALIGN="right"><CODE>"greenstone:"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.HYPHEN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#HYPHEN">HYPHEN</A></CODE></TD>
+<TD ALIGN="right"><CODE>"-"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#ID">ID</A></CODE></TD>
+<TD ALIGN="right"><CODE>"id"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.METADATA"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#METADATA">METADATA</A></CODE></TD>
+<TD ALIGN="right"><CODE>"metadata"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#NAME">NAME</A></CODE></TD>
+<TD ALIGN="right"><CODE>"name"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.PERIOD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#PERIOD">PERIOD</A></CODE></TD>
+<TD ALIGN="right"><CODE>"."</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.QUALIFIER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#QUALIFIER">QUALIFIER</A></CODE></TD>
+<TD ALIGN="right"><CODE>"qualifier"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.SECTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#SECTION">SECTION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"SECTION"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.SECTION_ELEMENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#SECTION_ELEMENT">SECTION_ELEMENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"Section"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.TITLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#TITLE">TITLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"Title"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.TOC"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#TOC">TOC</A></CODE></TD>
+<TD ALIGN="right"><CODE>"TOC"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.UTF8"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#UTF8">UTF8</A></CODE></TD>
+<TD ALIGN="right"><CODE>"UTF8"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3DL.WILDCARD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3DL.html#WILDCARD">WILDCARD</A></CODE></TD>
+<TD ALIGN="right"><CODE>"*"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.connectionRefusedMessage"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html#connectionRefusedMessage">connectionRefusedMessage</A></CODE></TD>
+<TD ALIGN="right"><CODE>"\nUnable to connect. Either the host and/or port contain invalid values\nOR the fedora server at that location is down/not yet running.\nTry once more by changing the values for host or port."</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.missingTargetService"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html#missingTargetService">missingTargetService</A></CODE></TD>
+<TD ALIGN="right"><CODE>"could not find a target service to invoke"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.sslHandshakeExceptionMessage"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html#sslHandshakeExceptionMessage">sslHandshakeExceptionMessage</A></CODE></TD>
+<TD ALIGN="right"><CODE>"SSLHandshakeException.\nThe protocol \'https\' might beincorrect.\nTry once more. Perhaps with \'http\' instead."</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException.MESSAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#MESSAGE">MESSAGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"Unable to instantiate FedoraToGS3Interface"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException.MESSAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#MESSAGE">MESSAGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"There is a server listening at the given host and port,\nbut it does not seem to be a Fedora server.\nTry changing the host and/or port values."</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ALL_FIELDS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_FIELDS">ALL_FIELDS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"allFields"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ALL_TITLES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_TITLES">ALL_TITLES</A></CODE></TD>
+<TD ALIGN="right"><CODE>"allTitles"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ASSOCFILEPREFIX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ASSOCFILEPREFIX">ASSOCFILEPREFIX</A></CODE></TD>
+<TD ALIGN="right"><CODE>"FG"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.COMMA"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#COMMA">COMMA</A></CODE></TD>
+<TD ALIGN="right"><CODE>","</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.DOC_TITLES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#DOC_TITLES">DOC_TITLES</A></CODE></TD>
+<TD ALIGN="right"><CODE>"docTitles"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.FIELDNAME_ATT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FIELDNAME_ATT">FIELDNAME_ATT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"fieldName"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.FULLTEXT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FULLTEXT">FULLTEXT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"fullText"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.GS3FilePathMacro"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#GS3FilePathMacro">GS3FilePathMacro</A></CODE></TD>
+<TD ALIGN="right"><CODE>"_httpdocimg_"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.MAXDOCS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#MAXDOCS">MAXDOCS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"maxDocs"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.NUM_DOCS_MATCHED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#NUM_DOCS_MATCHED">NUM_DOCS_MATCHED</A></CODE></TD>
+<TD ALIGN="right"><CODE>"numDocsMatched"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.OCCURS_ATT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#OCCURS_ATT">OCCURS_ATT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"occurs"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.QUERY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#QUERY">QUERY</A></CODE></TD>
+<TD ALIGN="right"><CODE>"query"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.FedoraToGS3Interface.Constants.SIMPLEFIELD_ATT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#SIMPLEFIELD_ATT">SIMPLEFIELD_ATT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"simpleField"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.DC_TITLE_FIELD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#DC_TITLE_FIELD">DC_TITLE_FIELD</A></CODE></TD>
+<TD ALIGN="right"><CODE>"dc.title"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.FIELD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#FIELD">FIELD</A></CODE></TD>
+<TD ALIGN="right"><CODE>"field"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.FULLTEXT_FIELD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#FULLTEXT_FIELD">FULLTEXT_FIELD</A></CODE></TD>
+<TD ALIGN="right"><CODE>"ds.fulltext"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.G_FIND_OBJECTS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#G_FIND_OBJECTS">G_FIND_OBJECTS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"gfindObjects"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.HIT_TOTAL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#HIT_TOTAL">HIT_TOTAL</A></CODE></TD>
+<TD ALIGN="right"><CODE>"hitTotal"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.INDEX_NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#INDEX_NAME">INDEX_NAME</A></CODE></TD>
+<TD ALIGN="right"><CODE>"FedoraIndex"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#NAME">NAME</A></CODE></TD>
+<TD ALIGN="right"><CODE>"name"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.OBJECT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#OBJECT">OBJECT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"object"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.PID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#PID">PID</A></CODE></TD>
+<TD ALIGN="right"><CODE>"PID"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.greenstone.fedora.services.GSearchConnection.SPACE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/greenstone/fedora/services/GSearchConnection.html#SPACE">SPACE</A></CODE></TD>
+<TD ALIGN="right"><CODE>" "</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/deprecated-list.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/deprecated-list.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/deprecated-list.html	(revision 15317)
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+Deprecated List
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+</UL>
+
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/help-doc.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/help-doc.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/help-doc.html	(revision 15317)
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+API Help
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Annotation Type</H3>
+<BLOCKQUOTE>
+
+<P>
+Each annotation type has its own separate page with the following sections:<UL>
+<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
+</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Enum</H3>
+<BLOCKQUOTE>
+
+<P>
+Each enum has its own separate page with the following sections:<UL>
+<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
+</BLOCKQUOTE>
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<H3>
+Constant Field Values</H3>
+The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index-all.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index-all.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index-all.html	(revision 15317)
@@ -0,0 +1,1246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+Index
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#___">_</A> <HR>
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#addMetadataWithFixedTagName(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)"><B>addMetadataWithFixedTagName(Document, Element, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method retrieves all the metadata elements in the metaDataStream
+ of the form &lt;"namespace:"metadata name="metadataName"&gt;value&lt;/metadata&gt;  
+ where "namespace" is the namespace prefix of each tag, and metadataName  
+ is the name of the metadata (like author, title).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#addMetadataWithNamespacedTagNames(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)"><B>addMetadataWithNamespacedTagNames(Document, Element, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method retrieves all the metadata elements in the metaDataStream
+ parameter of the form &lt;"metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; where 
+ metadataSetNS is the namespace of each tag, and creates a new element of
+ the form &lt;metadata name="metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; for 
+ each.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_FIELDS"><B>ALL_FIELDS</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>Field search names and separator used externally
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_TITLES"><B>ALL_TITLES</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#APIA"><B>APIA</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The object used to access the Fedora API-A web service methods
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ASSOCFILEPREFIX"><B>ASSOCFILEPREFIX</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>Prefix of the (img) files associated  with Greenstone documents 
+ in the Fedora repository
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#baseURL"><B>baseURL</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The location of the fedora server, usually of the form 
+ http://localhost:8080/fedora
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#browse(java.lang.String, java.lang.String)"><B>browse(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#browse(java.lang.String, java.lang.String)"><B>browse(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#browseMetadataRetrieve(java.lang.String[])"><B>browseMetadataRetrieve(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#browseMetadataRetrieve(java.lang.String[])"><B>browseMetadataRetrieve(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#browseTitlesByLetter(java.lang.String, java.lang.String)"><B>browseTitlesByLetter(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Implements browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#browseTitlesByLetter(java.lang.String, java.lang.String)"><B>browseTitlesByLetter(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Allows browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#builder"><B>builder</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>DocumentBuilder used to create and parse XML documents
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#builder"><B>builder</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>A DocumentBuilder object used to construct and parse XML
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#call"><B>call</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>The Call object used to connect to the FedoraGSearch web services
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#CHILDREN"><B>CHILDREN</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>constant CHILDREN indicates that a DocumentStructureRetrieve is to
+ return only the child nodes of a section, not any further descendants
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTION"><B>COLLECTION</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTIONNAME"><B>COLLECTIONNAME</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#COLON"><B>COLON</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#COMMA"><B>COMMA</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#connectionRefusedMessage"><B>connectionRefusedMessage</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constant string message to display when a connection is refused
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#containsSectionNumber(java.lang.String)"><B>containsSectionNumber(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>For finding out if the sectionNumber is given as part of the docID.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#convertToMetaNumber(java.lang.String)"><B>convertToMetaNumber(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Given a number of the form x(.y.z), this method returns this number
+ as is, except when x = 1, in which case, it would return .y.z 
+ That is, given number=3.2.1, this method would return 3.2.1
+ But, given number=1.2.3, this method would return .2.3.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#createAPIA(fedora.server.access.FedoraAPIAServiceLocator, java.lang.String, java.lang.String, boolean)"><B>createAPIA(FedoraAPIAServiceLocator, String, String, boolean)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Tries to create the FedoraAPIA instance using the serviceLocator
+ and the given portSuffix.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createClassifierElement(org.w3c.dom.Document, java.lang.String, int, java.lang.String, java.lang.String)"><B>createClassifierElement(Document, String, int, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createDocNodeFromSubsection(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String)"><B>createDocNodeFromSubsection(Document, Element, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a particular subsection element, this method creates a 
+ Greenstone3 DocumentNode element that mirrors it.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createDocStructure(org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String)"><B>createDocStructure(Document, Element, Element, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Recursive method that creates a documentStructure mirroring parameter
+ section, starting from parameter parent down to all descendants
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createNameValuePairElement(org.w3c.dom.Document, java.lang.String, java.lang.String, java.lang.String)"><B>createNameValuePairElement(Document, String, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createResponseMessage(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.Exception, java.lang.String, java.lang.String)"><B>createResponseMessage(Document, Element, Exception, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Here we create the greenstone's response message element: 
+ &lt;message&lg;&lt;response&gt;&lt;content&gt;&lt;/response&gt;&lt;/message&gt;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#createServiceList(org.w3c.dom.Document)"><B>createServiceList(Document)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#DC"><B>DC</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Fedora's Dublin Core metadata
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#DC_TITLE_FIELD"><B>DC_TITLE_FIELD</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#defaultPortAddressSuffix"><B>defaultPortAddressSuffix</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The part of the portAddress that comes after the baseURL.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#DESCENDANTS"><B>DESCENDANTS</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>constant DESCENDANTS indicates that a DocumentStructureRetrieve is to
+ return all descendants of a section
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollection(java.lang.String)"><B>describeCollection(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollection(java.lang.String)"><B>describeCollection(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollectionService(java.lang.String, java.lang.String)"><B>describeCollectionService(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionService(java.lang.String, java.lang.String)"><B>describeCollectionService(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollectionServices(java.lang.String)"><B>describeCollectionServices(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionServices(java.lang.String)"><B>describeCollectionServices(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeFieldQueryService(org.w3c.dom.Element)"><B>describeFieldQueryService(Element)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ FieldQuery service.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeService(java.lang.String)"><B>describeService(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#describeService(java.lang.String)"><B>describeService(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#describeTextQueryService(org.w3c.dom.Element)"><B>describeTextQueryService(Element)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ TextQuery service.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#DLS"><B>DLS</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>DLS metadata of Greenstone documents - this metadata set is optionally 
+ provided for top level documents.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#DOC_TITLES"><B>DOC_TITLES</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html#elementToFormattedString(org.w3c.dom.Element)"><B>elementToFormattedString(Element)</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<DD>Given an Element, this will return its String representation properly 
+ indented for display.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html#elementToString(org.w3c.dom.Element)"><B>elementToString(Element)</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<DD>Given an Element, this will return its String representation without
+ indenting it for display.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#ENGLISH"><B>ENGLISH</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#EX"><B>EX</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>EX marks the XML metadata file that contains Greenstone extracted 
+ metadata
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#FEDORA_GS3"><B>FEDORA_GS3</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Instead of message router, we indicate that request messages 
+ sent here come from FedoraGS3
+<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services"><B>FedoraCommons</B></A> - Class in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Methods common to both Fedora(GS3)Connection and GSearchConnection.<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html#FedoraCommons()"><B>FedoraCommons()</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>FedoraConnection</B></A> - Class in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Class that establishes a connection with Fedora's web services (via
+ Java stub classes for the same) and then provides methods to retrieve
+ Greenstone-specific data, such as the TOC, EX, DC,and Section 
+ datastreams of the Greenstone documents stored in Fedora's repository.<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)"><B>FedoraConnection(String, String, int, String, String)</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Code for this constructor is from DemoSOAPClient.java.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection()"><B>FedoraConnection()</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Default constructor which takes input from the user to get host, port, 
+ fedora username and password.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection(java.io.File)"><B>FedoraConnection(File)</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Single argument constructor that takes the name of the properties file
+ defining the values of the initialisation parameters required to
+ instantiate a FedoraConnection.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Connection</B></A> - Class in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Class that extends FedoraConnection in order to be able to use
+ Fedora's web services to retrieve the specific datastreams of 
+ Greenstone documents stored in Fedora's repository.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)"><B>FedoraGS3Connection(String, String, int, String, String)</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>5 argument constructor is the same as that of superclass FedoraConnection:
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection()"><B>FedoraGS3Connection()</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>No-argument constructor which is the same as that of superclass 
+ FedoraConnection: it displays a small dialog requesting input for the 
+ host, port, administrative password and username of the fedora server.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection(java.io.File)"><B>FedoraGS3Connection(File)</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Single-argument constructor which is the same as that of superclass 
+ FedoraConnection: it takes the name of the properties file where
+ connection initialisation values may already be provided and then
+ displays a small dialog requesting input for the host, port, 
+ administrative password and username of the fedora server showing 
+ the values in the properties file as default.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>FedoraGS3DL</B></A> - Interface in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Defines the methods that must be provided to retrieve the datastreams 
+ specific to Greenstone documents stored in a Fedora repository.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>The exceptions that can be thrown by FedoraGS3.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception()"><B>FedoraGS3Exception()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>No argument constructor merely sets the message to 
+ this class' name.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.String)"><B>FedoraGS3Exception(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constructs a FedoraGS3Exception with the given message.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.String, java.lang.Throwable)"><B>FedoraGS3Exception(String, Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constructs a FedoraGS3Exception with the given message and cause.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.Throwable)"><B>FedoraGS3Exception(Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constructs a FedoraGS3Exception with the given cause.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.AuthenticationFailedException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>This AuthenticationFailedException can be thrown when the user enters 
+ an invalid username and password into the FedoraConnection Authentication 
+ popup dialog (displayed upon FedoraConnection object construction).<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html#FedoraGS3Exception.AuthenticationFailedException()"><B>FedoraGS3Exception.AuthenticationFailedException()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.CancelledException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>When the user chooses to cancel out of the FedoraConnection dialog of
+ the constructor (where they have to enter authentication information), 
+ this exception is thrown, so that classes making use of FedoraConnection 
+ may choose whether to exit their program or deal with it differently.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html#FedoraGS3Exception.CancelledException()"><B>FedoraGS3Exception.CancelledException()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3InitFailureException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Static inner class FedoraGS3InitFailureException is an Exception
+ that is thrown when no connection can be made to the Fedora server
+ and therefore the FedoraGS3 object construction failed.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException()"><B>FedoraGS3Exception.FedoraGS3InitFailureException()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String)"><B>FedoraGS3Exception.FedoraGS3InitFailureException(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String, java.lang.Throwable)"><B>FedoraGS3Exception.FedoraGS3InitFailureException(String, Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.Throwable)"><B>FedoraGS3Exception.FedoraGS3InitFailureException(Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3RunException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Represents an exception that occurs when FedoraGS3 is running 
+ A subclass of FedoraGS3Exception<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException()"><B>FedoraGS3Exception.FedoraGS3RunException()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.String)"><B>FedoraGS3Exception.FedoraGS3RunException(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.String, java.lang.Throwable)"><B>FedoraGS3Exception.FedoraGS3RunException(String, Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.Throwable)"><B>FedoraGS3Exception.FedoraGS3RunException(Throwable)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraVersionNotSupportedException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Certain functionality in Fedora - in particular fielded search - is
+ implemented differently or uses slightly different Fedora types in older
+ versions of Fedora (fielded search in 2.0 uses a different Condition class).<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html#FedoraGS3Exception.FedoraVersionNotSupportedException(java.lang.String)"><B>FedoraGS3Exception.FedoraVersionNotSupportedException(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.NotAFedoraServerException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>This AuthenticationFailedException can be thrown when there is some
+ server listening at the host and port values entered by the user, but
+ when this server is (most likely) not a Fedora Server.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#FedoraGS3Exception.NotAFedoraServerException()"><B>FedoraGS3Exception.NotAFedoraServerException()</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#FedoraGS3Exception.NotAFedoraServerException(java.lang.String)"><B>FedoraGS3Exception.NotAFedoraServerException(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.ServerNotFoundException</B></A> - Exception in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>This ServerNotFoundException can be thrown when the user enters 
+ there is no (Fedora) server listening at a given host and port.<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html#FedoraGS3Exception.ServerNotFoundException(java.lang.String)"><B>FedoraGS3Exception.ServerNotFoundException(String)</B></A> - 
+Constructor for exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#fedoraGSearch"><B>fedoraGSearch</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>The object used to connect to FedoraGenericSearch, which is used 
+ for doing full-text searching
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface</B></A> - Interface in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>The following methods return the same data as FedoraGS3DL, but formatted as 
+ Greenstone Response-Message XML.<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface.Constants</B></A> - Interface in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Interface declaring some string constants of literals to look for<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#fedoraVersion"><B>fedoraVersion</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Version of the running fedora server
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#FIELD"><B>FIELD</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FIELDNAME_ATT"><B>FIELDNAME_ATT</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#fieldQuery(java.lang.String, java.util.Map, int)"><B>fieldQuery(String, Map, int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method performs a fieldquery, searching for x number of phrases
+ in each of the 4 indexed fields.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#findObjectsWithTitlesContaining(java.lang.String, java.lang.String)"><B>findObjectsWithTitlesContaining(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#formatSearchTermsInField(java.lang.String, java.lang.String)"><B>formatSearchTermsInField(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Each field is a comma separated list of terms that may be either a word  
+ OR a phrase.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FULLTEXT"><B>FULLTEXT</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#FULLTEXT_FIELD"><B>FULLTEXT_FIELD</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#G_FIND_OBJECTS"><B>G_FIND_OBJECTS</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>The names of the methods we use of Fedora Generic Search's web services
+ are declared here as static final Strings.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#GET"><B>GET</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getAssocFileBaseURL()"><B>getAssocFileBaseURL()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getAssocFileBaseURL()"><B>getAssocFileBaseURL()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getBaseURL()"><B>getBaseURL()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getBaseURL()"><B>getBaseURL()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getChildren(java.lang.String)"><B>getChildren(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getChildren(java.lang.String[])"><B>getChildren(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String)"><B>getChildren(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String[])"><B>getChildren(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSection(java.lang.String, java.lang.String)"><B>getChildrenOfSection(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSection(java.lang.String, java.lang.String)"><B>getChildrenOfSection(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)"><B>getChildrenOfSectionXML(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)"><B>getChildrenOfSectionXML(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionDocs(java.lang.String)"><B>getCollectionDocs(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Searches the fedora repository for all greenstone:&lt;colPID&gt;* and 
+ returns the PIDs of the data objects found, with the exception of 
+ greenstone:&lt;colPID&gt;-collection, which is not a document but a 
+ collection PID.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionDocs(java.lang.String)"><B>getCollectionDocs(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionList()"><B>getCollectionList()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionList()"><B>getCollectionList()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionMetadata(java.lang.String[])"><B>getCollectionMetadata(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionMetadata(java.lang.String)"><B>getCollectionMetadata(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String[])"><B>getCollectionMetadata(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String)"><B>getCollectionMetadata(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionName(java.lang.String)"><B>getCollectionName(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionName(java.lang.String)"><B>getCollectionName(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionNames(java.lang.String[])"><B>getCollectionNames(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionNames(java.lang.String[])"><B>getCollectionNames(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionPID(java.lang.String)"><B>getCollectionPID(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPID(java.lang.String)"><B>getCollectionPID(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionPIDs(java.lang.String[])"><B>getCollectionPIDs(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPIDs(java.lang.String[])"><B>getCollectionPIDs(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollections()"><B>getCollections()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Gets all greenstone collections.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollections()"><B>getCollections()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Gets all greenstone collections.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitle(java.lang.String)"><B>getCollectionTitle(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitle(java.lang.String)"><B>getCollectionTitle(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitles(java.lang.String[])"><B>getCollectionTitles(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitles(java.lang.String[])"><B>getCollectionTitles(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getContent(java.lang.String)"><B>getContent(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given an identifier that is either a docPID or a concatenation of 
+ docPID+sectionID, this method works out the fedora assigned docPID and 
+ sectionID and then calls getContentBody(docPID, sectionID) with those.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getContent(java.lang.String[])"><B>getContent(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given an identifier that is a concatenation of docID+sectionID, this
+ method works out the fedora assigned docPID and sectionID and then calls 
+ getContentBody(docPID, sectionID) with those.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String)"><B>getContent(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a list of document identifiers that are either docPIDs or  
+ concatenations of docPID+sectionID, this method retrieves their contents.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String[])"><B>getContent(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a document identifier that is either a docPID or a concatenation  
+ of docPID+sectionID, this method retrieves the content for it.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getContentBody(java.lang.String, java.lang.String)"><B>getContentBody(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Gets the contents of a textNode from a section.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getDC(java.lang.String)"><B>getDC(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>All objects (incl "greenstone:*" objects) in fedora - be they collections,   
+ top-level documents or document sections - have a DC datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getDC(java.lang.String)"><B>getDC(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>All objects (incl "greenstone:*" objects) in fedora - be they collections, 
+ top-level documents or document sections) have an EX datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getDLS(java.lang.String)"><B>getDLS(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getDLS(java.lang.String)"><B>getDLS(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getDocName(java.lang.String)"><B>getDocName(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getDocName(java.lang.String)"><B>getDocName(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getDocPIDFromDocID(java.lang.String)"><B>getDocPIDFromDocID(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method will extract the docPID from docID and return it.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getDocTitle(java.lang.String)"><B>getDocTitle(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Gets the title metadata for a particular doc object in a collection
+ denoted by docPID.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitle(java.lang.String)"><B>getDocTitle(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Gets the title metadata for a particular doc object in a collection
+ denoted by docPID.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getDocTitles(java.lang.String[])"><B>getDocTitles(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitles(java.lang.String[])"><B>getDocTitles(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentMetadata(java.lang.String[])"><B>getDocumentMetadata(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentMetadata(java.lang.String)"><B>getDocumentMetadata(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String[])"><B>getDocumentMetadata(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String)"><B>getDocumentMetadata(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentStructure(java.lang.String)"><B>getDocumentStructure(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentStructure(java.lang.String[])"><B>getDocumentStructure(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String)"><B>getDocumentStructure(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String[])"><B>getDocumentStructure(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getEX(java.lang.String)"><B>getEX(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>All "greenstone:*" objects in fedora (be they collections be they 
+ collections, top-level documents or document sections) have an EX 
+ datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getEX(java.lang.String)"><B>getEX(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>All "greenstone:*" objects in fedora (be they collections, top-level 
+ documents or document sections) have an EX datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getFedoraVersion()"><B>getFedoraVersion()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The version of the running Fedora server, which may or may not
+ match the supported version.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getGSearchWSDLURL()"><B>getGSearchWSDLURL()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getItem(java.lang.String, java.lang.String)"><B>getItem(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Return a datastream of a document, given the document's id
+ and the item id of the datastream which is to be retrieved.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getLanguage()"><B>getLanguage()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getLanguage()"><B>getLanguage()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getMaxResults()"><B>getMaxResults()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The default maximum number of search results returned for a search.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getMaxResults()"><B>getMaxResults()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>The default maximum number of search results returned for a search.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#getMessage()"><B>getMessage()</B></A> - 
+Method in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>Overloading getMessage() to return some details as to what
+ exactly went wrong.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getMetadata(java.lang.String[])"><B>getMetadata(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getMetadata(org.w3c.dom.Document, java.lang.String)"><B>getMetadata(Document, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Method that takes a new DOM document, as well as an identifier of either
+ a collection or document (which may be a fedora pid for the collection 
+ or document, or may be the documentPid-sectionNumber for a document) and
+ returns a documentNode element for it: 
+ &lt;documentNode&gt;&lt;metadataList&gt;
+ &lt;metadata name=""&gt;value&lt;/metadata&gt; 
+ ...
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getMetadata(java.lang.String[])"><B>getMetadata(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#getPIDsFromSearchResult(java.lang.String, java.lang.String)"><B>getPIDsFromSearchResult(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Call this method with the return value of calling search().
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getPortAddressURL()"><B>getPortAddressURL()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getPortAddressURL()"><B>getPortAddressURL()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html#getResponseAsDOM(javax.xml.parsers.DocumentBuilder, java.lang.String)"><B>getResponseAsDOM(DocumentBuilder, String)</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<DD>Turns the XML String into a DOM tree and returns it.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSection(java.lang.String, java.lang.String)"><B>getSection(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSection(java.lang.String, java.lang.String)"><B>getSection(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionDCMetadata(java.lang.String, java.lang.String)"><B>getSectionDCMetadata(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionDCMetadata(java.lang.String, java.lang.String)"><B>getSectionDCMetadata(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionEXMetadata(java.lang.String, java.lang.String)"><B>getSectionEXMetadata(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Returns the section EX metadata XML datastream for SectionID which may be 
+ a section name or number.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionEXMetadata(java.lang.String, java.lang.String)"><B>getSectionEXMetadata(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getSectionIDFromDocID(java.lang.String)"><B>getSectionIDFromDocID(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>This method will return the section Number, if there's any
+ suffixed to the docID.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionNames(java.lang.String)"><B>getSectionNames(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNames(java.lang.String)"><B>getSectionNames(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionNumbers(java.lang.String)"><B>getSectionNumbers(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNumbers(java.lang.String)"><B>getSectionNumbers(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionTitle(java.lang.String, java.lang.String)"><B>getSectionTitle(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitle(java.lang.String, java.lang.String)"><B>getSectionTitle(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSectionTitles(java.lang.String[], java.lang.String[])"><B>getSectionTitles(String[], String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitles(java.lang.String[], java.lang.String[])"><B>getSectionTitles(String[], String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getServiceList()"><B>getServiceList()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getServiceList()"><B>getServiceList()</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getServiceNames()"><B>getServiceNames()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getStructure(java.lang.String[], int)"><B>getStructure(String[], int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Returns a greenstone3 DocumentStructureRetrieve XML response message 
+ containing the document structures for the given docIDs.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getStructure(org.w3c.dom.Document, java.lang.String, java.lang.String, org.w3c.dom.Element)"><B>getStructure(Document, String, String, Element)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Takes the portion of the XML document outlining the structure of the 
+ document (section)--in the format this is stored in Fedora--and returns 
+ Greenstone 3 DOM XML format for outlining document structure.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getStructureElement(org.w3c.dom.Element, java.lang.String[], int)"><B>getStructureElement(Element, String[], int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a &lt;documentNodeList&gt; portion of a greenstone3 
+ DocumentStructureRetrieve XML response message, this method will populate 
+ it with the &lt;documentNodes&gt; that represent the structure of the given docIDs.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSubsection(java.lang.String, java.lang.String)"><B>getSubsection(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSubsection(java.lang.String, java.lang.String)"><B>getSubsection(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSubsectionXML(java.lang.String, java.lang.String)"><B>getSubsectionXML(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getSubsectionXML(java.lang.String, java.lang.String)"><B>getSubsectionXML(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSubstructure(org.w3c.dom.Element, boolean)"><B>getSubstructure(Element, boolean)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Convert the given Element to a String representing the same XML.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getSupportedVersion()"><B>getSupportedVersion()</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Static method that returns the version of Fedora supported by this
+ class FedoraConnection.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String)"><B>getTitle(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Given a string representation of a document's or document section's  
+ EX datastream -- which is a greenstone extracted metadata XML file -- 
+ of the form:
+ &lt;ex&gt;
+ &lt;ex:metadata name="Title"&gt;sometitle&lt;/ex:metadata&gt;
+ &lt;ex:metadata name="..."&gt;....&lt;/ex:metadata&gt;
+ ...
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String, java.lang.String)"><B>getTitle(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getTitle(java.lang.String, java.lang.String)"><B>getTitle(String, String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(java.lang.String)"><B>getTitleMetadata(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(java.lang.String[])"><B>getTitleMetadata(String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(org.w3c.dom.Document, java.lang.String)"><B>getTitleMetadata(Document, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Method that takes a new DOM document, as well as an identifier of either
+ a document or document section and returns a documentNode element containing
+ the title metadata for it: 
+ &lt;documentNode nodeID="docID"&gt;&lt;metadataList&gt;
+ &lt;metadata name="Title"&gt;sometitle&lt;/metadata&gt;
+ &lt;/metadataList&gt;&lt;/documentNode&gt;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String)"><B>getTitleMetadata(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String[])"><B>getTitleMetadata(String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getTitles(java.lang.String, java.lang.String[])"><B>getTitles(String, String[])</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getTitles(java.lang.String, java.lang.String[])"><B>getTitles(String, String[])</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#getTOC(java.lang.String)"><B>getTOC(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#getTOC(java.lang.String)"><B>getTOC(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraCommons.html#getValue(org.w3c.dom.Element)"><B>getValue(Element)</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A>
+<DD>Extract the text from an element, if any.
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#gFindObjects(java.lang.String, java.lang.String, int, int, int, int, java.lang.String, java.lang.String)"><B>gFindObjects(String, String, int, int, int, int, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Method to invoke gfindObjects operation of Fedora Generic Search
+ web services.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE"><B>GREENSTONE</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>"greenstone" is the FEDORA PID prefix we'll be working with
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE_"><B>GREENSTONE_</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#GS3FilePathMacro"><B>GS3FilePathMacro</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services"><B>GSearchConnection</B></A> - Class in <A HREF="./org/greenstone/fedora/services/package-summary.html">org.greenstone.fedora.services</A><DD>Class GSearchConnection connects to FedoraGSearch's web services.<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#GSearchConnection(java.lang.String)"><B>GSearchConnection(String)</B></A> - 
+Constructor for class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Constructor that takes a String representing the url of the WSDL
+ file for FedoraGSearch's web services, and tries to establish a 
+ connection to those web services.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#gSearchWSDLSuffix"><B>gSearchWSDLSuffix</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>The last part of the gSearchWSDL URL.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#gSearchWSDLURL"><B>gSearchWSDLURL</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>The url for the wsdl file of FedoraGSearch's web services
+ by default this will be the Fedora server's base URL 
+ concatenated to "gsearch/services/FgsOperations?wsdl"
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#HIT_TOTAL"><B>HIT_TOTAL</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#HYPHEN"><B>HYPHEN</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#ID"><B>ID</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#INDEX_NAME"><B>INDEX_NAME</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#init(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>init(String, String, String, String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Init method that is called by the constructor to set some
+ important member variables including instantiating the APIA object
+ used to invoke the Fedora APIA web service operations.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#initSearchFunctionality()"><B>initSearchFunctionality()</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Init method that instantiates a GSearchConnection object used
+ to work with the separate FedoraGSearch web services.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#INTERNAL_NODE"><B>INTERNAL_NODE</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_L_"><!-- --></A><H2>
+<B>L</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#lang"><B>lang</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The preferred language of the displat content
+</DL>
+<HR>
+<A NAME="_M_"><!-- --></A><H2>
+<B>M</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#MAXDOCS"><B>MAXDOCS</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>names of query form controls
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#maxresults"><B>maxresults</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The maximum number of collections to retrieve
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#MESSAGE"><B>MESSAGE</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#MESSAGE"><B>MESSAGE</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#METADATA"><B>METADATA</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#missingTargetService"><B>missingTargetService</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constant string message to check against if "AXIS engine  
+ could not find a target service to invoke" message is the cause 
+ for an AxisFault exception embedded in a RemoteException
+</DL>
+<HR>
+<A NAME="_N_"><!-- --></A><H2>
+<B>N</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#NAME"><B>NAME</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#NAME"><B>NAME</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#NAMESPACE_URI"><B>NAMESPACE_URI</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#NUM_DOCS_MATCHED"><B>NUM_DOCS_MATCHED</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_O_"><!-- --></A><H2>
+<B>O</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#OBJECT"><B>OBJECT</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#OCCURS_ATT"><B>OCCURS_ATT</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/package-summary.html"><B>org.greenstone.fedora.services</B></A> - package org.greenstone.fedora.services<DD>&nbsp;</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#PERIOD"><B>PERIOD</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#PID"><B>PID</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#portAddressSuffix"><B>portAddressSuffix</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The user-specified portAddressSuffix of the Fedora Access web services 
+ (endpoint URL in the WSDL), usually of the form 
+ http://localhost:8080/fedora/services/access 
+ Users can tell FedoraGS3 to try accessing that first by setting 
+ the "port.address.suffix" property in the properties file.
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#portName"><B>portName</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>The portName object used when connecting to FedoraGSearch's web services
+</DL>
+<HR>
+<A NAME="_Q_"><!-- --></A><H2>
+<B>Q</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#QUALIFIER"><B>QUALIFIER</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#query(java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, Map)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#QUERY"><B>QUERY</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html#query(java.lang.String, java.lang.String, java.util.Map)"><B>query(String, String, Map)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#removePrefix(java.lang.String, java.lang.String)"><B>removePrefix(String, String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Given something like str="SECTION1.2.1" and prefix="SECTION" this method 
+ returns "1.2.1".
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#search(java.lang.String, java.lang.String, int, int, int)"><B>search(String, String, int, int, int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Method that performs a search for the given searchTerm inside the given
+ indexed field.
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#search(java.util.Map, int, int)"><B>search(Map, int, int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>FedoraGSearch accepts a query of the form: 
+ <code>&lt;"cyclone val" "Gender Inequalities" ds.fulltext:"cyclone val"
+ ds.fulltext:"worst storm"&gt;</code>
+ where the first two phrases are searched for in all indexed fields,
+ (in this case dc.title and ds.fulltext), while the last two are 
+ searched for in the ds.fulltext field.
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#search(java.lang.String, int, int, int)"><B>search(String, int, int, int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>Uses FedoraGSearch to perform a search where the query is embedded in
+ fieldedSearchTerms, which not only provides the terms to search on, but
+ also the fields to search the (various) given terms in.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)"><B>searchDocumentTitles(String, String, boolean)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Implements querying document DC titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)"><B>searchDocumentTitles(String, String, boolean)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Allows querying document titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#SECTION"><B>SECTION</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>The SECTION prefix in the name of a section's datastream; 
+ eg.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#SECTION_ELEMENT"><B>SECTION_ELEMENT</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#service"><B>service</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>The Service object used to connect to the FedoraGSearch web services
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#SERVICE_NAME"><B>SERVICE_NAME</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#serviceNames"><B>serviceNames</B></A> - 
+Variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>List of services actually supported by our FedoraGS3 repository 
+ after construction.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#SERVICES"><B>SERVICES</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Complete list of services that are supported our FedoraGS3 would  
+ support if everything goes well.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#setGSearchWSDLURL(java.lang.String)"><B>setGSearchWSDLURL(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>Sets the member variable gSearchWSDLURL that specify the location of
+ the WSDL file of FedoraGSearch's web services.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#setInitialisationProperties(java.util.Properties)"><B>setInitialisationProperties(Properties)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Method that loops to display the dialog that retrieves the 
+ fedora server initialisation properties from the user.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#setInitialisationProperties(java.util.Properties)"><B>setInitialisationProperties(Properties)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>The superclass constructor calls this method passing any preset  
+ properties loaded from a propertiesFile.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Sets the the default language used to query for titles (and anything else
+ where there are multiple language options).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#setLanguage(java.lang.String)"><B>setLanguage(String)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Sets the the default language used to query for titles (and anything else
+ where there are multiple language options).
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#setMaxResults(int)"><B>setMaxResults(int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Set the default maximum number of search results returned for a search.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#setMaxResults(int)"><B>setMaxResults(int)</B></A> - 
+Method in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Set the default maximum number of search results returned for a search.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#setSpecifics(java.lang.String)"><B>setSpecifics(String)</B></A> - 
+Method in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#showAuthenticationPopup(java.util.Properties)"><B>showAuthenticationPopup(Properties)</B></A> - 
+Static method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>Static method that displays a popup to allow the user to provide Fedora  
+ authentication (username, pwd) and connection (protocol+host, port) details.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#SIMPLEFIELD_ATT"><B>SIMPLEFIELD_ATT</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/GSearchConnection.html#SPACE"><B>SPACE</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A>
+<DD>separator used internally to separate values of a search field
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#specifics"><B>specifics</B></A> - 
+Variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>Some extra information as to what when wrong
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html#sslHandshakeExceptionMessage"><B>sslHandshakeExceptionMessage</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A>
+<DD>Constant string message to display if the sslHandshake fails
+ when trying to connect to Fedora using https
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#SUPPORTED_VERSION"><B>SUPPORTED_VERSION</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>The version of fedora that is supported by class FedoraConnection
+</DL>
+<HR>
+<A NAME="_T_"><!-- --></A><H2>
+<B>T</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html#textQuery(java.lang.String, java.lang.String, int)"><B>textQuery(String, String, int)</B></A> - 
+Method in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#TITLE"><B>TITLE</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#TOC"><B>TOC</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>Table of contents for a Greenstone-Fedora document which outlines the 
+ structure of the document.
+<DT><A HREF="./org/greenstone/fedora/services/FedoraConnection.html#TYPE"><B>TYPE</B></A> - 
+Static variable in class org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#UTF8"><B>UTF8</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_W_"><!-- --></A><H2>
+<B>W</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#WILDCARD"><B>WILDCARD</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_X_"><!-- --></A><H2>
+<B>X</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#xmlToStringConversionFailureResponseMsg"><B>xmlToStringConversionFailureResponseMsg</B></A> - 
+Static variable in exception org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>
+<DD>If a problem occurs converting the error message into XML
+ this string is created in the format of XML stating the 
+ problem that occurred when trying to convert XML to String.
+</DL>
+<HR>
+<A NAME="___"><!-- --></A><H2>
+<B>_</B></H2>
+<DL>
+<DT><A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html#_COLLECTION"><B>_COLLECTION</B></A> - 
+Static variable in interface org.greenstone.fedora.services.<A HREF="./org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <A HREF="#___">_</A> 
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/index.html	(revision 15317)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Sun Apr 27 20:42:39 NZST 2008-->
+<TITLE>
+Generated Documentation (Untitled)
+</TITLE>
+<SCRIPT type="text/javascript">
+    targetPage = "" + window.location.search;
+    if (targetPage != "" && targetPage != "undefined")
+       targetPage = targetPage.substring(1);
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+</HEAD>
+<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+<FRAME src="org/greenstone/fedora/services/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="org/greenstone/fedora/services/package-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.html	(revision 15317)
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:37 NZST 2008 -->
+<TITLE>
+FedoraCommons
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraCommons class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraCommons";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraCommons.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraCommons.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraCommons</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraCommons</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>FedoraCommons</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Methods common to both Fedora(GS3)Connection and GSearchConnection.
+ Made static here so they can be reused by these classes.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html#FedoraCommons()">FedoraCommons</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html#elementToFormattedString(org.w3c.dom.Element)">elementToFormattedString</A></B>(org.w3c.dom.Element&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an Element, this will return its String representation properly 
+ indented for display.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html#elementToString(org.w3c.dom.Element)">elementToString</A></B>(org.w3c.dom.Element&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an Element, this will return its String representation without
+ indenting it for display.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html#getResponseAsDOM(javax.xml.parsers.DocumentBuilder, java.lang.String)">getResponseAsDOM</A></B>(javax.xml.parsers.DocumentBuilder&nbsp;builder,
+                 java.lang.String&nbsp;XML)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Turns the XML String into a DOM tree and returns it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html#getValue(org.w3c.dom.Element)">getValue</A></B>(org.w3c.dom.Element&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extract the text from an element, if any.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraCommons()"><!-- --></A><H3>
+FedoraCommons</H3>
+<PRE>
+public <B>FedoraCommons</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getValue(org.w3c.dom.Element)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public static java.lang.String <B>getValue</B>(org.w3c.dom.Element&nbsp;e)</PRE>
+<DL>
+<DD>Extract the text from an element, if any.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - is the element whose value is to be extracted.
+<DT><B>Returns:</B><DD>the text that's nested in an element's body or "" 
+ if there's none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResponseAsDOM(javax.xml.parsers.DocumentBuilder, java.lang.String)"><!-- --></A><H3>
+getResponseAsDOM</H3>
+<PRE>
+public static org.w3c.dom.Element <B>getResponseAsDOM</B>(javax.xml.parsers.DocumentBuilder&nbsp;builder,
+                                                   java.lang.String&nbsp;XML)
+                                            throws org.xml.sax.SAXException,
+                                                   java.io.IOException</PRE>
+<DL>
+<DD>Turns the XML String into a DOM tree and returns it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>XML</CODE> - the string to be converted into a DOM tree<DD><CODE>builder</CODE> - is the DocumentBuilder to use to parse the string XML
+<DT><B>Returns:</B><DD>the root element of the document by parsing the string XML
+<DT><B>Throws:</B>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementToString(org.w3c.dom.Element)"><!-- --></A><H3>
+elementToString</H3>
+<PRE>
+public static java.lang.String <B>elementToString</B>(org.w3c.dom.Element&nbsp;e)
+                                        throws javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD>Given an Element, this will return its String representation without
+ indenting it for display.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - is the element to be converted to its string representation.
+<DT><B>Returns:</B><DD>a string representation of e without formatting it for display.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementToFormattedString(org.w3c.dom.Element)"><!-- --></A><H3>
+elementToFormattedString</H3>
+<PRE>
+public static java.lang.String <B>elementToFormattedString</B>(org.w3c.dom.Element&nbsp;e)
+                                                 throws javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD>Given an Element, this will return its String representation properly 
+ indented for display.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - is the element to be converted to its string representation.
+<DT><B>Returns:</B><DD>a string representation of e, formatted for display.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraCommons.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraCommons.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.html	(revision 15317)
@@ -0,0 +1,2406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraConnection
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraConnection class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraConnection";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraConnection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraConnection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraConnection</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>FedoraConnection</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></DL>
+</PRE>
+
+<P>
+Class that establishes a connection with Fedora's web services (via
+ Java stub classes for the same) and then provides methods to retrieve
+ Greenstone-specific data, such as the TOC, EX, DC,and Section 
+ datastreams of the Greenstone documents stored in Fedora's repository.
+ These datastreams are returned as Strings without any changes being
+ made to them.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;fedora.server.access.FedoraAPIA</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#APIA">APIA</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The object used to access the Fedora API-A web service methods</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#baseURL">baseURL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The location of the fedora server, usually of the form 
+ http://localhost:8080/fedora</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.xml.parsers.DocumentBuilder</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#builder">builder</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentBuilder used to create and parse XML documents</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#defaultPortAddressSuffix">defaultPortAddressSuffix</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The part of the portAddress that comes after the baseURL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#fedoraVersion">fedoraVersion</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Version of the running fedora server</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#GET">GET</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#INTERNAL_NODE">INTERNAL_NODE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#lang">lang</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The preferred language of the displat content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#maxresults">maxresults</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The maximum number of collections to retrieve</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#portAddressSuffix">portAddressSuffix</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The user-specified portAddressSuffix of the Fedora Access web services 
+ (endpoint URL in the WSDL), usually of the form 
+ http://localhost:8080/fedora/services/access 
+ Users can tell FedoraGS3 to try accessing that first by setting 
+ the "port.address.suffix" property in the properties file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#SUPPORTED_VERSION">SUPPORTED_VERSION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The version of fedora that is supported by class FedoraConnection</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#TYPE">TYPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3DL"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#_COLLECTION">_COLLECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTION">COLLECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTIONNAME">COLLECTIONNAME</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLON">COLON</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DC">DC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DLS">DLS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ENGLISH">ENGLISH</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#EX">EX</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#FEDORA_GS3">FEDORA_GS3</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE">GREENSTONE</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE_">GREENSTONE_</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#HYPHEN">HYPHEN</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ID">ID</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#METADATA">METADATA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#NAME">NAME</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#PERIOD">PERIOD</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#QUALIFIER">QUALIFIER</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION">SECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION_ELEMENT">SECTION_ELEMENT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TITLE">TITLE</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TOC">TOC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#UTF8">UTF8</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#WILDCARD">WILDCARD</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection()">FedoraConnection</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor which takes input from the user to get host, port, 
+ fedora username and password.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection(java.io.File)">FedoraConnection</A></B>(java.io.File&nbsp;propertyFile)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Single argument constructor that takes the name of the properties file
+ defining the values of the initialisation parameters required to
+ instantiate a FedoraConnection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#FedoraConnection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)">FedoraConnection</A></B>(java.lang.String&nbsp;protocol,
+                 java.lang.String&nbsp;host,
+                 int&nbsp;port,
+                 java.lang.String&nbsp;fedoraServerUsername,
+                 java.lang.String&nbsp;fedoraServerPassword)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Code for this constructor is from DemoSOAPClient.java.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#browseTitlesByLetter(java.lang.String, java.lang.String)">browseTitlesByLetter</A></B>(java.lang.String&nbsp;collName,
+                     java.lang.String&nbsp;letter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#convertToMetaNumber(java.lang.String)">convertToMetaNumber</A></B>(java.lang.String&nbsp;number)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a number of the form x(.y.z), this method returns this number
+ as is, except when x = 1, in which case, it would return .y.z 
+ That is, given number=3.2.1, this method would return 3.2.1
+ But, given number=1.2.3, this method would return .2.3.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#createAPIA(fedora.server.access.FedoraAPIAServiceLocator, java.lang.String, java.lang.String, boolean)">createAPIA</A></B>(fedora.server.access.FedoraAPIAServiceLocator&nbsp;serviceLocator,
+           java.lang.String&nbsp;portSuffix,
+           java.lang.String&nbsp;messageInsert,
+           boolean&nbsp;isUserSpecifiedPortAddressSuffix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tries to create the FedoraAPIA instance using the serviceLocator
+ and the given portSuffix.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;fedora.server.types.gen.FieldSearchResult</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#findObjectsWithTitlesContaining(java.lang.String, java.lang.String)">findObjectsWithTitlesContaining</A></B>(java.lang.String&nbsp;collName,
+                                java.lang.String&nbsp;titleWord)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getBaseURL()">getBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSection(java.lang.String, java.lang.String)">getChildrenOfSection</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)">getChildrenOfSectionXML</A></B>(java.lang.String&nbsp;docPID,
+                        java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionDocs(java.lang.String)">getCollectionDocs</A></B>(java.lang.String&nbsp;colPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Searches the fedora repository for all greenstone:&lt;colPID&gt;* and 
+ returns the PIDs of the data objects found, with the exception of 
+ greenstone:&lt;colPID&gt;-collection, which is not a document but a 
+ collection PID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionName(java.lang.String)">getCollectionName</A></B>(java.lang.String&nbsp;collPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionNames(java.lang.String[])">getCollectionNames</A></B>(java.lang.String[]&nbsp;collPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionPID(java.lang.String)">getCollectionPID</A></B>(java.lang.String&nbsp;collName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionPIDs(java.lang.String[])">getCollectionPIDs</A></B>(java.lang.String[]&nbsp;collNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollections()">getCollections</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets all greenstone collections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitle(java.lang.String)">getCollectionTitle</A></B>(java.lang.String&nbsp;collPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitles(java.lang.String[])">getCollectionTitles</A></B>(java.lang.String[]&nbsp;collPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDC(java.lang.String)">getDC</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All objects (incl "greenstone:*" objects) in fedora - be they collections,   
+ top-level documents or document sections - have a DC datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDLS(java.lang.String)">getDLS</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocName(java.lang.String)">getDocName</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocTitle(java.lang.String)">getDocTitle</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the title metadata for a particular doc object in a collection
+ denoted by docPID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocTitles(java.lang.String[])">getDocTitles</A></B>(java.lang.String[]&nbsp;docPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getEX(java.lang.String)">getEX</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All "greenstone:*" objects in fedora (be they collections be they 
+ collections, top-level documents or document sections) have an EX 
+ datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getFedoraVersion()">getFedoraVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The version of the running Fedora server, which may or may not
+ match the supported version.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getItem(java.lang.String, java.lang.String)">getItem</A></B>(java.lang.String&nbsp;docPID,
+        java.lang.String&nbsp;itemID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a datastream of a document, given the document's id
+ and the item id of the datastream which is to be retrieved.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getLanguage()">getLanguage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getMaxResults()">getMaxResults</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default maximum number of search results returned for a search.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getPortAddressURL()">getPortAddressURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSection(java.lang.String, java.lang.String)">getSection</A></B>(java.lang.String&nbsp;docPID,
+           java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionDCMetadata(java.lang.String, java.lang.String)">getSectionDCMetadata</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionEXMetadata(java.lang.String, java.lang.String)">getSectionEXMetadata</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the section EX metadata XML datastream for SectionID which may be 
+ a section name or number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionNames(java.lang.String)">getSectionNames</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionNumbers(java.lang.String)">getSectionNumbers</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionTitle(java.lang.String, java.lang.String)">getSectionTitle</A></B>(java.lang.String&nbsp;docPID,
+                java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionTitles(java.lang.String[], java.lang.String[])">getSectionTitles</A></B>(java.lang.String[]&nbsp;docPIDs,
+                 java.lang.String[]&nbsp;sectionIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubsection(java.lang.String, java.lang.String)">getSubsection</A></B>(java.lang.String&nbsp;docPID,
+              java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubsectionXML(java.lang.String, java.lang.String)">getSubsectionXML</A></B>(java.lang.String&nbsp;docPID,
+                 java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubstructure(org.w3c.dom.Element, boolean)">getSubstructure</A></B>(org.w3c.dom.Element&nbsp;e,
+                boolean&nbsp;descendents)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the given Element to a String representing the same XML.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSupportedVersion()">getSupportedVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static method that returns the version of Fedora supported by this
+ class FedoraConnection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String)">getTitle</A></B>(java.lang.String&nbsp;exStream)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a string representation of a document's or document section's  
+ EX datastream -- which is a greenstone extracted metadata XML file -- 
+ of the form:
+ &lt;ex&gt;
+ &lt;ex:metadata name="Title"&gt;sometitle&lt;/ex:metadata&gt;
+ &lt;ex:metadata name="..."&gt;....&lt;/ex:metadata&gt;
+ ...</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String, java.lang.String)">getTitle</A></B>(java.lang.String&nbsp;docPID,
+         java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitles(java.lang.String, java.lang.String[])">getTitles</A></B>(java.lang.String&nbsp;docPID,
+          java.lang.String[]&nbsp;sectionIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTOC(java.lang.String)">getTOC</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#init(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">init</A></B>(java.lang.String&nbsp;protocol,
+     java.lang.String&nbsp;host,
+     java.lang.String&nbsp;port,
+     java.lang.String&nbsp;fedoraServerUsername,
+     java.lang.String&nbsp;fedoraServerPassword)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init method that is called by the constructor to set some
+ important member variables including instantiating the APIA object
+ used to invoke the Fedora APIA web service operations.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#removePrefix(java.lang.String, java.lang.String)">removePrefix</A></B>(java.lang.String&nbsp;str,
+             java.lang.String&nbsp;prefix)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given something like str="SECTION1.2.1" and prefix="SECTION" this method 
+ returns "1.2.1".</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)">searchDocumentTitles</A></B>(java.lang.String&nbsp;collName,
+                     java.lang.String&nbsp;titleContents,
+                     boolean&nbsp;startsWith)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implements querying document DC titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setInitialisationProperties(java.util.Properties)">setInitialisationProperties</A></B>(java.util.Properties&nbsp;properties)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that loops to display the dialog that retrieves the 
+ fedora server initialisation properties from the user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;lang)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the the default language used to query for titles (and anything else
+ where there are multiple language options).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setMaxResults(int)">setMaxResults</A></B>(int&nbsp;maxresults)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the default maximum number of search results returned for a search.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.util.Properties</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#showAuthenticationPopup(java.util.Properties)">showAuthenticationPopup</A></B>(java.util.Properties&nbsp;properties)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static method that displays a popup to allow the user to provide Fedora  
+ authentication (username, pwd) and connection (protocol+host, port) details.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="SUPPORTED_VERSION"><!-- --></A><H3>
+SUPPORTED_VERSION</H3>
+<PRE>
+protected static final java.lang.String <B>SUPPORTED_VERSION</B></PRE>
+<DL>
+<DD>The version of fedora that is supported by class FedoraConnection
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraConnection.SUPPORTED_VERSION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TYPE"><!-- --></A><H3>
+TYPE</H3>
+<PRE>
+protected static final java.lang.String <B>TYPE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraConnection.TYPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="INTERNAL_NODE"><!-- --></A><H3>
+INTERNAL_NODE</H3>
+<PRE>
+protected static final java.lang.String <B>INTERNAL_NODE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraConnection.INTERNAL_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GET"><!-- --></A><H3>
+GET</H3>
+<PRE>
+protected static final java.lang.String <B>GET</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraConnection.GET">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="APIA"><!-- --></A><H3>
+APIA</H3>
+<PRE>
+protected static fedora.server.access.FedoraAPIA <B>APIA</B></PRE>
+<DL>
+<DD>The object used to access the Fedora API-A web service methods
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="fedoraVersion"><!-- --></A><H3>
+fedoraVersion</H3>
+<PRE>
+protected java.lang.String <B>fedoraVersion</B></PRE>
+<DL>
+<DD>Version of the running fedora server
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="baseURL"><!-- --></A><H3>
+baseURL</H3>
+<PRE>
+protected java.lang.String <B>baseURL</B></PRE>
+<DL>
+<DD>The location of the fedora server, usually of the form 
+ http://localhost:8080/fedora
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="portAddressSuffix"><!-- --></A><H3>
+portAddressSuffix</H3>
+<PRE>
+protected java.lang.String <B>portAddressSuffix</B></PRE>
+<DL>
+<DD>The user-specified portAddressSuffix of the Fedora Access web services 
+ (endpoint URL in the WSDL), usually of the form 
+ http://localhost:8080/fedora/services/access 
+ Users can tell FedoraGS3 to try accessing that first by setting 
+ the "port.address.suffix" property in the properties file. 
+ FedoraGS3 itself will not write the portAddressSuffix currently used in
+ the file for next time, but leave whatever value was entered in the
+ properties file. The portAddress--not just suffix--currently in use (once
+ the FedoraAPIA handle has been instantiated) can be obtained through 
+ getPortAddressURL() method.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="defaultPortAddressSuffix"><!-- --></A><H3>
+defaultPortAddressSuffix</H3>
+<PRE>
+protected static final java.lang.String <B>defaultPortAddressSuffix</B></PRE>
+<DL>
+<DD>The part of the portAddress that comes after the baseURL. It is usually: 
+ "/services/access"
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraConnection.defaultPortAddressSuffix">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="lang"><!-- --></A><H3>
+lang</H3>
+<PRE>
+protected java.lang.String <B>lang</B></PRE>
+<DL>
+<DD>The preferred language of the displat content
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="maxresults"><!-- --></A><H3>
+maxresults</H3>
+<PRE>
+protected int <B>maxresults</B></PRE>
+<DL>
+<DD>The maximum number of collections to retrieve
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="builder"><!-- --></A><H3>
+builder</H3>
+<PRE>
+protected javax.xml.parsers.DocumentBuilder <B>builder</B></PRE>
+<DL>
+<DD>DocumentBuilder used to create and parse XML documents
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraConnection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+FedoraConnection</H3>
+<PRE>
+public <B>FedoraConnection</B>(java.lang.String&nbsp;protocol,
+                        java.lang.String&nbsp;host,
+                        int&nbsp;port,
+                        java.lang.String&nbsp;fedoraServerUsername,
+                        java.lang.String&nbsp;fedoraServerPassword)
+                 throws javax.xml.parsers.ParserConfigurationException,
+                        java.net.MalformedURLException,
+                        javax.net.ssl.SSLHandshakeException,
+                        java.rmi.RemoteException,
+                        <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>,
+                        <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>,
+                        java.net.ConnectException,
+                        java.lang.Exception</PRE>
+<DL>
+<DD>Code for this constructor is from DemoSOAPClient.java. 
+ Instantiates the APIA handle using the protocol, host, port, fedora
+ server repository username and password.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>host</CODE> - - the fedora server host (may be prefixed with http:// or  
+ https:// if parameter protocol is empty). If there's no protocol, and 
+ no protocol prefixed to the host, then the protocol defaults to http.<DD><CODE>protocol</CODE> - - either http or https (or empty "")<DD><CODE>port</CODE> - - the port on which fedora is running.<DD><CODE>fedoraServerUsername</CODE> - - the administrator username required to
+ access the fedora server's repository. ("fedoraAdmin" unless changed).<DD><CODE>fedoraServerPassword</CODE> - - the fedora server repository's 
+ administrator password. If none was set on fedora installation, this
+ can be empty ("").
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A></CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+<HR>
+
+<A NAME="FedoraConnection()"><!-- --></A><H3>
+FedoraConnection</H3>
+<PRE>
+public <B>FedoraConnection</B>()
+                 throws javax.xml.parsers.ParserConfigurationException,
+                        java.net.MalformedURLException,
+                        <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                        java.net.ConnectException,
+                        java.rmi.RemoteException,
+                        javax.net.ssl.SSLHandshakeException,
+                        java.lang.Exception</PRE>
+<DL>
+<DD>Default constructor which takes input from the user to get host, port, 
+ fedora username and password. 
+ It keeps looping to display authentication popup, until valid values are  
+ entered:
+ (a) if password is wrong, a RemoteException is thrown and popup reappears;
+ This popup keeps appearing until the password and username are correct (as
+ long as there's indeed a fedora server listening at the given host and port).
+ (b) SSLHandshakeException occurs: this happens EITHER when the user prefixed 
+ the 'https' protocol to the host string when it should have been 'http';
+ OR the ssl connection failed for some other reason. 
+ Allowing for the 1st case, the authentication popup is displayed just once
+ more. On the second (consec) attempt, the SSLHandshakeException is rethrown.
+ NOTE: if a fedora server at the protocol (https or http) isn't accessible, 
+ it takes a long time for the SSLHandshakeException to be thrown. 
+ (c) if the connection is refused, then a ConnectException is thrown. 
+ In that case, it's  
+ EITHER because the host and port values that were entered are wrong (and
+ the authentication popup dialog is redisplayed just once more allowing
+ the user to correct host/port values)
+ OR the entered host and part were right but the fedora server at this
+ host and port is not running. 
+ On the second consecutive attempt where a ConnectionException is thrown,
+ it's no longer processed but rethrown, as there's no use in redisplaying  
+ the authentication popup when the problem is not an authentication issue. 
+ (d) Another IOException (other than the SSLHandshakeException of (b))
+ occurs when there is indeed a server listening at the host and port  
+ entered, but it's not a Fedora server, because it is unable to process
+ Fedora requests. If the expected message is found in the exception, than
+ the authentication popup is displayed. However, other causes for an  
+ IOException are not handled. In such cases, the IOException is rethrown. 
+ (Note that IOException is not in the throws clause - other causes for 
+ it being unknown, it can be be considered as the more generic Exception.
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+<HR>
+
+<A NAME="FedoraConnection(java.io.File)"><!-- --></A><H3>
+FedoraConnection</H3>
+<PRE>
+public <B>FedoraConnection</B>(java.io.File&nbsp;propertyFile)
+                 throws javax.xml.parsers.ParserConfigurationException,
+                        java.net.MalformedURLException,
+                        <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                        java.net.ConnectException,
+                        java.rmi.RemoteException,
+                        javax.net.ssl.SSLHandshakeException,
+                        java.lang.Exception</PRE>
+<DL>
+<DD>Single argument constructor that takes the name of the properties file
+ defining the values of the initialisation parameters required to
+ instantiate a FedoraConnection. These are fedora server username, password, 
+ host and port. If these values are not present in the file, they are set
+ to "" before showing the initialisation input dialog.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>propertyFile</CODE> - is the name of the properties file specifying the 
+ values for Fedora server username, password, host and port.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getSupportedVersion()"><!-- --></A><H3>
+getSupportedVersion</H3>
+<PRE>
+public static java.lang.String <B>getSupportedVersion</B>()</PRE>
+<DL>
+<DD>Static method that returns the version of Fedora supported by this
+ class FedoraConnection.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFedoraVersion()"><!-- --></A><H3>
+getFedoraVersion</H3>
+<PRE>
+public java.lang.String <B>getFedoraVersion</B>()</PRE>
+<DL>
+<DD>The version of the running Fedora server, which may or may not
+ match the supported version.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLanguage()"><!-- --></A><H3>
+getLanguage</H3>
+<PRE>
+public java.lang.String <B>getLanguage</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getLanguage()">getLanguage</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default language used to query for titles (and anything else
+ where there are multiple language options). Upon initialisation, this 
+ defaults to English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
+setLanguage</H3>
+<PRE>
+public void <B>setLanguage</B>(java.lang.String&nbsp;lang)</PRE>
+<DL>
+<DD>Sets the the default language used to query for titles (and anything else
+ where there are multiple language options). If the default language for any
+ query is not available, then English ("en") is used. If that's not available
+ then the first other available language is used.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#setLanguage(java.lang.String)">setLanguage</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lang</CODE> - - the two-letter language code to set the default language to.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxResults()"><!-- --></A><H3>
+getMaxResults</H3>
+<PRE>
+public int <B>getMaxResults</B>()</PRE>
+<DL>
+<DD>The default maximum number of search results returned for a search. Upon
+ initialisation, this defaults to Java's Integer.MAX_VALUE.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getMaxResults()">getMaxResults</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxResults(int)"><!-- --></A><H3>
+setMaxResults</H3>
+<PRE>
+public void <B>setMaxResults</B>(int&nbsp;maxresults)</PRE>
+<DL>
+<DD>Set the default maximum number of search results returned for a search.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#setMaxResults(int)">setMaxResults</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxresults</CODE> - - the new default maximum number of search results to 
+ be returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInitialisationProperties(java.util.Properties)"><!-- --></A><H3>
+setInitialisationProperties</H3>
+<PRE>
+protected void <B>setInitialisationProperties</B>(java.util.Properties&nbsp;properties)
+                                    throws javax.xml.parsers.ParserConfigurationException,
+                                           java.net.MalformedURLException,
+                                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                                           java.net.ConnectException,
+                                           java.rmi.RemoteException,
+                                           javax.net.ssl.SSLHandshakeException,
+                                           java.lang.Exception</PRE>
+<DL>
+<DD>Method that loops to display the dialog that retrieves the 
+ fedora server initialisation properties from the user. If there 
+ is a property file with values set already, it will display
+ the previously entered values by loading them from that file.
+ Otherwise, input fields in the dialog are empty.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>properties</CODE> - the Properties Hashmap storing values for
+ username, password, host and port (and any errormessage).
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="showAuthenticationPopup(java.util.Properties)"><!-- --></A><H3>
+showAuthenticationPopup</H3>
+<PRE>
+protected static java.util.Properties <B>showAuthenticationPopup</B>(java.util.Properties&nbsp;properties)
+                                                       throws <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></PRE>
+<DL>
+<DD>Static method that displays a popup to allow the user to provide Fedora  
+ authentication (username, pwd) and connection (protocol+host, port) details.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>properties</CODE> - is a Properties HashMap where the property Keys which must
+ have been put in here in advance (even with "" Values if appropriate) are:
+ <pre>
+ - username
+ - password
+ - host (may - but need not - be prefixed with either of the protocols 
+   "http://" and "https://"
+ - port
+ - errorMessage (displayed near the top of the popup dialog). Can be "".
+ </pre>
+ The values stored in the properties HashMap for the above property are  
+ initially displayed in the fields and the user can overwrite them.
+ This is useful in such cases where invalid values were entered and this
+ popup must be redisplayed to allow the user to correct their previous input.
+<DT><B>Returns:</B><DD>the same HashMap Properties which was passed as parameter.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+init</H3>
+<PRE>
+protected void <B>init</B>(java.lang.String&nbsp;protocol,
+                    java.lang.String&nbsp;host,
+                    java.lang.String&nbsp;port,
+                    java.lang.String&nbsp;fedoraServerUsername,
+                    java.lang.String&nbsp;fedoraServerPassword)
+             throws javax.xml.parsers.ParserConfigurationException,
+                    java.net.MalformedURLException,
+                    <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>,
+                    java.rmi.RemoteException,
+                    java.lang.Exception</PRE>
+<DL>
+<DD>Init method that is called by the constructor to set some
+ important member variables including instantiating the APIA object
+ used to invoke the Fedora APIA web service operations.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>protocol</CODE> - can be http or https<DD><CODE>host</CODE> - is the name of the Fedora server host<DD><CODE>port</CODE> - is the port number (String form) of the Fedora server<DD><CODE>fedoraServerUsername</CODE> - is the user name to access the Fedora
+ Server<DD><CODE>fedoraServerPassword</CODE> - is the password needed to access the 
+ Fedora Server
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A></CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAPIA(fedora.server.access.FedoraAPIAServiceLocator, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+createAPIA</H3>
+<PRE>
+protected void <B>createAPIA</B>(fedora.server.access.FedoraAPIAServiceLocator&nbsp;serviceLocator,
+                          java.lang.String&nbsp;portSuffix,
+                          java.lang.String&nbsp;messageInsert,
+                          boolean&nbsp;isUserSpecifiedPortAddressSuffix)
+                   throws java.lang.Exception</PRE>
+<DL>
+<DD>Tries to create the FedoraAPIA instance using the serviceLocator
+ and the given portSuffix. The APIA instance is obtained for the 
+ baseURL+portSuffix. Any exceptions are (processed and) rethrown
+ or, if the flag isUserSpecifiedPortAddressSuffix is true, then the
+ Remote Exception from AXIS that it can't find the target service to
+ invoke is ignored so that the caller can retry with the default port-  
+ address suffix first before giving up.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollections()"><!-- --></A><H3>
+getCollections</H3>
+<PRE>
+public java.lang.String[] <B>getCollections</B>()
+                                  throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Gets all greenstone collections. Searches for greenstone:*-collection.
+ Method getCollections() defaults to getting only those objects in fedora's  
+ repository whose pids are of the format greenstone:*-collection.
+ The use of AutoFinder and findObjects is shown in
+ fedora-2.2.1-src/src/java/fedora/client/search/ResultFrame.java
+ The Fedora-APIA's method definition of findObjects is:
+ <pre>
+ fedora-types:FieldSearchResult findObjects(
+                                fedora-types:ArrayOfString resultFields,
+                                xsd:nonNegativeInteger maxResults,
+                                fedora-types:FieldSearchQuery query )
+ </pre>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollections()">getCollections</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of Strings containing the pids of all collections 
+ matching the format greenstone:*-collection.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE><DT><B>See Also:</B><DD><a href="http://localhost:8080/fedora/search">The local fedora search page for how the search works</a>, 
+<a href="http://www.fedora.info/definitions/1/0/api/Fedora-API-A.html">Fedora access API, API-A for method findObjects</a>, 
+<a href="http://www.fedora.info/definitions/1/0/types/&#035;complexType_FieldSearchQuery_Link031D7D80">XML type definition of FieldSearchQuery</a>, 
+<a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/FieldSearchQuery.html>Type definition of 2.2.1 FieldSearchQuery</a>, 
+<a href="http://www.fedora.info/download/2.1.1/userdocs/server/serverdocs/fedora/server/search/FieldSearchQuery.html">does not apply: type definition of 2.1.1 FieldSearchQuery</a>, 
+<a href="http://john.drc-dev.ohiolink.edu/browser/drc-core/trunk/src/java/edu/ohiolink/drc/drcdl/BrowseController.java?rev=462">BrowseController.java for an example</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDC(java.lang.String)"><!-- --></A><H3>
+getDC</H3>
+<PRE>
+public java.lang.String <B>getDC</B>(java.lang.String&nbsp;pid)
+                       throws java.rmi.RemoteException,
+                              java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All objects (incl "greenstone:*" objects) in fedora - be they collections,   
+ top-level documents or document sections - have a DC datastream. This 
+ method returns the content (XML) of the DC datastream as it is stored in 
+ fedora's repository.
+ (The pid/DC call is one of the default fedora-system 3 disseminations.) 
+ Try an example of the form: http://localhost:8080/fedora/get/&lt;pid&gt;/DC
+ To obtain the DC/any datastream, we use method getDatastreamDissemination()
+ of the interface FedoraAPIA. This method returns a MIMETypedStream.
+ The method signature is:
+ MIMETypedStream getDatastreamDissemination(String pid, String dsID, String asOfDateTime)
+ where dsID = itemID (look at datastreams page of running fedora instance)
+ To access the XML content of the MIMETypedObject returned, we use its method
+ bytes[] getStream(), but when instantiating a String from this, we have to
+ use the String() contructor where we can specify the charset encoding (in 
+ this case, it must be UTF-8). Else getStream() returns gobbledygook.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDC(java.lang.String)">getDC</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.
+<DT><B>Returns:</B><DD>a String version of the XML in the DC datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE><DT><B>See Also:</B><DD><a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java, the API-A web service stub class</a>, 
+<a href="http://drc-dev.ohiolink.edu/browser/fedora-core/tags/upstream/src/test/junit/fedora/test/integration/TestAPIA.java?rev=575">TestAPIA.java, which contains an example of MIMETypedObject.getStream() usage.</a>, 
+<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#String(byte[],%20java.lang.String)">constructor String(byte[], java.lang.String)</a>, 
+<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html">Charset.java, for character sets and encoding</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEX(java.lang.String)"><!-- --></A><H3>
+getEX</H3>
+<PRE>
+public java.lang.String <B>getEX</B>(java.lang.String&nbsp;pid)
+                       throws java.rmi.RemoteException,
+                              java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All "greenstone:*" objects in fedora (be they collections be they 
+ collections, top-level documents or document sections) have an EX 
+ datastream. This method returns the content (XML) of the EX datastream as 
+ is. (It calls the default fedora-system 3 dissemination &lt;pid&gt;/EX.)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getEX(java.lang.String)">getEX</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.  
+ Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+ asOfDateTime).
+ Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream().
+<DT><B>Returns:</B><DD>a String version of the XML in the EX datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE><DT><B>See Also:</B><DD><CODE>getDC(String pid) throws Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDLS(java.lang.String)"><!-- --></A><H3>
+getDLS</H3>
+<PRE>
+public java.lang.String <B>getDLS</B>(java.lang.String&nbsp;pid)
+                        throws java.rmi.RemoteException,
+                               java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream. 
+ This method returns the content (XML) of the DLS datastream as is. (It calls 
+ the default fedora-system 3 dissemination &lt;pid&gt;/DLS.)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDLS(java.lang.String)">getDLS</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.  
+ Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+ asOfDateTime).
+ Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream().
+<DT><B>Returns:</B><DD>a String version of the XML in the DLS datastream for the fedora
+ object denoted by pid, or "" if the document given by pid has no DLS datastream.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE><DT><B>See Also:</B><DD><CODE>getDC(String pid) throws Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTOC(java.lang.String)"><!-- --></A><H3>
+getTOC</H3>
+<PRE>
+public java.lang.String <B>getTOC</B>(java.lang.String&nbsp;pid)
+                        throws java.rmi.RemoteException,
+                               java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream. This method returns the content (XML) of the TOC  
+ datastream as is. (Calls default fedora-system 3 dissemination &lt;pid&gt;/TOC.)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTOC(java.lang.String)">getTOC</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository. 
+ Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+ asOfDateTime)
+ Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream()
+<DT><B>Returns:</B><DD>a String version of the XML in the TOC datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE><DT><B>See Also:</B><DD><CODE>getDC(String pid) throws Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionNames(java.lang.String[])"><!-- --></A><H3>
+getCollectionNames</H3>
+<PRE>
+public java.lang.String[] <B>getCollectionNames</B>(java.lang.String[]&nbsp;collPIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionNames(java.lang.String[])">getCollectionNames</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPIDs</CODE> - - an array of Strings denoting the pids for greenstone
+ collections stored in the fedora repositoryl. These should be of the
+ format "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>the &lt;name&gt;s (in greenstone:&lt;name&gt;-collection) 
+ for the collections indicated by collPIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionPIDs(java.lang.String[])"><!-- --></A><H3>
+getCollectionPIDs</H3>
+<PRE>
+public java.lang.String[] <B>getCollectionPIDs</B>(java.lang.String[]&nbsp;collNames)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPIDs(java.lang.String[])">getCollectionPIDs</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collNames</CODE> - - a list of names of greenstone collections
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>"greenstone:&lt;name&gt;-collection" for all &lt;name&gt;s
+ in the parameter collNames.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionPID(java.lang.String)"><!-- --></A><H3>
+getCollectionPID</H3>
+<PRE>
+public java.lang.String <B>getCollectionPID</B>(java.lang.String&nbsp;collName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPID(java.lang.String)">getCollectionPID</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collName</CODE> - - the name of a greenstone collection stored 
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>greenstone:&lt;name&gt;-collection for the&lt;name&gt; 
+ denoted by parameter collName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionTitle(java.lang.String)"><!-- --></A><H3>
+getCollectionTitle</H3>
+<PRE>
+public java.lang.String <B>getCollectionTitle</B>(java.lang.String&nbsp;collPID)
+                                    throws java.rmi.RemoteException,
+                                           java.io.UnsupportedEncodingException,
+                                           org.xml.sax.SAXException,
+                                           java.io.IOException</PRE>
+<DL>
+<DD>Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitle(java.lang.String)">getCollectionTitle</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPID</CODE> - is the pid of a greenstone collection in the fedora 
+ repository.
+<DT><B>Returns:</B><DD>the title (in the default language, else English, else the
+ first title found) for the particular collection denoted by its PID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionTitles(java.lang.String[])"><!-- --></A><H3>
+getCollectionTitles</H3>
+<PRE>
+public java.lang.String[] <B>getCollectionTitles</B>(java.lang.String[]&nbsp;collPIDs)
+                                       throws java.rmi.RemoteException,
+                                              java.io.UnsupportedEncodingException,
+                                              org.xml.sax.SAXException,
+                                              java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitles(java.lang.String[])">getCollectionTitles</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPIDs</CODE> - - a list of pids identifying greenstone collections 
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>the collection titles for all the collections indicated by
+ collPIDs.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocTitles(java.lang.String[])"><!-- --></A><H3>
+getDocTitles</H3>
+<PRE>
+public java.lang.String[] <B>getDocTitles</B>(java.lang.String[]&nbsp;docPIDs)
+                                throws java.rmi.RemoteException,
+                                       java.io.UnsupportedEncodingException,
+                                       org.xml.sax.SAXException,
+                                       java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitles(java.lang.String[])">getDocTitles</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPIDs</CODE> - - a list of pids identifying documents stored in the 
+ fedora repository.
+<DT><B>Returns:</B><DD>the title metadata for the given doc objects of a collection. 
+ These titles are returned in the same order as the given docIDs. 
+ (The docPIDs already contain the collection name anyway.)
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocTitle(java.lang.String)"><!-- --></A><H3>
+getDocTitle</H3>
+<PRE>
+public java.lang.String <B>getDocTitle</B>(java.lang.String&nbsp;docPID)
+                             throws java.rmi.RemoteException,
+                                    java.io.UnsupportedEncodingException,
+                                    org.xml.sax.SAXException,
+                                    java.io.IOException</PRE>
+<DL>
+<DD>Gets the title metadata for a particular doc object in a collection
+ denoted by docPID. The docPID already contains the collection name.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitle(java.lang.String)">getDocTitle</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is the pid of the document in the fedora repository 
+ (docPID is of the form greenstone:&lt;colName&gt;-&lt;doc-identifier&gt;
+<DT><B>Returns:</B><DD>the title for the fedora document item denoted by docPID
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitle(java.lang.String)"><!-- --></A><H3>
+getTitle</H3>
+<PRE>
+protected java.lang.String <B>getTitle</B>(java.lang.String&nbsp;exStream)
+                             throws org.xml.sax.SAXException,
+                                    java.io.IOException</PRE>
+<DL>
+<DD>Given a string representation of a document's or document section's  
+ EX datastream -- which is a greenstone extracted metadata XML file -- 
+ of the form:
+ &lt;ex&gt;
+ &lt;ex:metadata name="Title"&gt;sometitle&lt;/ex:metadata&gt;
+ &lt;ex:metadata name="..."&gt;....&lt;/ex:metadata&gt;
+ ...
+ &lt;/ex&gt;
+ This method finds the &lt;ex:metadata&gt; where the name="Title" and
+ returns the value embedded in that element ('sometitle' in
+ the example above).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>exStream</CODE> - the EX datastream in String form of the document or 
+ document section.
+<DT><B>Returns:</B><DD>the title metadata of the document/document section whose EX 
+ datastream is passed as parameter
+<DT><B>Throws:</B>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionTitles(java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+getSectionTitles</H3>
+<PRE>
+public java.lang.String[] <B>getSectionTitles</B>(java.lang.String[]&nbsp;docPIDs,
+                                           java.lang.String[]&nbsp;sectionIDs)
+                                    throws java.rmi.RemoteException,
+                                           java.io.UnsupportedEncodingException,
+                                           org.xml.sax.SAXException,
+                                           java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitles(java.lang.String[], java.lang.String[])">getSectionTitles</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPIDs</CODE> - - a list of pids identifying documents stored in the 
+ fedora repository.<DD><CODE>sectionIDs</CODE> - - a list of sectionIDs identifying individual sections
+ of documents stored in the fedora repository whose titles are requested.
+<DT><B>Returns:</B><DD>the title metadata for the given document sections. 
+ These titles are returned in the same order as the given docPIDs
+ and associated sectionIDs. 
+ (The docPIDs already contain the collection name anyway.)
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionTitle(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionTitle</H3>
+<PRE>
+public java.lang.String <B>getSectionTitle</B>(java.lang.String&nbsp;docPID,
+                                        java.lang.String&nbsp;sectionID)
+                                 throws java.io.UnsupportedEncodingException,
+                                        java.rmi.RemoteException,
+                                        org.xml.sax.SAXException,
+                                        java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitle(java.lang.String, java.lang.String)">getSectionTitle</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a pid identifying a document in the fedora repository.<DD><CODE>sectionID</CODE> - - the sectionID of the section of the 
+ document whose title is requested.
+<DT><B>Returns:</B><DD>the title metadata for the given document section. 
+ (The docPID already contain the collection name anyway.)
+<DT><B>Throws:</B>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionDocs(java.lang.String)"><!-- --></A><H3>
+getCollectionDocs</H3>
+<PRE>
+public java.lang.String[] <B>getCollectionDocs</B>(java.lang.String&nbsp;colPID)
+                                     throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Searches the fedora repository for all greenstone:&lt;colPID&gt;* and 
+ returns the PIDs of the data objects found, with the exception of 
+ greenstone:&lt;colPID&gt;-collection, which is not a document but a 
+ collection PID.
+ That is, pids of objects whose pid is greenstone:&lt;colName&gt;* 
+ (but not greenstone:&lt;colName&gt;-collection itself, because that represents  
+ the collection and not an object of the same collection) are returned.
+ All pids that do not map to a collection are assumed to be documents!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionDocs(java.lang.String)">getCollectionDocs</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>colPID</CODE> - is the pid of the greenstone collection stored in
+ the fedora repository.
+<DT><B>Returns:</B><DD>a list of the pids of all the (doc) objects in a collection.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionNames(java.lang.String)"><!-- --></A><H3>
+getSectionNames</H3>
+<PRE>
+public java.lang.String[] <B>getSectionNames</B>(java.lang.String&nbsp;docPID)
+                                   throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections. For further
+ information see interface Comparable (implemented by String), SortedSet 
+ and TreeSet.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNames(java.lang.String)">getSectionNames</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.
+<DT><B>Returns:</B><DD>an array of itemIDs of the Sections of the document, 
+ indicated by docPID, in ascending order. These are of the form: "SECTION1.*"
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE><DT><B>See Also:</B><DD><a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java stub class for the API-A web services</a>, 
+<a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/DatastreamDef.html">DatastreamDef.java</a>, 
+<a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionNumbers(java.lang.String)"><!-- --></A><H3>
+getSectionNumbers</H3>
+<PRE>
+public java.lang.String[] <B>getSectionNumbers</B>(java.lang.String&nbsp;docPID)
+                                     throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned. For further information see interface Comparable
+ (implemented by String), SortedSet and TreeSet.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNumbers(java.lang.String)">getSectionNumbers</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.
+<DT><B>Returns:</B><DD>an array of itemIDs of the Section numbers of the document 
+ indicated by docPID, in ascending order. Return values are of form: "1.*".
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE><DT><B>See Also:</B><DD><a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java stub class for the API-A web services</a>, 
+<a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/DatastreamDef.html">DatastreamDef.java</a>, 
+<a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitles(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+getTitles</H3>
+<PRE>
+public java.lang.String[] <B>getTitles</B>(java.lang.String&nbsp;docPID,
+                                    java.lang.String[]&nbsp;sectionIDs)
+                             throws java.rmi.RemoteException,
+                                    java.io.UnsupportedEncodingException,
+                                    org.xml.sax.SAXException,
+                                    java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTitles(java.lang.String, java.lang.String[])">getTitles</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionIDs</CODE> - is a list of identifiers identifying sections in the
+ document denoted by docPID, whose titles need to be returned. Each 
+ sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+ or a section number (eg. 1.5.1).
+<DT><B>Returns:</B><DD>the titles for the document sections denoted by the parameters.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitle(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getTitle</H3>
+<PRE>
+public java.lang.String <B>getTitle</B>(java.lang.String&nbsp;docPID,
+                                 java.lang.String&nbsp;sectionID)
+                          throws java.rmi.RemoteException,
+                                 java.io.UnsupportedEncodingException,
+                                 org.xml.sax.SAXException,
+                                 java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTitle(java.lang.String, java.lang.String)">getTitle</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the document denoted
+ by docPID, whose title needs to be returned. The sectionID may be either a  
+ section name (e.g. SECTION1.5.1) or a section number (eg. 1.5.1).
+<DT><B>Returns:</B><DD>the title for the document section denoted by the parameters.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSection</H3>
+<PRE>
+public java.lang.String <B>getSection</B>(java.lang.String&nbsp;docPID,
+                                   java.lang.String&nbsp;sectionID)
+                            throws java.rmi.RemoteException,
+                                   java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSection(java.lang.String, java.lang.String)">getSection</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the section's XML (as a String) as it is stored in fedora. 
+ Works out if sectionID is a sectionName or sectionNumber.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionDCMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionDCMetadata</H3>
+<PRE>
+public java.lang.String <B>getSectionDCMetadata</B>(java.lang.String&nbsp;docPID,
+                                             java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionDCMetadata(java.lang.String, java.lang.String)">getSectionDCMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the required section's DC metadata XML datastream.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionEXMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionEXMetadata</H3>
+<PRE>
+public java.lang.String <B>getSectionEXMetadata</B>(java.lang.String&nbsp;docPID,
+                                             java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>Returns the section EX metadata XML datastream for SectionID which may be 
+ a section name or number. Currently a few EX files are named awkwardly:
+ the EX file for section 1.* is actually associated with datastream EX.*. 
+ But subsequent EX datastreams are named appropriately: for instance, 
+ EX2.1.1 matches with section 2.1.1
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionEXMetadata(java.lang.String, java.lang.String)">getSectionEXMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the required section's EX metadata XML datastream.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildrenOfSectionXML(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getChildrenOfSectionXML</H3>
+<PRE>
+public org.w3c.dom.Element <B>getChildrenOfSectionXML</B>(java.lang.String&nbsp;docPID,
+                                                   java.lang.String&nbsp;sectionID)
+                                            throws java.rmi.RemoteException,
+                                                   java.io.UnsupportedEncodingException,
+                                                   org.xml.sax.SAXException,
+                                                   java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)">getChildrenOfSectionXML</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the XML content of the TOC of just that portion of the TOC which   
+ contains the section denoted by sectionID and its direct child subsections. 
+ The children are returned in the order they are encountered, which 
+ happens to be in the required order of ascending sectionID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildrenOfSection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getChildrenOfSection</H3>
+<PRE>
+public java.lang.String <B>getChildrenOfSection</B>(java.lang.String&nbsp;docPID,
+                                             java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException,
+                                             org.xml.sax.SAXException,
+                                             java.io.IOException,
+                                             javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSection(java.lang.String, java.lang.String)">getChildrenOfSection</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>a string representing the XML content of the TOC of just
+ that portion of the TOC which contains the section denoted by sectionID  
+ and its direct child subsections. 
+ The children are returned in the order they are encountered, which 
+ happens to be in the required order of ascending sectionID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubsectionXML(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSubsectionXML</H3>
+<PRE>
+public org.w3c.dom.Element <B>getSubsectionXML</B>(java.lang.String&nbsp;docPID,
+                                            java.lang.String&nbsp;sectionID)
+                                     throws java.rmi.RemoteException,
+                                            java.io.UnsupportedEncodingException,
+                                            org.xml.sax.SAXException,
+                                            java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSubsectionXML(java.lang.String, java.lang.String)">getSubsectionXML</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the part of the TOC XML file (which outlines doc structure)  
+ relating to the given section. This includes the section denoted by
+ sectionID as well as all descendent subsections thereof.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubsection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSubsection</H3>
+<PRE>
+public java.lang.String <B>getSubsection</B>(java.lang.String&nbsp;docPID,
+                                      java.lang.String&nbsp;sectionID)
+                               throws java.rmi.RemoteException,
+                                      java.io.UnsupportedEncodingException,
+                                      org.xml.sax.SAXException,
+                                      java.io.IOException,
+                                      javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSubsection(java.lang.String, java.lang.String)">getSubsection</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifyies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>a String representation of the part of the TOC XML file   
+ (which outlines doc structure) relating to the given section. This    
+ includes the section denoted by sectionID as well as all descendent  
+ subsections thereof.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseTitlesByLetter(java.lang.String, java.lang.String)"><!-- --></A><H3>
+browseTitlesByLetter</H3>
+<PRE>
+public java.lang.String[] <B>browseTitlesByLetter</B>(java.lang.String&nbsp;collName,
+                                               java.lang.String&nbsp;letter)
+                                        throws java.rmi.RemoteException,
+                                               <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></PRE>
+<DL>
+<DD>Implements browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#browseTitlesByLetter(java.lang.String, java.lang.String)">browseTitlesByLetter</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>letter</CODE> - - the starting letter to browse by.
+<DT><B>Returns:</B><DD>the document pids whose titles start with the given letter.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="searchDocumentTitles(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+searchDocumentTitles</H3>
+<PRE>
+public java.lang.String[] <B>searchDocumentTitles</B>(java.lang.String&nbsp;collName,
+                                               java.lang.String&nbsp;titleContents,
+                                               boolean&nbsp;startsWith)
+                                        throws java.rmi.RemoteException,
+                                               <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></PRE>
+<DL>
+<DD>Implements querying document DC titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)">searchDocumentTitles</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>titleContents</CODE> - - the word or phrase to search the collection's 
+ document titles for. Only one word, and this method finds Greenstone 
+ DOCUMENT titles CONTAINING that word (if any).<DD><CODE>startsWith</CODE> - - if true, searches for titles that start with 
+ titleContents. Else it searches for titles that contain titleContents.
+<DT><B>Returns:</B><DD>the document pids whose DC titles contain the parameter term.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findObjectsWithTitlesContaining(java.lang.String, java.lang.String)"><!-- --></A><H3>
+findObjectsWithTitlesContaining</H3>
+<PRE>
+protected fedora.server.types.gen.FieldSearchResult <B>findObjectsWithTitlesContaining</B>(java.lang.String&nbsp;collName,
+                                                                                    java.lang.String&nbsp;titleWord)
+                                                                             throws java.rmi.RemoteException,
+                                                                                    <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collName</CODE> - - the collection of documents we'll be searching in.<DD><CODE>titleWord</CODE> - - the word we'll be searching the document titles for.
+ (Fedora's search returns all objects whose title contains that word). 
+ 
+ Two kinds of search are provided by Fedora as stated in FedoraAccess.java
+ (see link):
+ <pre>
+ "There are two search methods: a search on all fields or a search on
+ specific fields. To search all fields the setTerms function of the 
+ FieldSearchQuery must be used, with the paramater being the desired string.
+ 
+ To search by specific fields, you must create an array of Condition
+ objects. Each condition consists of three parts: 
+ the field to be searched (.setProperty()), 
+ the operation to be used (.setOperator(ComparisonOperator. &lt;operator&gt;)), 
+ and the search string (.setValue())"
+ </pre>
+ We want to use the second search method above when browsing and searching, 
+ and search for: pid~greenstone:&lt;collName&gt;* title~&lt;letter&gt;*
+ or pid~greenstone:&lt;collName&gt;* title~&lt;first word of search phrase&gt;
+ See also fedora-2.2.1-src/src/java/fedora/client/search/Search.java.
+ 
+ The fedora/tomcat/webapps/fedora/WEB-INF/web.xml is where the REST-based 
+ web services are defined. (The web.xml defines the "Servlets for REST-based
+ interfaces to the Fedora Repository Server"). 
+ Do a search on the word "search":
+ fedora.server.access.FieldSearchServlet is the class we need to look at
+ It accesses a different Condition.java class: fedora.server.search.Condition.java
+ The above is what is used by the REST-based interface in FieldSearchServlet.java
+ While fedora-2.2.1-src/build/wsdl/fedora/server/types/gen/Condition.java
+ is what's used in the fedora client application that makes use of
+ the SOAP-based interface.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></CODE><DT><B>See Also:</B><DD><a href="http://drc-dev.ohiolink.edu/browser/elated-core/tags/upstream/src/org/acs/elated/fed/FedoraAccess.java?rev=76&format=txt">FedoraAccess.java</a>, 
+<a href="http://drc-dev.ohiolink.edu/browser/elated-core/trunk/WEB-INF/src/org/acs/elated/fed/MaAPI.java?rev=275">MaAPI</a>, 
+<a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/Condition.html">Fedora server type Condition.java</a>, 
+<a href="http://source.uhi.ac.uk/fisheye/browse/svn/ctrep/trunk/fedora-ws-clients/testapp/testsrc/fedora/webservices/client/api/a/test/Search.java?r1=133&r2=165">Fedora client test Search.java</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocName(java.lang.String)"><!-- --></A><H3>
+getDocName</H3>
+<PRE>
+public java.lang.String <B>getDocName</B>(java.lang.String&nbsp;docPID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocName(java.lang.String)">getDocName</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - pid of a greenstone document in the fedora repository.
+<DT><B>Returns:</B><DD>the &lt;docName&gt; in the parameter docPID (which is of the form: 
+  greenstone:&lt;colname&gt;-&lt;docName&gt;)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionName(java.lang.String)"><!-- --></A><H3>
+getCollectionName</H3>
+<PRE>
+public java.lang.String <B>getCollectionName</B>(java.lang.String&nbsp;collPID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionName(java.lang.String)">getCollectionName</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPID</CODE> - - pid of a greenstone collection in the fedora repository.
+<DT><B>Returns:</B><DD>the &lt;name&gt; in the parameter collPID 
+ (greenstone:&lt;name&gt;-collection) 
+ If collPID is a docPID, this method does the same: return the &lt;name&gt; 
+ in the docPID (greenstone:&lt;name&gt;-docID).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubstructure(org.w3c.dom.Element, boolean)"><!-- --></A><H3>
+getSubstructure</H3>
+<PRE>
+protected org.w3c.dom.Element <B>getSubstructure</B>(org.w3c.dom.Element&nbsp;e,
+                                              boolean&nbsp;descendents)</PRE>
+<DL>
+<DD>Convert the given Element to a String representing the same XML.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - - the element to start copying from.<DD><CODE>descendents</CODE> - - if true, e is copied with all its descendetns into the 
+ element that's returned. If false, only e and its direct children are copied
+<DT><B>Returns:</B><DD>an element containing a copy element e with either only its child
+ elements or with all its descendents (depending on whether parameter
+ descendents is true or false).<DT><B>See Also:</B><DD><a href="http://forum.java.sun.com/thread.jspa?threadID=678472&tstart=30">Sun java thread on transforming a DOM XML to a String</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getItem(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getItem</H3>
+<PRE>
+protected java.lang.String <B>getItem</B>(java.lang.String&nbsp;docPID,
+                                   java.lang.String&nbsp;itemID)
+                            throws java.rmi.RemoteException,
+                                   java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>Return a datastream of a document, given the document's id
+ and the item id of the datastream which is to be retrieved.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - pid of a greenstone document in the fedora repository.<DD><CODE>itemID</CODE> - - the itemID of a datastream of the fedora object 
+ identified by docPID.
+<DT><B>Returns:</B><DD>the XML (in String form) of the item denoted by itemID  
+ that's part of the fedora data object denoted by docPID. 
+ itemID may be something like EX.2.1/EX2.3.3 or SECTION1.4.3
+ Can't retrieve images denoted by itemID using this method, only items
+ that are of XML format.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removePrefix(java.lang.String, java.lang.String)"><!-- --></A><H3>
+removePrefix</H3>
+<PRE>
+protected java.lang.String <B>removePrefix</B>(java.lang.String&nbsp;str,
+                                        java.lang.String&nbsp;prefix)</PRE>
+<DL>
+<DD>Given something like str="SECTION1.2.1" and prefix="SECTION" this method 
+ returns "1.2.1". 
+ The exception is that for cases like EX.2.1, which ought to have been EX1.2.1, 
+ this method would return "1.2.1". Similarly, DC.2.1 would return "1.2.1".
+ However, the string str is returned unchanged if the prefix does not occur
+ at the start of str.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - - the prefix which ought to be removed from the itemID.<DD><CODE>str</CODE> - - the value of the itemID.
+<DT><B>Returns:</B><DD>the String parameter str without the prefix.
+ It can be used to return the number of an itemID of a greenstone document 
+ stored in the fedora repository without the given prefix.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="convertToMetaNumber(java.lang.String)"><!-- --></A><H3>
+convertToMetaNumber</H3>
+<PRE>
+protected java.lang.String <B>convertToMetaNumber</B>(java.lang.String&nbsp;number)</PRE>
+<DL>
+<DD>Given a number of the form x(.y.z), this method returns this number
+ as is, except when x = 1, in which case, it would return .y.z 
+ That is, given number=3.2.1, this method would return 3.2.1
+ But, given number=1.2.3, this method would return .2.3.
+ When number=1, it is NOT a special case: "" is returned as explained.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>number</CODE> - - a proper (fedora-greenstone document) section number
+<DT><B>Returns:</B><DD>the same number as it ought to be for the associated EX, DC datastreama.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBaseURL()"><!-- --></A><H3>
+getBaseURL</H3>
+<PRE>
+public java.lang.String <B>getBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getBaseURL()">getBaseURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>fedora's baseURL. It's of the form
+ "http://localhost:8080/fedora"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPortAddressURL()"><!-- --></A><H3>
+getPortAddressURL</H3>
+<PRE>
+public java.lang.String <B>getPortAddressURL</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getPortAddressURL()">getPortAddressURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the portAddressURL (in use) of the Fedora APIA 
+ web service (should be the endpoint location in the APIA's 
+ WSDL file). 
+ It's usually of the form baseURL+"/services/access"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL()"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+public java.lang.String <B>getAssocFileBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the baseURL for gsdlAssocFiles</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraConnection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraConnection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.html	(revision 15317)
@@ -0,0 +1,2232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Connection
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Connection class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Connection";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Connection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Connection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Connection</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraConnection</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Connection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>FedoraGS3Connection</B><DT>extends <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A><DT>implements <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></DL>
+</PRE>
+
+<P>
+Class that extends FedoraConnection in order to be able to use
+ Fedora's web services to retrieve the specific datastreams of 
+ Greenstone documents stored in Fedora's repository. This class
+ provides methods that convert those datastreams into Greenstone3 
+ XML response messages which are returned.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraToGS3Interface"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#CHILDREN">CHILDREN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constant CHILDREN indicates that a DocumentStructureRetrieve is to
+ return only the child nodes of a section, not any further descendants</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#DESCENDANTS">DESCENDANTS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constant DESCENDANTS indicates that a DocumentStructureRetrieve is to
+ return all descendants of a section</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#fedoraGSearch">fedoraGSearch</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The object used to connect to FedoraGenericSearch, which is used 
+ for doing full-text searching</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#gSearchWSDLSuffix">gSearchWSDLSuffix</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The last part of the gSearchWSDL URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#gSearchWSDLURL">gSearchWSDLURL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The url for the wsdl file of FedoraGSearch's web services
+ by default this will be the Fedora server's base URL 
+ concatenated to "gsearch/services/FgsOperations?wsdl"</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#serviceNames">serviceNames</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List of services actually supported by our FedoraGS3 repository 
+ after construction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#SERVICES">SERVICES</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complete list of services that are supported our FedoraGS3 would  
+ support if everything goes well.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraConnection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#APIA">APIA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#baseURL">baseURL</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#builder">builder</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#defaultPortAddressSuffix">defaultPortAddressSuffix</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#fedoraVersion">fedoraVersion</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#GET">GET</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#INTERNAL_NODE">INTERNAL_NODE</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#lang">lang</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#maxresults">maxresults</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#portAddressSuffix">portAddressSuffix</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#SUPPORTED_VERSION">SUPPORTED_VERSION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#TYPE">TYPE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraToGS3Interface.Constants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_FIELDS">ALL_FIELDS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_TITLES">ALL_TITLES</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ASSOCFILEPREFIX">ASSOCFILEPREFIX</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#COMMA">COMMA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#DOC_TITLES">DOC_TITLES</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FIELDNAME_ATT">FIELDNAME_ATT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FULLTEXT">FULLTEXT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#GS3FilePathMacro">GS3FilePathMacro</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#MAXDOCS">MAXDOCS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#NUM_DOCS_MATCHED">NUM_DOCS_MATCHED</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#OCCURS_ATT">OCCURS_ATT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#QUERY">QUERY</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#SIMPLEFIELD_ATT">SIMPLEFIELD_ATT</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3DL"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#_COLLECTION">_COLLECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTION">COLLECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTIONNAME">COLLECTIONNAME</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLON">COLON</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DC">DC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DLS">DLS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ENGLISH">ENGLISH</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#EX">EX</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#FEDORA_GS3">FEDORA_GS3</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE">GREENSTONE</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE_">GREENSTONE_</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#HYPHEN">HYPHEN</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ID">ID</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#METADATA">METADATA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#NAME">NAME</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#PERIOD">PERIOD</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#QUALIFIER">QUALIFIER</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION">SECTION</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION_ELEMENT">SECTION_ELEMENT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TITLE">TITLE</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TOC">TOC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#UTF8">UTF8</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#WILDCARD">WILDCARD</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection()">FedoraGS3Connection</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-argument constructor which is the same as that of superclass 
+ FedoraConnection: it displays a small dialog requesting input for the 
+ host, port, administrative password and username of the fedora server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection(java.io.File)">FedoraGS3Connection</A></B>(java.io.File&nbsp;propertiesFilename)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Single-argument constructor which is the same as that of superclass 
+ FedoraConnection: it takes the name of the properties file where
+ connection initialisation values may already be provided and then
+ displays a small dialog requesting input for the host, port, 
+ administrative password and username of the fedora server showing 
+ the values in the properties file as default.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#FedoraGS3Connection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)">FedoraGS3Connection</A></B>(java.lang.String&nbsp;protocol,
+                    java.lang.String&nbsp;host,
+                    int&nbsp;port,
+                    java.lang.String&nbsp;fedoraServerUsername,
+                    java.lang.String&nbsp;fedoraServerPassword)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5 argument constructor is the same as that of superclass FedoraConnection:</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#addMetadataWithFixedTagName(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)">addMetadataWithFixedTagName</A></B>(org.w3c.dom.Document&nbsp;doc,
+                            org.w3c.dom.Element&nbsp;metadataList,
+                            java.lang.String&nbsp;metaDatastream,
+                            java.lang.String&nbsp;metadataSet)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method retrieves all the metadata elements in the metaDataStream
+ of the form &lt;"namespace:"metadata name="metadataName"&gt;value&lt;/metadata&gt;  
+ where "namespace" is the namespace prefix of each tag, and metadataName  
+ is the name of the metadata (like author, title).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#addMetadataWithNamespacedTagNames(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)">addMetadataWithNamespacedTagNames</A></B>(org.w3c.dom.Document&nbsp;doc,
+                                  org.w3c.dom.Element&nbsp;metadataList,
+                                  java.lang.String&nbsp;metaDatastream,
+                                  java.lang.String&nbsp;metadataSet)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method retrieves all the metadata elements in the metaDataStream
+ parameter of the form &lt;"metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; where 
+ metadataSetNS is the namespace of each tag, and creates a new element of
+ the form &lt;metadata name="metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; for 
+ each.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#browse(java.lang.String, java.lang.String)">browse</A></B>(java.lang.String&nbsp;collectionName,
+       java.lang.String&nbsp;classifierID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#browseMetadataRetrieve(java.lang.String[])">browseMetadataRetrieve</A></B>(java.lang.String[]&nbsp;classNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#containsSectionNumber(java.lang.String)">containsSectionNumber</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For finding out if the sectionNumber is given as part of the docID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createClassifierElement(org.w3c.dom.Document, java.lang.String, int, java.lang.String, java.lang.String)">createClassifierElement</A></B>(org.w3c.dom.Document&nbsp;doc,
+                        java.lang.String&nbsp;content,
+                        int&nbsp;classifierNum,
+                        java.lang.String&nbsp;displayNameVal,
+                        java.lang.String&nbsp;displayDescrVal)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createDocNodeFromSubsection(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String)">createDocNodeFromSubsection</A></B>(org.w3c.dom.Document&nbsp;doc,
+                            org.w3c.dom.Element&nbsp;subSection,
+                            java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a particular subsection element, this method creates a 
+ Greenstone3 DocumentNode element that mirrors it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createDocStructure(org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String)">createDocStructure</A></B>(org.w3c.dom.Document&nbsp;doc,
+                   org.w3c.dom.Element&nbsp;section,
+                   org.w3c.dom.Element&nbsp;parent,
+                   java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Recursive method that creates a documentStructure mirroring parameter
+ section, starting from parameter parent down to all descendants</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createNameValuePairElement(org.w3c.dom.Document, java.lang.String, java.lang.String, java.lang.String)">createNameValuePairElement</A></B>(org.w3c.dom.Document&nbsp;doc,
+                           java.lang.String&nbsp;elementName,
+                           java.lang.String&nbsp;name,
+                           java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createResponseMessage(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.Exception, java.lang.String, java.lang.String)">createResponseMessage</A></B>(org.w3c.dom.Document&nbsp;doc,
+                      org.w3c.dom.Element&nbsp;content,
+                      java.lang.Exception&nbsp;ex,
+                      java.lang.String&nbsp;responseType,
+                      java.lang.String&nbsp;originator)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here we create the greenstone's response message element: 
+ &lt;message&lg;&lt;response&gt;&lt;content&gt;&lt;/response&gt;&lt;/message&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#createServiceList(org.w3c.dom.Document)">createServiceList</A></B>(org.w3c.dom.Document&nbsp;doc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollection(java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collectionName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collectionName,
+                          java.lang.String&nbsp;serviceName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeCollectionServices(java.lang.String)">describeCollectionServices</A></B>(java.lang.String&nbsp;collectionName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeFieldQueryService(org.w3c.dom.Element)">describeFieldQueryService</A></B>(org.w3c.dom.Element&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ FieldQuery service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeService(java.lang.String)">describeService</A></B>(java.lang.String&nbsp;serviceName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#describeTextQueryService(org.w3c.dom.Element)">describeTextQueryService</A></B>(org.w3c.dom.Element&nbsp;service)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ TextQuery service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#fieldQuery(java.lang.String, java.util.Map, int)">fieldQuery</A></B>(java.lang.String&nbsp;collection,
+           java.util.Map&nbsp;nameValParamsMap,
+           int&nbsp;maxDocs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs a fieldquery, searching for x number of phrases
+ in each of the 4 indexed fields.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getChildren(java.lang.String)">getChildren</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getChildren(java.lang.String[])">getChildren</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionList()">getCollectionList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionMetadata(java.lang.String)">getCollectionMetadata</A></B>(java.lang.String&nbsp;collID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getCollectionMetadata(java.lang.String[])">getCollectionMetadata</A></B>(java.lang.String[]&nbsp;collIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getContent(java.lang.String)">getContent</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an identifier that is either a docPID or a concatenation of 
+ docPID+sectionID, this method works out the fedora assigned docPID and 
+ sectionID and then calls getContentBody(docPID, sectionID) with those.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getContent(java.lang.String[])">getContent</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given an identifier that is a concatenation of docID+sectionID, this
+ method works out the fedora assigned docPID and sectionID and then calls 
+ getContentBody(docPID, sectionID) with those.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getContentBody(java.lang.String, java.lang.String)">getContentBody</A></B>(java.lang.String&nbsp;docPID,
+               java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the contents of a textNode from a section.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getDocPIDFromDocID(java.lang.String)">getDocPIDFromDocID</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will extract the docPID from docID and return it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentMetadata(java.lang.String)">getDocumentMetadata</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentMetadata(java.lang.String[])">getDocumentMetadata</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentStructure(java.lang.String)">getDocumentStructure</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getDocumentStructure(java.lang.String[])">getDocumentStructure</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getGSearchWSDLURL()">getGSearchWSDLURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getMetadata(org.w3c.dom.Document, java.lang.String)">getMetadata</A></B>(org.w3c.dom.Document&nbsp;doc,
+            java.lang.String&nbsp;id)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that takes a new DOM document, as well as an identifier of either
+ a collection or document (which may be a fedora pid for the collection 
+ or document, or may be the documentPid-sectionNumber for a document) and
+ returns a documentNode element for it: 
+ &lt;documentNode&gt;&lt;metadataList&gt;
+ &lt;metadata name=""&gt;value&lt;/metadata&gt; 
+ ...</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getMetadata(java.lang.String[])">getMetadata</A></B>(java.lang.String[]&nbsp;docIDsOrCollIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getSectionIDFromDocID(java.lang.String)">getSectionIDFromDocID</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method will return the section Number, if there's any
+ suffixed to the docID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getServiceList()">getServiceList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getServiceNames()">getServiceNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getStructure(org.w3c.dom.Document, java.lang.String, java.lang.String, org.w3c.dom.Element)">getStructure</A></B>(org.w3c.dom.Document&nbsp;doc,
+             java.lang.String&nbsp;requestingDocID,
+             java.lang.String&nbsp;docID,
+             org.w3c.dom.Element&nbsp;section)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Takes the portion of the XML document outlining the structure of the 
+ document (section)--in the format this is stored in Fedora--and returns 
+ Greenstone 3 DOM XML format for outlining document structure.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getStructure(java.lang.String[], int)">getStructure</A></B>(java.lang.String[]&nbsp;docIDs,
+             int&nbsp;levels)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a greenstone3 DocumentStructureRetrieve XML response message 
+ containing the document structures for the given docIDs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getStructureElement(org.w3c.dom.Element, java.lang.String[], int)">getStructureElement</A></B>(org.w3c.dom.Element&nbsp;docNodeList,
+                    java.lang.String[]&nbsp;docIDs,
+                    int&nbsp;levels)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a &lt;documentNodeList&gt; portion of a greenstone3 
+ DocumentStructureRetrieve XML response message, this method will populate 
+ it with the &lt;documentNodes&gt; that represent the structure of the given docIDs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(org.w3c.dom.Document, java.lang.String)">getTitleMetadata</A></B>(org.w3c.dom.Document&nbsp;doc,
+                 java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that takes a new DOM document, as well as an identifier of either
+ a document or document section and returns a documentNode element containing
+ the title metadata for it: 
+ &lt;documentNode nodeID="docID"&gt;&lt;metadataList&gt;
+ &lt;metadata name="Title"&gt;sometitle&lt;/metadata&gt;
+ &lt;/metadataList&gt;&lt;/documentNode&gt;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(java.lang.String)">getTitleMetadata</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#getTitleMetadata(java.lang.String[])">getTitleMetadata</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#initSearchFunctionality()">initSearchFunctionality</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init method that instantiates a GSearchConnection object used
+ to work with the separate FedoraGSearch web services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.util.Map&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#setGSearchWSDLURL(java.lang.String)">setGSearchWSDLURL</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the member variable gSearchWSDLURL that specify the location of
+ the WSDL file of FedoraGSearch's web services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#setInitialisationProperties(java.util.Properties)">setInitialisationProperties</A></B>(java.util.Properties&nbsp;properties)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The superclass constructor calls this method passing any preset  
+ properties loaded from a propertiesFile.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html#textQuery(java.lang.String, java.lang.String, int)">textQuery</A></B>(java.lang.String&nbsp;collection,
+          java.lang.String&nbsp;query,
+          int&nbsp;maxDocs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_org.greenstone.fedora.services.FedoraConnection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#browseTitlesByLetter(java.lang.String, java.lang.String)">browseTitlesByLetter</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#convertToMetaNumber(java.lang.String)">convertToMetaNumber</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#createAPIA(fedora.server.access.FedoraAPIAServiceLocator, java.lang.String, java.lang.String, boolean)">createAPIA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#findObjectsWithTitlesContaining(java.lang.String, java.lang.String)">findObjectsWithTitlesContaining</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getAssocFileBaseURL()">getAssocFileBaseURL</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getBaseURL()">getBaseURL</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSection(java.lang.String, java.lang.String)">getChildrenOfSection</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)">getChildrenOfSectionXML</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionDocs(java.lang.String)">getCollectionDocs</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionName(java.lang.String)">getCollectionName</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionNames(java.lang.String[])">getCollectionNames</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionPID(java.lang.String)">getCollectionPID</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionPIDs(java.lang.String[])">getCollectionPIDs</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollections()">getCollections</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitle(java.lang.String)">getCollectionTitle</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getCollectionTitles(java.lang.String[])">getCollectionTitles</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDC(java.lang.String)">getDC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDLS(java.lang.String)">getDLS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocName(java.lang.String)">getDocName</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocTitle(java.lang.String)">getDocTitle</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getDocTitles(java.lang.String[])">getDocTitles</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getEX(java.lang.String)">getEX</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getFedoraVersion()">getFedoraVersion</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getItem(java.lang.String, java.lang.String)">getItem</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getLanguage()">getLanguage</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getMaxResults()">getMaxResults</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getPortAddressURL()">getPortAddressURL</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSection(java.lang.String, java.lang.String)">getSection</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionDCMetadata(java.lang.String, java.lang.String)">getSectionDCMetadata</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionEXMetadata(java.lang.String, java.lang.String)">getSectionEXMetadata</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionNames(java.lang.String)">getSectionNames</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionNumbers(java.lang.String)">getSectionNumbers</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionTitle(java.lang.String, java.lang.String)">getSectionTitle</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSectionTitles(java.lang.String[], java.lang.String[])">getSectionTitles</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubsection(java.lang.String, java.lang.String)">getSubsection</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubsectionXML(java.lang.String, java.lang.String)">getSubsectionXML</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSubstructure(org.w3c.dom.Element, boolean)">getSubstructure</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getSupportedVersion()">getSupportedVersion</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String)">getTitle</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitle(java.lang.String, java.lang.String)">getTitle</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTitles(java.lang.String, java.lang.String[])">getTitles</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#getTOC(java.lang.String)">getTOC</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#init(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">init</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#removePrefix(java.lang.String, java.lang.String)">removePrefix</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)">searchDocumentTitles</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setLanguage(java.lang.String)">setLanguage</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setMaxResults(int)">setMaxResults</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#showAuthenticationPopup(java.util.Properties)">showAuthenticationPopup</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="gSearchWSDLSuffix"><!-- --></A><H3>
+gSearchWSDLSuffix</H3>
+<PRE>
+protected static final java.lang.String <B>gSearchWSDLSuffix</B></PRE>
+<DL>
+<DD>The last part of the gSearchWSDL URL. The first part is
+ the same as the fedora server's base url.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Connection.gSearchWSDLSuffix">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SERVICES"><!-- --></A><H3>
+SERVICES</H3>
+<PRE>
+protected static final java.lang.String[] <B>SERVICES</B></PRE>
+<DL>
+<DD>Complete list of services that are supported our FedoraGS3 would  
+ support if everything goes well. If a connection to FedoraGSearch
+ cannot be established, the query services will no longer be
+ available. The actual services supported are given by member
+ variable serviceNames.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="serviceNames"><!-- --></A><H3>
+serviceNames</H3>
+<PRE>
+protected java.lang.String[] <B>serviceNames</B></PRE>
+<DL>
+<DD>List of services actually supported by our FedoraGS3 repository 
+ after construction. If FedoraGenericSearch can't be connected to,
+ then query services will not be offered
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="CHILDREN"><!-- --></A><H3>
+CHILDREN</H3>
+<PRE>
+protected static final int <B>CHILDREN</B></PRE>
+<DL>
+<DD>constant CHILDREN indicates that a DocumentStructureRetrieve is to
+ return only the child nodes of a section, not any further descendants
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Connection.CHILDREN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DESCENDANTS"><!-- --></A><H3>
+DESCENDANTS</H3>
+<PRE>
+protected static final int <B>DESCENDANTS</B></PRE>
+<DL>
+<DD>constant DESCENDANTS indicates that a DocumentStructureRetrieve is to
+ return all descendants of a section
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Connection.DESCENDANTS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="fedoraGSearch"><!-- --></A><H3>
+fedoraGSearch</H3>
+<PRE>
+protected <A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A> <B>fedoraGSearch</B></PRE>
+<DL>
+<DD>The object used to connect to FedoraGenericSearch, which is used 
+ for doing full-text searching
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="gSearchWSDLURL"><!-- --></A><H3>
+gSearchWSDLURL</H3>
+<PRE>
+protected java.lang.String <B>gSearchWSDLURL</B></PRE>
+<DL>
+<DD>The url for the wsdl file of FedoraGSearch's web services
+ by default this will be the Fedora server's base URL 
+ concatenated to "gsearch/services/FgsOperations?wsdl"
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Connection(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+FedoraGS3Connection</H3>
+<PRE>
+public <B>FedoraGS3Connection</B>(java.lang.String&nbsp;protocol,
+                           java.lang.String&nbsp;host,
+                           int&nbsp;port,
+                           java.lang.String&nbsp;fedoraServerUsername,
+                           java.lang.String&nbsp;fedoraServerPassword)
+                    throws javax.xml.parsers.ParserConfigurationException,
+                           java.net.MalformedURLException,
+                           javax.net.ssl.SSLHandshakeException,
+                           java.rmi.RemoteException,
+                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>,
+                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>,
+                           java.net.ConnectException,
+                           java.lang.Exception</PRE>
+<DL>
+<DD>5 argument constructor is the same as that of superclass FedoraConnection:
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>protocol</CODE> - can be either http or https<DD><CODE>host</CODE> - is the host where the fedora server is listening<DD><CODE>port</CODE> - is the port where the fedora server is listening<DD><CODE>fedoraServerUsername</CODE> - is the username for administrative 
+ authentication required to access the fedora server.<DD><CODE>fedoraServerPassword</CODE> - is the password for administrative 
+ authentication required to access the fedora server. If no password was set 
+ when installing Fedora, leave the field "".
+ Instantiates a FedoraGS3Connection object which connects to Fedora's
+ web services through stub classes and tries to connect to FedoraGSearch's
+ web services through the default WSDL location for it 
+ ("gsearch/services/FgsOperations?wsdl"). If another url is to be used,
+ call setGSearchWSDLURL(url) after the constructor instead.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A></CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Connection()"><!-- --></A><H3>
+FedoraGS3Connection</H3>
+<PRE>
+public <B>FedoraGS3Connection</B>()
+                    throws javax.xml.parsers.ParserConfigurationException,
+                           java.net.MalformedURLException,
+                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                           java.net.ConnectException,
+                           java.rmi.RemoteException,
+                           javax.net.ssl.SSLHandshakeException,
+                           java.lang.Exception</PRE>
+<DL>
+<DD>No-argument constructor which is the same as that of superclass 
+ FedoraConnection: it displays a small dialog requesting input for the 
+ host, port, administrative password and username of the fedora server. 
+ If no password was set on the fedora repository when installing it, 
+ the user can leave the password field blank.
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Connection(java.io.File)"><!-- --></A><H3>
+FedoraGS3Connection</H3>
+<PRE>
+public <B>FedoraGS3Connection</B>(java.io.File&nbsp;propertiesFilename)
+                    throws javax.xml.parsers.ParserConfigurationException,
+                           java.net.MalformedURLException,
+                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                           java.net.ConnectException,
+                           java.rmi.RemoteException,
+                           javax.net.ssl.SSLHandshakeException,
+                           java.lang.Exception</PRE>
+<DL>
+<DD>Single-argument constructor which is the same as that of superclass 
+ FedoraConnection: it takes the name of the properties file where
+ connection initialisation values may already be provided and then
+ displays a small dialog requesting input for the host, port, 
+ administrative password and username of the fedora server showing 
+ the values in the properties file as default. If the necessary 
+ initialisation are not present in the file, they corresponding fields
+ in the dialog will be blank. 
+ If no password was set on the fedora repository when installing it, 
+ the user can leave the password field blank.
+<P>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setInitialisationProperties(java.util.Properties)"><!-- --></A><H3>
+setInitialisationProperties</H3>
+<PRE>
+protected void <B>setInitialisationProperties</B>(java.util.Properties&nbsp;properties)
+                                    throws javax.xml.parsers.ParserConfigurationException,
+                                           java.net.MalformedURLException,
+                                           <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>,
+                                           java.net.ConnectException,
+                                           java.rmi.RemoteException,
+                                           javax.net.ssl.SSLHandshakeException,
+                                           java.lang.Exception</PRE>
+<DL>
+<DD>The superclass constructor calls this method passing any preset  
+ properties loaded from a propertiesFile. This method is overridden  
+ here in order to instantiate the gSearchConnection based on the  
+ gSearchWSDLURL. (If one was not provided in the properties file,  
+ gSearchWSDLURL defaults to something of the form
+ "http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl"
+ where http://localhost:8080/fedora is the baseURL of fedora and
+ "gsearch/services/FgsOperations?wsdl" is the default gSearchWSDLSuffix.)
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html#setInitialisationProperties(java.util.Properties)">setInitialisationProperties</A></CODE> in class <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>properties</CODE> - is the Properties Map loaded from a properties file
+ (if there was any) which specifies such things as host and port of the
+ FedoraServer, but can also specify the property "gSearchWsdlURL".
+ At the end of this method, properties' "gSearchWsdlURL" will be set
+ to whatever the final value of this.gSearchWSDLURL is.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></CODE>
+<DD><CODE>java.net.ConnectException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>javax.net.ssl.SSLHandshakeException</CODE>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="initSearchFunctionality()"><!-- --></A><H3>
+initSearchFunctionality</H3>
+<PRE>
+protected void <B>initSearchFunctionality</B>()</PRE>
+<DL>
+<DD>Init method that instantiates a GSearchConnection object used
+ to work with the separate FedoraGSearch web services. 
+ The url of the WSDL for FedoraGSearch's web services is worked out 
+ from the baseURL of the Fedora server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGSearchWSDLURL()"><!-- --></A><H3>
+getGSearchWSDLURL</H3>
+<PRE>
+public java.lang.String <B>getGSearchWSDLURL</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the gSearchWSDLURL, the url of the WSDL for the
+ FedoraGSearch web services</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGSearchWSDLURL(java.lang.String)"><!-- --></A><H3>
+setGSearchWSDLURL</H3>
+<PRE>
+public void <B>setGSearchWSDLURL</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>Sets the member variable gSearchWSDLURL that specify the location of
+ the WSDL file of FedoraGSearch's web services. Then it attempts 
+ to instantiate a connection to those web services.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - is the new url of the GSearch web services WSDL file</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServiceNames()"><!-- --></A><H3>
+getServiceNames</H3>
+<PRE>
+protected java.lang.String[] <B>getServiceNames</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the array of the services actually supported by FedoraGS3</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsSectionNumber(java.lang.String)"><!-- --></A><H3>
+containsSectionNumber</H3>
+<PRE>
+protected boolean <B>containsSectionNumber</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>For finding out if the sectionNumber is given as part of the docID.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is the String that contains the docPID and may also
+ contain the section number.
+<DT><B>Returns:</B><DD>true if the document identifier docID contains a section-
+ number, and false if it consists solely of the docPID.
+ That is, true is returned if 
+ <pre>docID = "greenstone:colName-&lt;docPID&gt;-&lt;sectionNum&gt;"</pre>
+ and false is returned if
+ <pre>docID = "greenstone:colName-&lt;docPID&gt;"</pre></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocPIDFromDocID(java.lang.String)"><!-- --></A><H3>
+getDocPIDFromDocID</H3>
+<PRE>
+protected java.lang.String <B>getDocPIDFromDocID</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>This method will extract the docPID from docID and return it.
+ (If a sectionNumber is suffixed to the docID, the docPID which is
+ the prefix is returned; otherwise the docID is the docPID and is
+ returned)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is the String that contains the docPID and may also
+ contain the section number.
+<DT><B>Returns:</B><DD>only the docPID portion of the docID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionIDFromDocID(java.lang.String)"><!-- --></A><H3>
+getSectionIDFromDocID</H3>
+<PRE>
+protected java.lang.String <B>getSectionIDFromDocID</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>This method will return the section Number, if there's any
+ suffixed to the docID. Otherwise it will return the empty string
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is the String that contains the docPID and may also
+ contain the section number.
+<DT><B>Returns:</B><DD>only the sectionID portion of the docID - if any, else "".</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionMetadata(java.lang.String[])"><!-- --></A><H3>
+getCollectionMetadata</H3>
+<PRE>
+public java.lang.String <B>getCollectionMetadata</B>(java.lang.String[]&nbsp;collIDs)</PRE>
+<DL>
+<DD>Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String[])">getCollectionMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collIDs</CODE> - is an array of fedora pids identifying collections in the
+ fedora repository
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX metadata for all the requested collections</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentMetadata(java.lang.String[])"><!-- --></A><H3>
+getDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>getDocumentMetadata</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String[])">getDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is an array of document identifiers (docID can either be 
+ &lt;pid&gt;s items (documents) in the fedora repository, or 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX, DC, DLS metadata for all the requested documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionMetadata(java.lang.String)"><!-- --></A><H3>
+getCollectionMetadata</H3>
+<PRE>
+public java.lang.String <B>getCollectionMetadata</B>(java.lang.String&nbsp;collID)</PRE>
+<DL>
+<DD>Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String)">getCollectionMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collID</CODE> - is a fedora pid identifying a collection in its repository
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX metadata for the requested collection</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentMetadata(java.lang.String)"><!-- --></A><H3>
+getDocumentMetadata</H3>
+<PRE>
+public java.lang.String <B>getDocumentMetadata</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String)">getDocumentMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is a document identifier (docID can either be a &lt;pid&gt; 
+ of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX, DC, DLS metadata for the requested document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetadata(java.lang.String[])"><!-- --></A><H3>
+getMetadata</H3>
+<PRE>
+public java.lang.String <B>getMetadata</B>(java.lang.String[]&nbsp;docIDsOrCollIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getMetadata(java.lang.String[])">getMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDsOrCollIDs</CODE> - is an array of identifiers which may be either the
+ fedora pids for collections, or otherwise may be a document identifier.
+ In the last case, the document ID may consist of either
+ "documentPID-sectionNumber" or may just be just fedora documentPID
+<DT><B>Returns:</B><DD>a greenstone DocumentMetadataRetrieve response for the 
+ documents or collections indicated by the docIDsOrCollIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetadata(org.w3c.dom.Document, java.lang.String)"><!-- --></A><H3>
+getMetadata</H3>
+<PRE>
+protected org.w3c.dom.Element <B>getMetadata</B>(org.w3c.dom.Document&nbsp;doc,
+                                          java.lang.String&nbsp;id)
+                                   throws java.rmi.RemoteException,
+                                          java.io.UnsupportedEncodingException,
+                                          org.xml.sax.SAXException,
+                                          java.io.IOException</PRE>
+<DL>
+<DD>Method that takes a new DOM document, as well as an identifier of either
+ a collection or document (which may be a fedora pid for the collection 
+ or document, or may be the documentPid-sectionNumber for a document) and
+ returns a documentNode element for it: 
+ &lt;documentNode&gt;&lt;metadataList&gt;
+ &lt;metadata name=""&gt;value&lt;/metadata&gt; 
+ ...
+ &lt;/metadataList&gt;&lt;/documentNode&gt;
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>id</CODE> - denotes a collection pid, a document pid or a docID of the  
+ form "documentpid-sectionNumber"
+<DT><B>Returns:</B><DD>documentNode containing the metadata for the collection or 
+ document given by parameter ID
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addMetadataWithNamespacedTagNames(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addMetadataWithNamespacedTagNames</H3>
+<PRE>
+protected void <B>addMetadataWithNamespacedTagNames</B>(org.w3c.dom.Document&nbsp;doc,
+                                                 org.w3c.dom.Element&nbsp;metadataList,
+                                                 java.lang.String&nbsp;metaDatastream,
+                                                 java.lang.String&nbsp;metadataSet)
+                                          throws org.xml.sax.SAXException,
+                                                 java.io.IOException</PRE>
+<DL>
+<DD>This method retrieves all the metadata elements in the metaDataStream
+ parameter of the form &lt;"metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; where 
+ metadataSetNS is the namespace of each tag, and creates a new element of
+ the form &lt;metadata name="metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; for 
+ each. Each of these are then appended to the metadataList parameter.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - is the Document object using which the new metadata Elements
+ are to be constructed<DD><CODE>metadataList</CODE> - is the &lt;metadataList&gt; Element to which the new
+ metadata Elements are to be appended as children.<DD><CODE>metaDatastream</CODE> - the metadata datastream in string form (e.g. the
+ Dublin Core metadata stored in the Fedora repository).<DD><CODE>metadataSet</CODE> - is the constant datastream identifier, e.g. "DC".
+ At present this method only applies to the DC metadata as that's the only 
+ one where each tagname is different except for the constant dc: namespace.
+<DT><B>Throws:</B>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addMetadataWithFixedTagName(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addMetadataWithFixedTagName</H3>
+<PRE>
+protected void <B>addMetadataWithFixedTagName</B>(org.w3c.dom.Document&nbsp;doc,
+                                           org.w3c.dom.Element&nbsp;metadataList,
+                                           java.lang.String&nbsp;metaDatastream,
+                                           java.lang.String&nbsp;metadataSet)
+                                    throws org.xml.sax.SAXException,
+                                           java.io.IOException</PRE>
+<DL>
+<DD>This method retrieves all the metadata elements in the metaDataStream
+ of the form &lt;"namespace:"metadata name="metadataName"&gt;value&lt;/metadata&gt;  
+ where "namespace" is the namespace prefix of each tag, and metadataName  
+ is the name of the metadata (like author, title). For each element
+ it creates a corresponding new element of the form 
+ &lt;metadata name="namespace:metadataName"&gt;value&lt;/metadata&gt;. Each of these 
+ are then appended to the metadataList parameter.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - is the Document object using which the new metadata Elements
+ are to be constructed<DD><CODE>metadataList</CODE> - is the &lt;metadataList&gt; Element to which the new
+ metadata Elements are to be appended as children.<DD><CODE>metaDatastream</CODE> - the metadata datastream in string form (e.g. the
+ EX/Greenstone extracted metadata or DLS metadata stored in the Fedora 
+ repository).<DD><CODE>metadataSet</CODE> - is the constant datastream identifier, 
+ e.g. "DLS" or "EX".
+ At present this method applies to the DLS and EX metadata as they have
+ constant tagnames throughout.
+<DT><B>Throws:</B>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitleMetadata(java.lang.String)"><!-- --></A><H3>
+getTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>getTitleMetadata</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String)">getTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is a document identifier (docID can either be a &lt;pid&gt; 
+ of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ Title metadata for the requested document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitleMetadata(java.lang.String[])"><!-- --></A><H3>
+getTitleMetadata</H3>
+<PRE>
+public java.lang.String <B>getTitleMetadata</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String[])">getTitleMetadata</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is a list of document identifiers (where docID can either be 
+ a &lt;pid&gt; of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ Title metadata for all the requested documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitleMetadata(org.w3c.dom.Document, java.lang.String)"><!-- --></A><H3>
+getTitleMetadata</H3>
+<PRE>
+protected org.w3c.dom.Element <B>getTitleMetadata</B>(org.w3c.dom.Document&nbsp;doc,
+                                               java.lang.String&nbsp;docID)
+                                        throws java.rmi.RemoteException,
+                                               java.io.UnsupportedEncodingException,
+                                               org.xml.sax.SAXException,
+                                               java.io.IOException</PRE>
+<DL>
+<DD>Method that takes a new DOM document, as well as an identifier of either
+ a document or document section and returns a documentNode element containing
+ the title metadata for it: 
+ &lt;documentNode nodeID="docID"&gt;&lt;metadataList&gt;
+ &lt;metadata name="Title"&gt;sometitle&lt;/metadata&gt;
+ &lt;/metadataList&gt;&lt;/documentNode&gt;
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - denotes the id of a document or a document section, so id 
+ is either a document-pid or it's of the form documentpid-sectionNumber
+<DT><B>Returns:</B><DD>documentNode containing the metadata for the collection or 
+ document given by parameter ID
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentStructure(java.lang.String)"><!-- --></A><H3>
+getDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>getDocumentStructure</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String)">getDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - the identifier for the document whose structure is required.
+ This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+ same response
+<DT><B>Returns:</B><DD>the documentStructure of the document or section given by docID. 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message. This method returns the entire
+ subSection of the docID (that is, all descendants included).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren(java.lang.String)"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+public java.lang.String <B>getChildren</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String)">getChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - the identifier for the document whose structure is required.
+ This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+ same response
+<DT><B>Returns:</B><DD>a view of the structure of the document or section given by docID
+ which contains only the section and its direct children. This structure is 
+ returned in the XML format of a Greenstone3 DocumentStructureRetrieve 
+ response message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentStructure(java.lang.String[])"><!-- --></A><H3>
+getDocumentStructure</H3>
+<PRE>
+public java.lang.String <B>getDocumentStructure</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String[])">getDocumentStructure</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is an array of identifiers for the documents whose structures
+ are required.
+ This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+ same response
+<DT><B>Returns:</B><DD>the documentStructure of the documents or sections given by docIDs. 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message. This method returns the entire
+ subSection of each docID (that is, all descendants included).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren(java.lang.String[])"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+public java.lang.String <B>getChildren</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String[])">getChildren</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - the identifiers for the documents whose structures are 
+ required. The docids are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+ same response
+<DT><B>Returns:</B><DD>the documentStructure of the documents or sections given by docIDs
+ but only the sections and their children (not any further descendants). 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStructure(java.lang.String[], int)"><!-- --></A><H3>
+getStructure</H3>
+<PRE>
+protected java.lang.String <B>getStructure</B>(java.lang.String[]&nbsp;docIDs,
+                                        int&nbsp;levels)</PRE>
+<DL>
+<DD>Returns a greenstone3 DocumentStructureRetrieve XML response message 
+ containing the document structures for the given docIDs.
+ Similar to FedoraConnection.getTOC(), but instead of fedora formatted XML,  
+ greenstone formatted XML is returned. The requested section of the table
+ of contents (TOC) for a document is converted into the greenstone3 xml  
+ format that is returned upon DocumentStructureRetrieve requests.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - the documentIDs for which the section's structure is returned; 
+ where a docID is either a fedora pid &lt;docPID&gt; or &lt;docPID&gt;-&lt;sectionNumber&gt;.<DD><CODE>levels</CODE> - - either CHILDREN or DESCENDANTS. 
+ CHILDREN returns only the first-level descendants (children) of the 
+ requested document sections indicated by docIDs.
+ DESCENDANTS returns all descendants of all the document-sections denoted by 
+ docIDs.
+<DT><B>Returns:</B><DD>a greenstone3 DocumentStructureRetrieve XML response message in
+ String format with the structure of the docIDs requested.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStructureElement(org.w3c.dom.Element, java.lang.String[], int)"><!-- --></A><H3>
+getStructureElement</H3>
+<PRE>
+protected void <B>getStructureElement</B>(org.w3c.dom.Element&nbsp;docNodeList,
+                                   java.lang.String[]&nbsp;docIDs,
+                                   int&nbsp;levels)
+                            throws java.rmi.RemoteException,
+                                   java.io.UnsupportedEncodingException,
+                                   org.xml.sax.SAXException,
+                                   java.io.IOException</PRE>
+<DL>
+<DD>Given a &lt;documentNodeList&gt; portion of a greenstone3 
+ DocumentStructureRetrieve XML response message, this method will populate 
+ it with the &lt;documentNodes&gt; that represent the structure of the given docIDs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docNodeList</CODE> - is a &lt;documentNodeList&gt; to which &lt;documentNodes&gt; of
+ the doc structures are appended.<DD><CODE>docIDs</CODE> - the documentIDs for which the section's structure is returned; 
+ where a docID is either a fedora pid &lt;docPID&gt; or &lt;docPID&gt;-&lt;sectionNumber&gt;.<DD><CODE>levels</CODE> - - either CHILDREN or DESCENDANTS. 
+ CHILDREN returns only the first-level descendants (children) of the 
+ requested document sections indicated by docIDs.
+ DESCENDANTS returns all descendants of all the document-sections denoted by 
+ docIDs.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStructure(org.w3c.dom.Document, java.lang.String, java.lang.String, org.w3c.dom.Element)"><!-- --></A><H3>
+getStructure</H3>
+<PRE>
+protected org.w3c.dom.Element <B>getStructure</B>(org.w3c.dom.Document&nbsp;doc,
+                                           java.lang.String&nbsp;requestingDocID,
+                                           java.lang.String&nbsp;docID,
+                                           org.w3c.dom.Element&nbsp;section)</PRE>
+<DL>
+<DD>Takes the portion of the XML document outlining the structure of the 
+ document (section)--in the format this is stored in Fedora--and returns 
+ Greenstone 3 DOM XML format for outlining document structure.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>requestingDocID</CODE> - is the identifier of the document for which the 
+ structure was requested. It's this document's children or descendants that
+ will be returned. Note that this is not always the same as (clear from)  
+ parameter docID.<DD><CODE>docID</CODE> - is the documentID for which the section's structure is 
+ returned where docID = "docPID-sectionNumber".<DD><CODE>section</CODE> - - the fedora section XML that is being mirrored in
+ greenstone3 format.
+<DT><B>Returns:</B><DD>a &lt;documentNode&gt; element that contains a greenstone3 
+ DocumentStructureRetrieve XML corresponding to the parameter Element section
+ (which is in fedora XML), for the document indicated by docID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocStructure(org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+createDocStructure</H3>
+<PRE>
+protected void <B>createDocStructure</B>(org.w3c.dom.Document&nbsp;doc,
+                                  org.w3c.dom.Element&nbsp;section,
+                                  org.w3c.dom.Element&nbsp;parent,
+                                  java.lang.String&nbsp;docPID)</PRE>
+<DL>
+<DD>Recursive method that creates a documentStructure mirroring parameter
+ section, starting from parameter parent down to all descendants
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>section</CODE> - is the XML &lt;Section&gt; in the fedora repository's TOC 
+ for the docPID whose substructure is to be mirrored<DD><CODE>parent</CODE> - is the XML documentNode in the greenstone repository whose
+ descendants created by this method will correspond to the descendants of 
+ parameter section.<DD><CODE>doc</CODE> - is the document containing the parent;<DD><CODE>docPID</CODE> - is the prefix of all nodeIDs in the parent's structure</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocNodeFromSubsection(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String)"><!-- --></A><H3>
+createDocNodeFromSubsection</H3>
+<PRE>
+protected org.w3c.dom.Element <B>createDocNodeFromSubsection</B>(org.w3c.dom.Document&nbsp;doc,
+                                                          org.w3c.dom.Element&nbsp;subSection,
+                                                          java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a particular subsection element, this method creates a 
+ Greenstone3 DocumentNode element that mirrors it.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - is the document that will contain the created DocumentNode<DD><CODE>docID</CODE> - is the prefix of all nodeIDs in the parent's structure<DD><CODE>subSection</CODE> - is the XML &lt;Section&gt; in the fedora repository's 
+ TOC for the docPID which will be mirrored in the greenstone XML 
+ documentNode that will be returned.
+<DT><B>Returns:</B><DD>a greenstone &lt;documentNode&gt; that represents the fedora TOC's 
+ &lt;Section&gt; element passed as parameter subSection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContent(java.lang.String)"><!-- --></A><H3>
+getContent</H3>
+<PRE>
+public java.lang.String <B>getContent</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given an identifier that is either a docPID or a concatenation of 
+ docPID+sectionID, this method works out the fedora assigned docPID and 
+ sectionID and then calls getContentBody(docPID, sectionID) with those.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String)">getContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is expected to be of the form 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" or
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+ "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+ is returned!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContent(java.lang.String[])"><!-- --></A><H3>
+getContent</H3>
+<PRE>
+public java.lang.String <B>getContent</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given an identifier that is a concatenation of docID+sectionID, this
+ method works out the fedora assigned docPID and sectionID and then calls 
+ getContentBody(docPID, sectionID) with those.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String[])">getContent</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is an array of document identifiers of the form 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+ If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+ "greenstone:&lt;collectionName&gt;-Section1" is returned!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentBody(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getContentBody</H3>
+<PRE>
+protected java.lang.String <B>getContentBody</B>(java.lang.String&nbsp;docPID,
+                                          java.lang.String&nbsp;sectionID)
+                                   throws java.rmi.RemoteException,
+                                          java.io.UnsupportedEncodingException,
+                                          org.xml.sax.SAXException,
+                                          java.io.IOException</PRE>
+<DL>
+<DD>Gets the contents of a textNode from a section.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - the pid of the document from which a section's text is to 
+ be retrieved.<DD><CODE>sectionID</CODE> - is the section identifier of the document denoted by 
+ docPID whose text is to be returned.
+<DT><B>Returns:</B><DD>the text content of a section.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createResponseMessage(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.Exception, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createResponseMessage</H3>
+<PRE>
+protected org.w3c.dom.Element <B>createResponseMessage</B>(org.w3c.dom.Document&nbsp;doc,
+                                                    org.w3c.dom.Element&nbsp;content,
+                                                    java.lang.Exception&nbsp;ex,
+                                                    java.lang.String&nbsp;responseType,
+                                                    java.lang.String&nbsp;originator)</PRE>
+<DL>
+<DD>Here we create the greenstone's response message element: 
+ &lt;message&lg;&lt;response&gt;&lt;content&gt;&lt;/response&gt;&lt;/message&gt;
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - - the Document object which should me used to create the
+ &lt;message&gt; and &lt;response&gt; elements<DD><CODE>content</CODE> - - the element that is to be nested inside &lt;response&gt;<DD><CODE>ex</CODE> - - any exception that occurred when trying to create
+ the content parameter<DD><CODE>responseType</CODE> - - the value for the type attribute of &lt;response&gt;,
+ such as "describe", "retrieve", "browse", "query"...<DD><CODE>originator</CODE> - - indiates the collectionName or service (like 
+ DocumentContentRetrieve) from where this response message originates
+<DT><B>Returns:</B><DD>a greenstone response-message element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createServiceList(org.w3c.dom.Document)"><!-- --></A><H3>
+createServiceList</H3>
+<PRE>
+protected org.w3c.dom.Element <B>createServiceList</B>(org.w3c.dom.Document&nbsp;doc)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - - the Document object which should me used to create the
+ &lt;serviceList&gt; element
+<DT><B>Returns:</B><DD>a &lt;serviceList&gt; Element as defined by GS3: containing all the
+ services (denoted by &lt;service&gt; elements) that are supported by FedoraGS3. 
+ At present these are: DocumentContentRetrieve, DocumentMetadataRetrieve,
+ DocumentStructureRetrieve, TextQuery, FieldQuery, ClassifierBrowse, 
+ ClassifierBrowseMetadataRetrieve (as indicated by member var serviceNames).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServiceList()"><!-- --></A><H3>
+getServiceList</H3>
+<PRE>
+public java.lang.String <B>getServiceList</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getServiceList()">getServiceList</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a GS3 response message for a describe services request: 
+ indicating the list of services supported by the Fedora-Greenstone 
+ interface. These are DocumentContentRetrieve, DocumentMetadataRetrieve,
+ DocumentStructureRetrieve, ClassifierBrowse, TextQuery, FieldQuery, 
+ ClassifierBrowseMetadataRetrieve - as indicated by member variable
+ serviceNames.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionList()"><!-- --></A><H3>
+getCollectionList</H3>
+<PRE>
+public java.lang.String <B>getCollectionList</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionList()">getCollectionList</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a GS3 describe response message listing the collections and  
+ collection-specific metadata stored in the Fedora-Greenstone repository.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+public java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collectionName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollection(java.lang.String)">describeCollection</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection that is to be described.  
+ It will be converted to a fedora collection pid, which is of the form 
+ "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>a GS3 describe response message for a collection in the 
+ Fedora-Greenstone repository.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionServices(java.lang.String)"><!-- --></A><H3>
+describeCollectionServices</H3>
+<PRE>
+public java.lang.String <B>describeCollectionServices</B>(java.lang.String&nbsp;collectionName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionServices(java.lang.String)">describeCollectionServices</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection whose services are to
+ be described. It will be converted to a fedora collection pid, which is of 
+ the form "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>a GS3 describe response message for the services of a collection 
+ in the Fedora-Greenstone repository. So far, these services are the same for
+ all fedora collections: they are the services given in member variable
+ serviceNames: DocumentContent/Metadata/StructureRetrieve, ClassifierBrowse,
+ ClassifierBrowseMetadataRetrieve.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+public java.lang.String <B>describeService</B>(java.lang.String&nbsp;serviceName)</PRE>
+<DL>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeService(java.lang.String)">describeService</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serviceName</CODE> - - the name of the service in the collection which is to 
+ be described.
+<DT><B>Returns:</B><DD>a GS3 describe response message for the requested service 
+ of the given collection. DocumentContent/Metadata/StructureRetrieve 
+ return nothing special except their names; browse (and any query)
+ return more complex XML responses.
+ All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeTextQueryService(org.w3c.dom.Element)"><!-- --></A><H3>
+describeTextQueryService</H3>
+<PRE>
+protected void <B>describeTextQueryService</B>(org.w3c.dom.Element&nbsp;service)</PRE>
+<DL>
+<DD>Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ TextQuery service.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the service Element that is being filled out.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeFieldQueryService(org.w3c.dom.Element)"><!-- --></A><H3>
+describeFieldQueryService</H3>
+<PRE>
+protected void <B>describeFieldQueryService</B>(org.w3c.dom.Element&nbsp;service)</PRE>
+<DL>
+<DD>Appends children to the parameter service Element that make the 
+ final service Element into a describe response XML for FedoraGS3's 
+ FieldQuery service.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>service</CODE> - is the service Element that is being filled out.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+public java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collectionName,
+                                                  java.lang.String&nbsp;serviceName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionService(java.lang.String, java.lang.String)">FedoraToGS3Interface</A></CODE></B></DD>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection whose service is to
+ be described. It will be converted to a fedora collection pid, which is of 
+ the form "greenstone:&lt;collectionName&gt;-collection".<DD><CODE>serviceName</CODE> - - the name of the service in the collection which is to 
+ be described.
+<DT><B>Returns:</B><DD>a GS3 describe response message for the requested service 
+ of the given collection. DocumentContent/Metadata/StructureRetrieve 
+ return nothing special except their names; browse (and any query)
+ return more complex XML responses.
+ All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browse(java.lang.String, java.lang.String)"><!-- --></A><H3>
+browse</H3>
+<PRE>
+public java.lang.String <B>browse</B>(java.lang.String&nbsp;collectionName,
+                               java.lang.String&nbsp;classifierID)</PRE>
+<DL>
+<DD>This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#browse(java.lang.String, java.lang.String)">browse</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifierID</CODE> - is the id of the classifier on which to browse. In
+ this case, the classifier indicates whether we browse titles by letter, or
+ browse (documents) by collection; and it is of the form &lt;CL(letter)&gt;.<DD><CODE>collectionName</CODE> - is the name of the collection whose documents 
+ starting with the given letter will be returned.
+<DT><B>Returns:</B><DD>a GS3 DocumentStructureRetrieve response message which lists all 
+ the documents that start with the letter indicated by parameter classifier.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseMetadataRetrieve(java.lang.String[])"><!-- --></A><H3>
+browseMetadataRetrieve</H3>
+<PRE>
+public java.lang.String <B>browseMetadataRetrieve</B>(java.lang.String[]&nbsp;classNodeIDs)</PRE>
+<DL>
+<DD>This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#browseMetadataRetrieve(java.lang.String[])">browseMetadataRetrieve</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classNodeIDs</CODE> - array of classifierNode IDs of for which the metadata
+ needs to be returned.
+<DT><B>Returns:</B><DD>a GS3 ClassifierBrowseMetadataRetrieve response message which 
+ lists the metadata for all the classifierNodes passed as parameter.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createClassifierElement(org.w3c.dom.Document, java.lang.String, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createClassifierElement</H3>
+<PRE>
+protected org.w3c.dom.Element <B>createClassifierElement</B>(org.w3c.dom.Document&nbsp;doc,
+                                                      java.lang.String&nbsp;content,
+                                                      int&nbsp;classifierNum,
+                                                      java.lang.String&nbsp;displayNameVal,
+                                                      java.lang.String&nbsp;displayDescrVal)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - - the document used to create the element<DD><CODE>content</CODE> - - value of the content attribute<DD><CODE>classifierNum</CODE> - - the number suffixed to the CL, together forming
+ the classifier Node's ID<DD><CODE>displayNameVal</CODE> - is the bodytext of a named displayItem element<DD><CODE>displayDescrVal</CODE> - is the bodytext of a displayItem element with
+ description
+<DT><B>Returns:</B><DD>a newly created element of the following format:
+ &lt;classifier content="somecontent" name="CL+num"&gt;
+                &lt;displayItem name="name"&gt;someClassifierName&lt;/displayItem&gt;
+                &lt;displayItem name="description"&gt;Browse by classifier name&lt;/displayItem&gt;
+ &lt;/classifier&gt;</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNameValuePairElement(org.w3c.dom.Document, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNameValuePairElement</H3>
+<PRE>
+protected org.w3c.dom.Element <B>createNameValuePairElement</B>(org.w3c.dom.Document&nbsp;doc,
+                                                         java.lang.String&nbsp;elementName,
+                                                         java.lang.String&nbsp;name,
+                                                         java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - - the document used to create the element<DD><CODE>elementName</CODE> - - the tag name<DD><CODE>name</CODE> - - value of attribute name<DD><CODE>value</CODE> - - the body text of the element
+<DT><B>Returns:</B><DD>a newly created element of the following format:
+ &lt;elementName name="somename"&gt;"some display value"&lt;/elementName&gt;</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="textQuery(java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+textQuery</H3>
+<PRE>
+public java.lang.String[] <B>textQuery</B>(java.lang.String&nbsp;collection,
+                                    java.lang.String&nbsp;query,
+                                    int&nbsp;maxDocs)
+                             throws java.lang.Exception</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the collection to search in<DD><CODE>query</CODE> - is the query term to search for. It won't specify the
+ indexed field to search in, which will mean that GSearch will
+ search all default indexed fields.<DD><CODE>maxDocs</CODE> - is the maximum number of results to return (which
+ at present we consider equivalent to FedoraGSearch's hitpageSize).
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="fieldQuery(java.lang.String, java.util.Map, int)"><!-- --></A><H3>
+fieldQuery</H3>
+<PRE>
+public java.lang.String[] <B>fieldQuery</B>(java.lang.String&nbsp;collection,
+                                     java.util.Map&nbsp;nameValParamsMap,
+                                     int&nbsp;maxDocs)
+                              throws java.lang.Exception</PRE>
+<DL>
+<DD>This method performs a fieldquery, searching for x number of phrases
+ in each of the 4 indexed fields.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - is the collection to search in<DD><CODE>nameValParamsMap</CODE> - is a Map of several(key, value) entries,
+ 4 of which we're concerned with here:
+ - the keys are ALL_FIELDS, DOC_TITLES, ALL_TITLES, FULLTEXT
+ - the values are a comma separated list of terms (phrases or single
+ words) to search that field in. There may be more than 1 or
+ there may be none (in which case there may be N empty values or
+ spaces separated by commas).<DD><CODE>maxDocs</CODE> - is the maximum number of results to return (which
+ at present we consider equivalent to FedoraGSearch's hitpageSize).
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+public java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                              java.lang.String&nbsp;service,
+                              java.util.Map&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></CODE> in interface <CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - is a Hashmap of name and value pairs for all the
+ query field data values. The names match the field names that
+ describeCollectionService() would have returned for the query service.<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the query service
+ This method is only ever called when any of the services in the digital 
+ library described themselves as type=query. Therefore any digital
+ libraries that have no query services, can just return emtpy message 
+ strings (or even "") since this method will never be called on them 
+ anyway.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 XML for a query process
+ response returning the results for the query denoted by parameter
+ nameValParamsMap.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Connection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Connection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.html	(revision 15317)
@@ -0,0 +1,1716 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3DL
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3DL interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3DL";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3DL.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3DL.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Interface FedoraGS3DL</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>FedoraGS3DL</B></DL>
+</PRE>
+
+<P>
+Defines the methods that must be provided to retrieve the datastreams 
+ specific to Greenstone documents stored in a Fedora repository.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#_COLLECTION">_COLLECTION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTION">COLLECTION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLLECTIONNAME">COLLECTIONNAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#COLON">COLON</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DC">DC</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fedora's Dublin Core metadata</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#DLS">DLS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DLS metadata of Greenstone documents - this metadata set is optionally 
+ provided for top level documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ENGLISH">ENGLISH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#EX">EX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EX marks the XML metadata file that contains Greenstone extracted 
+ metadata</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#FEDORA_GS3">FEDORA_GS3</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instead of message router, we indicate that request messages 
+ sent here come from FedoraGS3</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE">GREENSTONE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"greenstone" is the FEDORA PID prefix we'll be working with</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#GREENSTONE_">GREENSTONE_</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#HYPHEN">HYPHEN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#ID">ID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#METADATA">METADATA</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#NAME">NAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#PERIOD">PERIOD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#QUALIFIER">QUALIFIER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION">SECTION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SECTION prefix in the name of a section's datastream; 
+ eg.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#SECTION_ELEMENT">SECTION_ELEMENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TITLE">TITLE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#TOC">TOC</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Table of contents for a Greenstone-Fedora document which outlines the 
+ structure of the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#UTF8">UTF8</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#WILDCARD">WILDCARD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#browseTitlesByLetter(java.lang.String, java.lang.String)">browseTitlesByLetter</A></B>(java.lang.String&nbsp;collName,
+                     java.lang.String&nbsp;letter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getAssocFileBaseURL()">getAssocFileBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getBaseURL()">getBaseURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSection(java.lang.String, java.lang.String)">getChildrenOfSection</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getChildrenOfSectionXML(java.lang.String, java.lang.String)">getChildrenOfSectionXML</A></B>(java.lang.String&nbsp;docPID,
+                        java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionDocs(java.lang.String)">getCollectionDocs</A></B>(java.lang.String&nbsp;colPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionName(java.lang.String)">getCollectionName</A></B>(java.lang.String&nbsp;collPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionNames(java.lang.String[])">getCollectionNames</A></B>(java.lang.String[]&nbsp;collPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPID(java.lang.String)">getCollectionPID</A></B>(java.lang.String&nbsp;collName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionPIDs(java.lang.String[])">getCollectionPIDs</A></B>(java.lang.String[]&nbsp;collNames)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollections()">getCollections</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets all greenstone collections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitle(java.lang.String)">getCollectionTitle</A></B>(java.lang.String&nbsp;collPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getCollectionTitles(java.lang.String[])">getCollectionTitles</A></B>(java.lang.String[]&nbsp;collPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDC(java.lang.String)">getDC</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All objects (incl "greenstone:*" objects) in fedora - be they collections, 
+ top-level documents or document sections) have an EX datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDLS(java.lang.String)">getDLS</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocName(java.lang.String)">getDocName</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitle(java.lang.String)">getDocTitle</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the title metadata for a particular doc object in a collection
+ denoted by docPID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getDocTitles(java.lang.String[])">getDocTitles</A></B>(java.lang.String[]&nbsp;docPIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getEX(java.lang.String)">getEX</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All "greenstone:*" objects in fedora (be they collections, top-level 
+ documents or document sections) have an EX datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getLanguage()">getLanguage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getMaxResults()">getMaxResults</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default maximum number of search results returned for a search.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getPortAddressURL()">getPortAddressURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSection(java.lang.String, java.lang.String)">getSection</A></B>(java.lang.String&nbsp;docPID,
+           java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionDCMetadata(java.lang.String, java.lang.String)">getSectionDCMetadata</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionEXMetadata(java.lang.String, java.lang.String)">getSectionEXMetadata</A></B>(java.lang.String&nbsp;docPID,
+                     java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNames(java.lang.String)">getSectionNames</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionNumbers(java.lang.String)">getSectionNumbers</A></B>(java.lang.String&nbsp;docPID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitle(java.lang.String, java.lang.String)">getSectionTitle</A></B>(java.lang.String&nbsp;docPID,
+                java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSectionTitles(java.lang.String[], java.lang.String[])">getSectionTitles</A></B>(java.lang.String[]&nbsp;docPIDs,
+                 java.lang.String[]&nbsp;sectionIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSubsection(java.lang.String, java.lang.String)">getSubsection</A></B>(java.lang.String&nbsp;docPID,
+              java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getSubsectionXML(java.lang.String, java.lang.String)">getSubsectionXML</A></B>(java.lang.String&nbsp;docPID,
+                 java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTitle(java.lang.String, java.lang.String)">getTitle</A></B>(java.lang.String&nbsp;docPID,
+         java.lang.String&nbsp;sectionID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTitles(java.lang.String, java.lang.String[])">getTitles</A></B>(java.lang.String&nbsp;docPID,
+          java.lang.String[]&nbsp;sectionIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#getTOC(java.lang.String)">getTOC</A></B>(java.lang.String&nbsp;pid)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#searchDocumentTitles(java.lang.String, java.lang.String, boolean)">searchDocumentTitles</A></B>(java.lang.String&nbsp;collName,
+                     java.lang.String&nbsp;titleContents,
+                     boolean&nbsp;startsWith)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows querying document titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#setLanguage(java.lang.String)">setLanguage</A></B>(java.lang.String&nbsp;lang)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the the default language used to query for titles (and anything else
+ where there are multiple language options).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html#setMaxResults(int)">setMaxResults</A></B>(int&nbsp;maxresults)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the default maximum number of search results returned for a search.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FEDORA_GS3"><!-- --></A><H3>
+FEDORA_GS3</H3>
+<PRE>
+static final java.lang.String <B>FEDORA_GS3</B></PRE>
+<DL>
+<DD>Instead of message router, we indicate that request messages 
+ sent here come from FedoraGS3
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.FEDORA_GS3">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GREENSTONE"><!-- --></A><H3>
+GREENSTONE</H3>
+<PRE>
+static final java.lang.String <B>GREENSTONE</B></PRE>
+<DL>
+<DD>"greenstone" is the FEDORA PID prefix we'll be working with
+<P>
+<DL>
+<DT><B>See Also:</B><DD><a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a>, 
+<A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.GREENSTONE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="GREENSTONE_"><!-- --></A><H3>
+GREENSTONE_</H3>
+<PRE>
+static final java.lang.String <B>GREENSTONE_</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.GREENSTONE_">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="COLLECTION"><!-- --></A><H3>
+COLLECTION</H3>
+<PRE>
+static final java.lang.String <B>COLLECTION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.COLLECTION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="_COLLECTION"><!-- --></A><H3>
+_COLLECTION</H3>
+<PRE>
+static final java.lang.String <B>_COLLECTION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL._COLLECTION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="WILDCARD"><!-- --></A><H3>
+WILDCARD</H3>
+<PRE>
+static final java.lang.String <B>WILDCARD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.WILDCARD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="HYPHEN"><!-- --></A><H3>
+HYPHEN</H3>
+<PRE>
+static final java.lang.String <B>HYPHEN</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.HYPHEN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="COLON"><!-- --></A><H3>
+COLON</H3>
+<PRE>
+static final java.lang.String <B>COLON</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.COLON">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PERIOD"><!-- --></A><H3>
+PERIOD</H3>
+<PRE>
+static final java.lang.String <B>PERIOD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.PERIOD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UTF8"><!-- --></A><H3>
+UTF8</H3>
+<PRE>
+static final java.lang.String <B>UTF8</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.UTF8">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TITLE"><!-- --></A><H3>
+TITLE</H3>
+<PRE>
+static final java.lang.String <B>TITLE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.TITLE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ID"><!-- --></A><H3>
+ID</H3>
+<PRE>
+static final java.lang.String <B>ID</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.ID">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NAME"><!-- --></A><H3>
+NAME</H3>
+<PRE>
+static final java.lang.String <B>NAME</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.NAME">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="COLLECTIONNAME"><!-- --></A><H3>
+COLLECTIONNAME</H3>
+<PRE>
+static final java.lang.String <B>COLLECTIONNAME</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.COLLECTIONNAME">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="QUALIFIER"><!-- --></A><H3>
+QUALIFIER</H3>
+<PRE>
+static final java.lang.String <B>QUALIFIER</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.QUALIFIER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ENGLISH"><!-- --></A><H3>
+ENGLISH</H3>
+<PRE>
+static final java.lang.String <B>ENGLISH</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.ENGLISH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="METADATA"><!-- --></A><H3>
+METADATA</H3>
+<PRE>
+static final java.lang.String <B>METADATA</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.METADATA">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SECTION_ELEMENT"><!-- --></A><H3>
+SECTION_ELEMENT</H3>
+<PRE>
+static final java.lang.String <B>SECTION_ELEMENT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.SECTION_ELEMENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EX"><!-- --></A><H3>
+EX</H3>
+<PRE>
+static final java.lang.String <B>EX</B></PRE>
+<DL>
+<DD>EX marks the XML metadata file that contains Greenstone extracted 
+ metadata
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.EX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DC"><!-- --></A><H3>
+DC</H3>
+<PRE>
+static final java.lang.String <B>DC</B></PRE>
+<DL>
+<DD>Fedora's Dublin Core metadata
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.DC">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DLS"><!-- --></A><H3>
+DLS</H3>
+<PRE>
+static final java.lang.String <B>DLS</B></PRE>
+<DL>
+<DD>DLS metadata of Greenstone documents - this metadata set is optionally 
+ provided for top level documents. Not all Greenstone top-level documents 
+ in the Fedora repository may have associated DLS metadata, however.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.DLS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TOC"><!-- --></A><H3>
+TOC</H3>
+<PRE>
+static final java.lang.String <B>TOC</B></PRE>
+<DL>
+<DD>Table of contents for a Greenstone-Fedora document which outlines the 
+ structure of the document.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.TOC">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SECTION"><!-- --></A><H3>
+SECTION</H3>
+<PRE>
+static final java.lang.String <B>SECTION</B></PRE>
+<DL>
+<DD>The SECTION prefix in the name of a section's datastream; 
+ eg. SECTION1.2.2
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3DL.SECTION">Constant Field Values</A></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getLanguage()"><!-- --></A><H3>
+getLanguage</H3>
+<PRE>
+java.lang.String <B>getLanguage</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default language used to query for titles (and anything else
+ where there are multiple language options). Upon initialisation, this 
+ defaults to English.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLanguage(java.lang.String)"><!-- --></A><H3>
+setLanguage</H3>
+<PRE>
+void <B>setLanguage</B>(java.lang.String&nbsp;lang)</PRE>
+<DL>
+<DD>Sets the the default language used to query for titles (and anything else
+ where there are multiple language options). If the default language for any
+ query is not available, then English ("en") is used. If that's not available
+ then the first other available language is used.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lang</CODE> - - the two-letter language code to set the default language to.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxResults()"><!-- --></A><H3>
+getMaxResults</H3>
+<PRE>
+int <B>getMaxResults</B>()</PRE>
+<DL>
+<DD>The default maximum number of search results returned for a search. Upon
+ initialisation, this defaults to Java's Integer.MAX_VALUE.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxResults(int)"><!-- --></A><H3>
+setMaxResults</H3>
+<PRE>
+void <B>setMaxResults</B>(int&nbsp;maxresults)</PRE>
+<DL>
+<DD>Set the default maximum number of search results returned for a search.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxresults</CODE> - - the new default maximum number of search results to 
+ be returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBaseURL()"><!-- --></A><H3>
+getBaseURL</H3>
+<PRE>
+java.lang.String <B>getBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>fedora's baseURL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPortAddressURL()"><!-- --></A><H3>
+getPortAddressURL</H3>
+<PRE>
+java.lang.String <B>getPortAddressURL</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the portAddressURL of the Fedora APIA web service
+ (should be the endpoint location in the APIA's WSDL file). 
+ Else set this in the .properties file to something else.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAssocFileBaseURL()"><!-- --></A><H3>
+getAssocFileBaseURL</H3>
+<PRE>
+java.lang.String <B>getAssocFileBaseURL</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the baseURL for gsdlAssocFiles</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollections()"><!-- --></A><H3>
+getCollections</H3>
+<PRE>
+java.lang.String[] <B>getCollections</B>()
+                                  throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Gets all greenstone collections. Searches for greenstone:*-collection.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of Strings containing the pids of all collections 
+ matching the format greenstone:*-collection.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionNames(java.lang.String[])"><!-- --></A><H3>
+getCollectionNames</H3>
+<PRE>
+java.lang.String[] <B>getCollectionNames</B>(java.lang.String[]&nbsp;collPIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPIDs</CODE> - - an array of Strings denoting the pids for greenstone
+ collections stored in the fedora repositoryl. These should be of the
+ format "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>the &lt;name&gt;s (in greenstone:&lt;name&gt;-collection) for the collections
+ indicated by collPIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionPIDs(java.lang.String[])"><!-- --></A><H3>
+getCollectionPIDs</H3>
+<PRE>
+java.lang.String[] <B>getCollectionPIDs</B>(java.lang.String[]&nbsp;collNames)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collNames</CODE> - - a list of names of greenstone collections
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>"greenstone:&lt;name&gt;-collection" for all &lt;name&gt;s in the 
+ parameter collNames.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionPID(java.lang.String)"><!-- --></A><H3>
+getCollectionPID</H3>
+<PRE>
+java.lang.String <B>getCollectionPID</B>(java.lang.String&nbsp;collName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collName</CODE> - - the name of a greenstone collection stored 
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>greenstone:&lt;name&gt;-collection for the &lt;name&gt; denoted by  
+ parameter collName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionTitle(java.lang.String)"><!-- --></A><H3>
+getCollectionTitle</H3>
+<PRE>
+java.lang.String <B>getCollectionTitle</B>(java.lang.String&nbsp;collPID)
+                                    throws java.rmi.RemoteException,
+                                           java.io.UnsupportedEncodingException,
+                                           org.xml.sax.SAXException,
+                                           java.io.IOException</PRE>
+<DL>
+<DD>Gets the title of the collection denoted by the given collection's pid by
+ retrieving the title metadata for it from the collection's EX datastream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPID</CODE> - is the pid of a greenstone collection in the fedora 
+ repository.
+<DT><B>Returns:</B><DD>the title (in the default language, else English, else the
+ first title found) for the particular collection denoted by its PID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionTitles(java.lang.String[])"><!-- --></A><H3>
+getCollectionTitles</H3>
+<PRE>
+java.lang.String[] <B>getCollectionTitles</B>(java.lang.String[]&nbsp;collPIDs)
+                                       throws java.rmi.RemoteException,
+                                              java.io.UnsupportedEncodingException,
+                                              org.xml.sax.SAXException,
+                                              java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPIDs</CODE> - - a list of pids identifying greenstone collections 
+ stored in the fedora repository.
+<DT><B>Returns:</B><DD>the collection titles for all the collections indicated by
+ collPIDs.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocTitles(java.lang.String[])"><!-- --></A><H3>
+getDocTitles</H3>
+<PRE>
+java.lang.String[] <B>getDocTitles</B>(java.lang.String[]&nbsp;docPIDs)
+                                throws java.rmi.RemoteException,
+                                       java.io.UnsupportedEncodingException,
+                                       org.xml.sax.SAXException,
+                                       java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPIDs</CODE> - - a list of pids identifying documents stored in the 
+ fedora repository.
+<DT><B>Returns:</B><DD>the title metadata for the given doc objects of a collection. 
+ These titles are returned in the same order as the given docIDs.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocTitle(java.lang.String)"><!-- --></A><H3>
+getDocTitle</H3>
+<PRE>
+java.lang.String <B>getDocTitle</B>(java.lang.String&nbsp;docPID)
+                             throws java.rmi.RemoteException,
+                                    java.io.UnsupportedEncodingException,
+                                    org.xml.sax.SAXException,
+                                    java.io.IOException</PRE>
+<DL>
+<DD>Gets the title metadata for a particular doc object in a collection
+ denoted by docPID. The docPID already contains the collection name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is the pid of the document in the fedora repository 
+ (docPID is of the form greenstone:&lt;colName&gt;-&lt;doc-identifier&gt;
+<DT><B>Returns:</B><DD>the title for the fedora document item denoted by docPID
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionTitles(java.lang.String[], java.lang.String[])"><!-- --></A><H3>
+getSectionTitles</H3>
+<PRE>
+java.lang.String[] <B>getSectionTitles</B>(java.lang.String[]&nbsp;docPIDs,
+                                    java.lang.String[]&nbsp;sectionIDs)
+                                    throws java.rmi.RemoteException,
+                                           java.io.UnsupportedEncodingException,
+                                           org.xml.sax.SAXException,
+                                           java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPIDs</CODE> - - a list of pids identifying documents stored in the 
+ fedora repository.<DD><CODE>sectionIDs</CODE> - - a list of sectionIDs identifying individual sections
+ of documents stored in the fedora repository whose titles are requested.
+<DT><B>Returns:</B><DD>the title metadata for the given document sections. 
+ These titles are returned in the same order as the given docPIDs
+ and associated sectionIDs.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionTitle(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionTitle</H3>
+<PRE>
+java.lang.String <B>getSectionTitle</B>(java.lang.String&nbsp;docPID,
+                                 java.lang.String&nbsp;sectionID)
+                                 throws java.io.UnsupportedEncodingException,
+                                        java.rmi.RemoteException,
+                                        org.xml.sax.SAXException,
+                                        java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - - a pid identifying a document in the fedora repository.<DD><CODE>sectionID</CODE> - - the sectionID of the section of the 
+ document whose title is requested.
+<DT><B>Returns:</B><DD>the title metadata for the given document section. 
+ (The docPID already contain the collection name anyway.)
+<DT><B>Throws:</B>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionDocs(java.lang.String)"><!-- --></A><H3>
+getCollectionDocs</H3>
+<PRE>
+java.lang.String[] <B>getCollectionDocs</B>(java.lang.String&nbsp;colPID)
+                                     throws java.rmi.RemoteException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>colPID</CODE> - is the pid of the greenstone collection stored in
+ the fedora repository.
+<DT><B>Returns:</B><DD>a list of the fedora pids of all (document) objects in the 
+ given greenstone collection stored in fedora's repository. All 
+ pids that do not map to a collection are assumed to be documents.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionNames(java.lang.String)"><!-- --></A><H3>
+getSectionNames</H3>
+<PRE>
+java.lang.String[] <B>getSectionNames</B>(java.lang.String&nbsp;docPID)
+                                   throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Given the pid of a document fedora data object, this method will return 
+ all itemIDs that are part of that data object and are Sections.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.
+<DT><B>Returns:</B><DD>an array of itemIDs of the Sections of the document, 
+ indicated by docPID, in ascending order. These are of the form: "SECTION1.*"
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionNumbers(java.lang.String)"><!-- --></A><H3>
+getSectionNumbers</H3>
+<PRE>
+java.lang.String[] <B>getSectionNumbers</B>(java.lang.String&nbsp;docPID)
+                                     throws java.rmi.RemoteException</PRE>
+<DL>
+<DD>Given the pid of a document fedora data object, this method will return all
+ itemIDs that are part of that data object and are Sections, but just the 
+ Section numbers are returned.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.
+<DT><B>Returns:</B><DD>an array of itemIDs of the Section numbers of the document 
+ indicated by docPID, in ascending order. Return values are of form: "1.*".
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitles(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+getTitles</H3>
+<PRE>
+java.lang.String[] <B>getTitles</B>(java.lang.String&nbsp;docPID,
+                             java.lang.String[]&nbsp;sectionIDs)
+                             throws java.rmi.RemoteException,
+                                    java.io.UnsupportedEncodingException,
+                                    org.xml.sax.SAXException,
+                                    java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionIDs</CODE> - is a list of identifiers identifying sections in the
+ document denoted by docPID, whose titles need to be returned. Each 
+ sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+ or a section number (eg. 1.5.1).
+<DT><B>Returns:</B><DD>the titles for the document sections denoted by the parameters.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitle(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getTitle</H3>
+<PRE>
+java.lang.String <B>getTitle</B>(java.lang.String&nbsp;docPID,
+                          java.lang.String&nbsp;sectionID)
+                          throws java.rmi.RemoteException,
+                                 java.io.UnsupportedEncodingException,
+                                 org.xml.sax.SAXException,
+                                 java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, whose title needs to be returned. The 
+ sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+ or a section number (eg. 1.5.1).
+<DT><B>Returns:</B><DD>the title for the document section denoted by the parameters.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocName(java.lang.String)"><!-- --></A><H3>
+getDocName</H3>
+<PRE>
+java.lang.String <B>getDocName</B>(java.lang.String&nbsp;docPID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is the pid of a greenstone document in the fedora 
+  repository.
+<DT><B>Returns:</B><DD>the &lt;docName&gt; in the parameter docPID (which is of the form: 
+  greenstone:&lt;colname&gt;-&lt;docName&gt;)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionName(java.lang.String)"><!-- --></A><H3>
+getCollectionName</H3>
+<PRE>
+java.lang.String <B>getCollectionName</B>(java.lang.String&nbsp;collPID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collPID</CODE> - is the pid of a greenstone collection in the fedora 
+ repository.
+<DT><B>Returns:</B><DD>the &lt;name&gt; in the parameter collPID 
+ (greenstone:&lt;name&gt;-collection)</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDC(java.lang.String)"><!-- --></A><H3>
+getDC</H3>
+<PRE>
+java.lang.String <B>getDC</B>(java.lang.String&nbsp;pid)
+                       throws java.rmi.RemoteException,
+                              java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All objects (incl "greenstone:*" objects) in fedora - be they collections, 
+ top-level documents or document sections) have an EX datastream. This method
+ returns the content (XML) of the DC datastream as it is stored in fedora's 
+ repository.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.
+<DT><B>Returns:</B><DD>a String version of the XML in the DC datastream for the fedora object
+ denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEX(java.lang.String)"><!-- --></A><H3>
+getEX</H3>
+<PRE>
+java.lang.String <B>getEX</B>(java.lang.String&nbsp;pid)
+                       throws java.rmi.RemoteException,
+                              java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All "greenstone:*" objects in fedora (be they collections, top-level 
+ documents or document sections) have an EX datastream. This method 
+ returns the content (XML) of the EX datastream as is.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.
+<DT><B>Returns:</B><DD>a String version of the XML in the DC datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDLS(java.lang.String)"><!-- --></A><H3>
+getDLS</H3>
+<PRE>
+java.lang.String <B>getDLS</B>(java.lang.String&nbsp;pid)
+                        throws java.rmi.RemoteException,
+                               java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>Some "greenstone:*" top-level documents in the fedora repository (but not 
+ greenstone collections or document sections) have a DLS metadata datastream. 
+ This method returns the content (XML) of the DLS datastream as is.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.
+<DT><B>Returns:</B><DD>a String version of the XML in the DLS datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTOC(java.lang.String)"><!-- --></A><H3>
+getTOC</H3>
+<PRE>
+java.lang.String <B>getTOC</B>(java.lang.String&nbsp;pid)
+                        throws java.rmi.RemoteException,
+                               java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>All "greenstone:*" objects in fedora (be they collections or documents) 
+ have a TOC datastream. This method returns the content (XML) of the TOC  
+ datastream as is. (Calls default fedora-system 3 dissemination &lt;pid&gt;/TOC.)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pid</CODE> - - the fedora persistent identifier for an item in the fedora
+ repository.
+<DT><B>Returns:</B><DD>a String version of the XML in the DC datastream for the fedora
+ object denoted by pid.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSection</H3>
+<PRE>
+java.lang.String <B>getSection</B>(java.lang.String&nbsp;docPID,
+                            java.lang.String&nbsp;sectionID)
+                            throws java.rmi.RemoteException,
+                                   java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the section's XML (as a String) as it is stored in fedora. 
+ Works out if sectionID is a sectionName or sectionNumber.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionDCMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionDCMetadata</H3>
+<PRE>
+java.lang.String <B>getSectionDCMetadata</B>(java.lang.String&nbsp;docPID,
+                                      java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the required section's DC metadata XML datastream.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSectionEXMetadata(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSectionEXMetadata</H3>
+<PRE>
+java.lang.String <B>getSectionEXMetadata</B>(java.lang.String&nbsp;docPID,
+                                      java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the required section's EX metadata XML datastream.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildrenOfSectionXML(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getChildrenOfSectionXML</H3>
+<PRE>
+org.w3c.dom.Element <B>getChildrenOfSectionXML</B>(java.lang.String&nbsp;docPID,
+                                            java.lang.String&nbsp;sectionID)
+                                            throws java.rmi.RemoteException,
+                                                   java.io.UnsupportedEncodingException,
+                                                   org.xml.sax.SAXException,
+                                                   java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the XML content of the TOC of just that portion of the TOC which   
+ contains the section denoted by sectionID and its direct child subsections. 
+ The children are returned in the order they are encountered, which 
+ happens to be in the required order of ascending sectionID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildrenOfSection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getChildrenOfSection</H3>
+<PRE>
+java.lang.String <B>getChildrenOfSection</B>(java.lang.String&nbsp;docPID,
+                                      java.lang.String&nbsp;sectionID)
+                                      throws java.rmi.RemoteException,
+                                             java.io.UnsupportedEncodingException,
+                                             org.xml.sax.SAXException,
+                                             java.io.IOException,
+                                             javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>a string representing the XML content of the TOC of just
+ that portion of the TOC which contains the section denoted by sectionID  
+ and its direct child subsections. 
+ The children are returned in the order they are encountered, which 
+ happens to be in the required order of ascending sectionID.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubsectionXML(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSubsectionXML</H3>
+<PRE>
+org.w3c.dom.Element <B>getSubsectionXML</B>(java.lang.String&nbsp;docPID,
+                                     java.lang.String&nbsp;sectionID)
+                                     throws java.rmi.RemoteException,
+                                            java.io.UnsupportedEncodingException,
+                                            org.xml.sax.SAXException,
+                                            java.io.IOException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>the part of the TOC XML file (which outlines doc structure)  
+ relating to the given section. This includes the section denoted by
+ sectionID as well as all descendent subsections thereof.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSubsection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getSubsection</H3>
+<PRE>
+java.lang.String <B>getSubsection</B>(java.lang.String&nbsp;docPID,
+                               java.lang.String&nbsp;sectionID)
+                               throws java.rmi.RemoteException,
+                                      java.io.UnsupportedEncodingException,
+                                      org.xml.sax.SAXException,
+                                      java.io.IOException,
+                                      javax.xml.transform.TransformerException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docPID</CODE> - is a fedora pid identifying a greenstone document object.<DD><CODE>sectionID</CODE> - identifies the particular section in the
+ document denoted by docPID, may be a section name or number.
+<DT><B>Returns:</B><DD>a String representation of the part of the TOC XML file   
+ (which outlines doc structure) relating to the given section. This    
+ includes the section denoted by sectionID as well as all descendent  
+ subsections thereof.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE>
+<DD><CODE>org.xml.sax.SAXException</CODE>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseTitlesByLetter(java.lang.String, java.lang.String)"><!-- --></A><H3>
+browseTitlesByLetter</H3>
+<PRE>
+java.lang.String[] <B>browseTitlesByLetter</B>(java.lang.String&nbsp;collName,
+                                        java.lang.String&nbsp;letter)
+                                        throws java.rmi.RemoteException,
+                                               <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></PRE>
+<DL>
+<DD>Allows browsing document titles of a greenstone collection stored in 
+ the fedora repository by letter.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>letter</CODE> - is the starting letter to browse by.
+<DT><B>Returns:</B><DD>the browse results for documents that start with any letter from 
+ A to Z. Returns the document pids whose titles start with the given letter.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="searchDocumentTitles(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+searchDocumentTitles</H3>
+<PRE>
+java.lang.String[] <B>searchDocumentTitles</B>(java.lang.String&nbsp;collName,
+                                        java.lang.String&nbsp;titleContents,
+                                        boolean&nbsp;startsWith)
+                                        throws java.rmi.RemoteException,
+                                               <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></PRE>
+<DL>
+<DD>Allows querying document titles of a greenstone collection stored in 
+ the fedora repository for a term that may occur anywhere in their titles.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>titleContents</CODE> - is the word or phrase to search the collection's 
+ document titles for.<DD><CODE>startsWith</CODE> - - if true, searches for titles that start with 
+ titleContents. Else it searches for titles that contain titleContents.
+<DT><B>Returns:</B><DD>the document pids whose titles contain the parameter term.
+<DT><B>Throws:</B>
+<DD><CODE>java.rmi.RemoteException</CODE>
+<DD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3DL.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3DL.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html	(revision 15317)
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.AuthenticationFailedException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.AuthenticationFailedException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.AuthenticationFailedException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.AuthenticationFailedException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.AuthenticationFailedException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+This AuthenticationFailedException can be thrown when the user enters 
+ an invalid username and password into the FedoraConnection Authentication 
+ popup dialog (displayed upon FedoraConnection object construction).
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html#FedoraGS3Exception.AuthenticationFailedException()">FedoraGS3Exception.AuthenticationFailedException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.AuthenticationFailedException()"><!-- --></A><H3>
+FedoraGS3Exception.AuthenticationFailedException</H3>
+<PRE>
+public <B>FedoraGS3Exception.AuthenticationFailedException</B>()</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.AuthenticationFailedException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html	(revision 15317)
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.CancelledException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.CancelledException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.CancelledException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.CancelledException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.CancelledException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.CancelledException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.CancelledException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+When the user chooses to cancel out of the FedoraConnection dialog of
+ the constructor (where they have to enter authentication information), 
+ this exception is thrown, so that classes making use of FedoraConnection 
+ may choose whether to exit their program or deal with it differently.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.CancelledException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html#FedoraGS3Exception.CancelledException()">FedoraGS3Exception.CancelledException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.CancelledException()"><!-- --></A><H3>
+FedoraGS3Exception.CancelledException</H3>
+<PRE>
+public <B>FedoraGS3Exception.CancelledException</B>()</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.CancelledException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html	(revision 15317)
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.FedoraGS3InitFailureException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.FedoraGS3InitFailureException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraGS3InitFailureException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.FedoraGS3InitFailureException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception</A>
+              <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.FedoraGS3InitFailureException</B><DT>extends <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DL>
+</PRE>
+
+<P>
+Static inner class FedoraGS3InitFailureException is an Exception
+ that is thrown when no connection can be made to the Fedora server
+ and therefore the FedoraGS3 object construction failed.
+ Its constructor allows other exceptions to be encapsulated within
+ it, via the cause object (a Throwable, superclass of Exception) 
+ parameter. This (the actual exception that caused the 
+ FedoraGS3InitFailureException) can be queried by interested parties
+ via the getCause() method.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#MESSAGE">MESSAGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#connectionRefusedMessage">connectionRefusedMessage</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#missingTargetService">missingTargetService</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#sslHandshakeExceptionMessage">sslHandshakeExceptionMessage</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException()">FedoraGS3Exception.FedoraGS3InitFailureException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String)">FedoraGS3Exception.FedoraGS3InitFailureException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String, java.lang.Throwable)">FedoraGS3Exception.FedoraGS3InitFailureException</A></B>(java.lang.String&nbsp;message,
+                                                 java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html#FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.Throwable)">FedoraGS3Exception.FedoraGS3InitFailureException</A></B>(java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MESSAGE"><!-- --></A><H3>
+MESSAGE</H3>
+<PRE>
+public static final java.lang.String <B>MESSAGE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException.MESSAGE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.FedoraGS3InitFailureException()"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3InitFailureException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3InitFailureException</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3InitFailureException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3InitFailureException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3InitFailureException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3InitFailureException</B>(java.lang.String&nbsp;message,
+                                                        java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3InitFailureException(java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3InitFailureException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3InitFailureException</B>(java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraGS3InitFailureException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html	(revision 15317)
@@ -0,0 +1,430 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.FedoraGS3RunException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.FedoraGS3RunException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraGS3RunException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.FedoraGS3RunException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception</A>
+              <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.FedoraGS3RunException</B><DT>extends <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DL>
+</PRE>
+
+<P>
+Represents an exception that occurs when FedoraGS3 is running 
+ A subclass of FedoraGS3Exception
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#specifics">specifics</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some extra information as to what when wrong</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#xmlToStringConversionFailureResponseMsg">xmlToStringConversionFailureResponseMsg</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If a problem occurs converting the error message into XML
+ this string is created in the format of XML stating the 
+ problem that occurred when trying to convert XML to String.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#connectionRefusedMessage">connectionRefusedMessage</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#missingTargetService">missingTargetService</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#sslHandshakeExceptionMessage">sslHandshakeExceptionMessage</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException()">FedoraGS3Exception.FedoraGS3RunException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.String)">FedoraGS3Exception.FedoraGS3RunException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.String, java.lang.Throwable)">FedoraGS3Exception.FedoraGS3RunException</A></B>(java.lang.String&nbsp;message,
+                                         java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#FedoraGS3Exception.FedoraGS3RunException(java.lang.Throwable)">FedoraGS3Exception.FedoraGS3RunException</A></B>(java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overloading getMessage() to return some details as to what
+ exactly went wrong.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html#setSpecifics(java.lang.String)">setSpecifics</A></B>(java.lang.String&nbsp;specifics)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="xmlToStringConversionFailureResponseMsg"><!-- --></A><H3>
+xmlToStringConversionFailureResponseMsg</H3>
+<PRE>
+protected static java.lang.String <B>xmlToStringConversionFailureResponseMsg</B></PRE>
+<DL>
+<DD>If a problem occurs converting the error message into XML
+ this string is created in the format of XML stating the 
+ problem that occurred when trying to convert XML to String.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="specifics"><!-- --></A><H3>
+specifics</H3>
+<PRE>
+protected java.lang.String <B>specifics</B></PRE>
+<DL>
+<DD>Some extra information as to what when wrong
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.FedoraGS3RunException()"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3RunException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3RunException</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3RunException(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3RunException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3RunException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3RunException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3RunException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3RunException</B>(java.lang.String&nbsp;message,
+                                                java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.FedoraGS3RunException(java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraGS3RunException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraGS3RunException</B>(java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setSpecifics(java.lang.String)"><!-- --></A><H3>
+setSpecifics</H3>
+<PRE>
+public void <B>setSpecifics</B>(java.lang.String&nbsp;specifics)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public java.lang.String <B>getMessage</B>()</PRE>
+<DL>
+<DD>Overloading getMessage() to return some details as to what
+ exactly went wrong.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE>getMessage</CODE> in class <CODE>java.lang.Throwable</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraGS3RunException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_classes_inherited_from_class_org.greenstone.fedora.services.FedoraGS3Exception">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html	(revision 15317)
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.FedoraVersionNotSupportedException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.FedoraVersionNotSupportedException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraVersionNotSupportedException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.FedoraVersionNotSupportedException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.FedoraVersionNotSupportedException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+Certain functionality in Fedora - in particular fielded search - is
+ implemented differently or uses slightly different Fedora types in older
+ versions of Fedora (fielded search in 2.0 uses a different Condition class). 
+ In that case, the fielded search web service cannot be performed, and
+ this FedoraVersionNotSupportedException is thrown.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html#FedoraGS3Exception.FedoraVersionNotSupportedException(java.lang.String)">FedoraGS3Exception.FedoraVersionNotSupportedException</A></B>(java.lang.String&nbsp;fedoraVersion)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.FedoraVersionNotSupportedException(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception.FedoraVersionNotSupportedException</H3>
+<PRE>
+public <B>FedoraGS3Exception.FedoraVersionNotSupportedException</B>(java.lang.String&nbsp;fedoraVersion)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.FedoraVersionNotSupportedException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html	(revision 15317)
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.NotAFedoraServerException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.NotAFedoraServerException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.NotAFedoraServerException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.NotAFedoraServerException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.NotAFedoraServerException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+This AuthenticationFailedException can be thrown when there is some
+ server listening at the host and port values entered by the user, but
+ when this server is (most likely) not a Fedora Server. 
+ The IOException message received in such cases is:
+ "Unable to instantiate FedoraConnection
+ java.io.IOException: Request failed [404 /fedora/describe]"
+ And in such cases, we can throw this NotAFedoraServerException
+ to deal with it more particularly than more general IOExceptions.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#MESSAGE">MESSAGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#FedoraGS3Exception.NotAFedoraServerException()">FedoraGS3Exception.NotAFedoraServerException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html#FedoraGS3Exception.NotAFedoraServerException(java.lang.String)">FedoraGS3Exception.NotAFedoraServerException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MESSAGE"><!-- --></A><H3>
+MESSAGE</H3>
+<PRE>
+public static final java.lang.String <B>MESSAGE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException.MESSAGE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.NotAFedoraServerException()"><!-- --></A><H3>
+FedoraGS3Exception.NotAFedoraServerException</H3>
+<PRE>
+public <B>FedoraGS3Exception.NotAFedoraServerException</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception.NotAFedoraServerException(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception.NotAFedoraServerException</H3>
+<PRE>
+public <B>FedoraGS3Exception.NotAFedoraServerException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.NotAFedoraServerException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html	(revision 15317)
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception.ServerNotFoundException
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception.ServerNotFoundException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception.ServerNotFoundException";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.ServerNotFoundException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception.ServerNotFoundException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception.ServerNotFoundException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static class <B>FedoraGS3Exception.ServerNotFoundException</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+This ServerNotFoundException can be thrown when the user enters 
+ there is no (Fedora) server listening at a given host and port.
+ Thrown when a 404 Not Found occurs.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception.ServerNotFoundException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html#FedoraGS3Exception.ServerNotFoundException(java.lang.String)">FedoraGS3Exception.ServerNotFoundException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception.ServerNotFoundException(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception.ServerNotFoundException</H3>
+<PRE>
+public <B>FedoraGS3Exception.ServerNotFoundException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.ServerNotFoundException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.html	(revision 15317)
@@ -0,0 +1,473 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraGS3Exception
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraGS3Exception class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraGS3Exception";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class FedoraGS3Exception</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.FedoraGS3Exception</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>FedoraGS3Exception</B><DT>extends java.lang.Exception</DL>
+</PRE>
+
+<P>
+The exceptions that can be thrown by FedoraGS3. This class
+ represents a general FedoraGS3 exception. It will LOG the 
+ exceptions for all the (static inner) subclasses. And, through 
+ the Cause object, also for the static inner Exception classes 
+ that do not inherit but are encapsulated in subclass 
+ FedoraGS3RunException when its constructor is called with the
+ particular Exception type. The 'Cause' Exception classes therefore
+ indicate the root causes for why a FedoraGS3RunException was thrown.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.greenstone.fedora.services.FedoraGS3Exception">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This AuthenticationFailedException can be thrown when the user enters 
+ an invalid username and password into the FedoraConnection Authentication 
+ popup dialog (displayed upon FedoraConnection object construction).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When the user chooses to cancel out of the FedoraConnection dialog of
+ the constructor (where they have to enter authentication information), 
+ this exception is thrown, so that classes making use of FedoraConnection 
+ may choose whether to exit their program or deal with it differently.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static inner class FedoraGS3InitFailureException is an Exception
+ that is thrown when no connection can be made to the Fedora server
+ and therefore the FedoraGS3 object construction failed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents an exception that occurs when FedoraGS3 is running 
+ A subclass of FedoraGS3Exception</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Certain functionality in Fedora - in particular fielded search - is
+ implemented differently or uses slightly different Fedora types in older
+ versions of Fedora (fielded search in 2.0 uses a different Condition class).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This AuthenticationFailedException can be thrown when there is some
+ server listening at the host and port values entered by the user, but
+ when this server is (most likely) not a Fedora Server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This ServerNotFoundException can be thrown when the user enters 
+ there is no (Fedora) server listening at a given host and port.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#connectionRefusedMessage">connectionRefusedMessage</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant string message to display when a connection is refused</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#missingTargetService">missingTargetService</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant string message to check against if "AXIS engine  
+ could not find a target service to invoke" message is the cause 
+ for an AxisFault exception embedded in a RemoteException</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#sslHandshakeExceptionMessage">sslHandshakeExceptionMessage</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant string message to display if the sslHandshake fails
+ when trying to connect to Fedora using https</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception()">FedoraGS3Exception</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No argument constructor merely sets the message to 
+ this class' name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.String)">FedoraGS3Exception</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a FedoraGS3Exception with the given message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.String, java.lang.Throwable)">FedoraGS3Exception</A></B>(java.lang.String&nbsp;message,
+                   java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a FedoraGS3Exception with the given message and cause.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html#FedoraGS3Exception(java.lang.Throwable)">FedoraGS3Exception</A></B>(java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a FedoraGS3Exception with the given cause.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="connectionRefusedMessage"><!-- --></A><H3>
+connectionRefusedMessage</H3>
+<PRE>
+public static final java.lang.String <B>connectionRefusedMessage</B></PRE>
+<DL>
+<DD>Constant string message to display when a connection is refused
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Exception.connectionRefusedMessage">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="sslHandshakeExceptionMessage"><!-- --></A><H3>
+sslHandshakeExceptionMessage</H3>
+<PRE>
+public static final java.lang.String <B>sslHandshakeExceptionMessage</B></PRE>
+<DL>
+<DD>Constant string message to display if the sslHandshake fails
+ when trying to connect to Fedora using https
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Exception.sslHandshakeExceptionMessage">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="missingTargetService"><!-- --></A><H3>
+missingTargetService</H3>
+<PRE>
+public static final java.lang.String <B>missingTargetService</B></PRE>
+<DL>
+<DD>Constant string message to check against if "AXIS engine  
+ could not find a target service to invoke" message is the cause 
+ for an AxisFault exception embedded in a RemoteException
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraGS3Exception.missingTargetService">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FedoraGS3Exception()"><!-- --></A><H3>
+FedoraGS3Exception</H3>
+<PRE>
+public <B>FedoraGS3Exception</B>()</PRE>
+<DL>
+<DD>No argument constructor merely sets the message to 
+ this class' name.
+<P>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception(java.lang.String)"><!-- --></A><H3>
+FedoraGS3Exception</H3>
+<PRE>
+public <B>FedoraGS3Exception</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+<DD>Constructs a FedoraGS3Exception with the given message.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - is an information String of what went wrong.</DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception</H3>
+<PRE>
+public <B>FedoraGS3Exception</B>(java.lang.String&nbsp;message,
+                          java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+<DD>Constructs a FedoraGS3Exception with the given message and cause.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - is an information String of what went wrong.<DD><CODE>cause</CODE> - is a Throwable object (perhaps another Exception) 
+ of what caused this exception to occur.</DL>
+</DL>
+<HR>
+
+<A NAME="FedoraGS3Exception(java.lang.Throwable)"><!-- --></A><H3>
+FedoraGS3Exception</H3>
+<PRE>
+public <B>FedoraGS3Exception</B>(java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+<DD>Constructs a FedoraGS3Exception with the given cause.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>cause</CODE> - is a Throwable object (perhaps another Exception) 
+ of what caused this exception to occur.</DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraGS3Exception.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraGS3Exception.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html	(revision 15317)
@@ -0,0 +1,431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+FedoraToGS3Interface.Constants
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraToGS3Interface.Constants interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraToGS3Interface.Constants";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraToGS3Interface.Constants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Interface FedoraToGS3Interface.Constants</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A>, <A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing interface:</B><DD><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static interface <B>FedoraToGS3Interface.Constants</B></DL>
+</PRE>
+
+<P>
+Interface declaring some string constants of literals to look for
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_FIELDS">ALL_FIELDS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field search names and separator used externally</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_TITLES">ALL_TITLES</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ASSOCFILEPREFIX">ASSOCFILEPREFIX</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prefix of the (img) files associated  with Greenstone documents 
+ in the Fedora repository</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#COMMA">COMMA</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#DOC_TITLES">DOC_TITLES</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FIELDNAME_ATT">FIELDNAME_ATT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FULLTEXT">FULLTEXT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#GS3FilePathMacro">GS3FilePathMacro</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#MAXDOCS">MAXDOCS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;names of query form controls</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#NUM_DOCS_MATCHED">NUM_DOCS_MATCHED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#OCCURS_ATT">OCCURS_ATT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#QUERY">QUERY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#SIMPLEFIELD_ATT">SIMPLEFIELD_ATT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GS3FilePathMacro"><!-- --></A><H3>
+GS3FilePathMacro</H3>
+<PRE>
+static final java.lang.String <B>GS3FilePathMacro</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.GS3FilePathMacro">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ASSOCFILEPREFIX"><!-- --></A><H3>
+ASSOCFILEPREFIX</H3>
+<PRE>
+static final java.lang.String <B>ASSOCFILEPREFIX</B></PRE>
+<DL>
+<DD>Prefix of the (img) files associated  with Greenstone documents 
+ in the Fedora repository
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ASSOCFILEPREFIX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MAXDOCS"><!-- --></A><H3>
+MAXDOCS</H3>
+<PRE>
+static final java.lang.String <B>MAXDOCS</B></PRE>
+<DL>
+<DD>names of query form controls
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.MAXDOCS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="QUERY"><!-- --></A><H3>
+QUERY</H3>
+<PRE>
+static final java.lang.String <B>QUERY</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.QUERY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SIMPLEFIELD_ATT"><!-- --></A><H3>
+SIMPLEFIELD_ATT</H3>
+<PRE>
+static final java.lang.String <B>SIMPLEFIELD_ATT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.SIMPLEFIELD_ATT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="OCCURS_ATT"><!-- --></A><H3>
+OCCURS_ATT</H3>
+<PRE>
+static final java.lang.String <B>OCCURS_ATT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.OCCURS_ATT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FIELDNAME_ATT"><!-- --></A><H3>
+FIELDNAME_ATT</H3>
+<PRE>
+static final java.lang.String <B>FIELDNAME_ATT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.FIELDNAME_ATT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NUM_DOCS_MATCHED"><!-- --></A><H3>
+NUM_DOCS_MATCHED</H3>
+<PRE>
+static final java.lang.String <B>NUM_DOCS_MATCHED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.NUM_DOCS_MATCHED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ALL_FIELDS"><!-- --></A><H3>
+ALL_FIELDS</H3>
+<PRE>
+static final java.lang.String <B>ALL_FIELDS</B></PRE>
+<DL>
+<DD>Field search names and separator used externally
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ALL_FIELDS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOC_TITLES"><!-- --></A><H3>
+DOC_TITLES</H3>
+<PRE>
+static final java.lang.String <B>DOC_TITLES</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.DOC_TITLES">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ALL_TITLES"><!-- --></A><H3>
+ALL_TITLES</H3>
+<PRE>
+static final java.lang.String <B>ALL_TITLES</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.ALL_TITLES">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FULLTEXT"><!-- --></A><H3>
+FULLTEXT</H3>
+<PRE>
+static final java.lang.String <B>FULLTEXT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.FULLTEXT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="COMMA"><!-- --></A><H3>
+COMMA</H3>
+<PRE>
+static final java.lang.String <B>COMMA</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.FedoraToGS3Interface.Constants.COMMA">Constant Field Values</A></DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraToGS3Interface.Constants.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.html	(revision 15317)
@@ -0,0 +1,807 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:38 NZST 2008 -->
+<TITLE>
+FedoraToGS3Interface
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.FedoraToGS3Interface interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FedoraToGS3Interface";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraToGS3Interface.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraToGS3Interface.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Interface FedoraToGS3Interface</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>FedoraToGS3Interface</B></DL>
+</PRE>
+
+<P>
+The following methods return the same data as FedoraGS3DL, but formatted as 
+ Greenstone Response-Message XML. This way our java-client can parse   
+ the returned XML in the same way and store them in the same datastructures.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface declaring some string constants of literals to look for</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#browse(java.lang.String, java.lang.String)">browse</A></B>(java.lang.String&nbsp;collectionName,
+       java.lang.String&nbsp;classifierID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#browseMetadataRetrieve(java.lang.String[])">browseMetadataRetrieve</A></B>(java.lang.String[]&nbsp;classNodeIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollection(java.lang.String)">describeCollection</A></B>(java.lang.String&nbsp;collectionName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionService(java.lang.String, java.lang.String)">describeCollectionService</A></B>(java.lang.String&nbsp;collectionName,
+                          java.lang.String&nbsp;serviceName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeCollectionServices(java.lang.String)">describeCollectionServices</A></B>(java.lang.String&nbsp;collectionName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#describeService(java.lang.String)">describeService</A></B>(java.lang.String&nbsp;serviceName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String)">getChildren</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getChildren(java.lang.String[])">getChildren</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionList()">getCollectionList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String)">getCollectionMetadata</A></B>(java.lang.String&nbsp;collID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getCollectionMetadata(java.lang.String[])">getCollectionMetadata</A></B>(java.lang.String[]&nbsp;collIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String)">getContent</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a list of document identifiers that are either docPIDs or  
+ concatenations of docPID+sectionID, this method retrieves their contents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getContent(java.lang.String[])">getContent</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier that is either a docPID or a concatenation  
+ of docPID+sectionID, this method retrieves the content for it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String)">getDocumentMetadata</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentMetadata(java.lang.String[])">getDocumentMetadata</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String)">getDocumentStructure</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getDocumentStructure(java.lang.String[])">getDocumentStructure</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getMetadata(java.lang.String[])">getMetadata</A></B>(java.lang.String[]&nbsp;docIDsOrCollIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getServiceList()">getServiceList</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String)">getTitleMetadata</A></B>(java.lang.String&nbsp;docID)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#getTitleMetadata(java.lang.String[])">getTitleMetadata</A></B>(java.lang.String[]&nbsp;docIDs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html#query(java.lang.String, java.lang.String, java.util.Map)">query</A></B>(java.lang.String&nbsp;collection,
+      java.lang.String&nbsp;service,
+      java.util.Map&nbsp;nameValParamsMap)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getServiceList()"><!-- --></A><H3>
+getServiceList</H3>
+<PRE>
+java.lang.String <B>getServiceList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a GS3 response message for a describe services request: 
+ indicating the list of services supported by the Fedora-Greenstone 
+ interface. These are DocumentContentRetrieve, DocumentMetadataRetrieve,
+ DocumentStructureRetrieve, BrowseByLetter - as indicated by member
+ variable serviceNames.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionList()"><!-- --></A><H3>
+getCollectionList</H3>
+<PRE>
+java.lang.String <B>getCollectionList</B>()</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a GS3 describe response message listing the collections and  
+ collection-specific metadata stored in the Fedora-Greenstone repository.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollection(java.lang.String)"><!-- --></A><H3>
+describeCollection</H3>
+<PRE>
+java.lang.String <B>describeCollection</B>(java.lang.String&nbsp;collectionName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection that is to be described.  
+ It will be converted to a fedora collection pid, which is of the form 
+ "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>a GS3 describe response message for a collection in the 
+ Fedora-Greenstone repository.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionServices(java.lang.String)"><!-- --></A><H3>
+describeCollectionServices</H3>
+<PRE>
+java.lang.String <B>describeCollectionServices</B>(java.lang.String&nbsp;collectionName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection whose services are to
+ be described. It will be converted to a fedora collection pid, which is of 
+ the form "greenstone:&lt;collectionName&gt;-collection".
+<DT><B>Returns:</B><DD>a GS3 describe response message for the services of a collection 
+ in the Fedora-Greenstone repository. So far, these services are the same for
+ all fedora collections: they are the services given in member variable
+ serviceNames: DocumentContent/Metadata/StructureRetrieve, browse.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeCollectionService(java.lang.String, java.lang.String)"><!-- --></A><H3>
+describeCollectionService</H3>
+<PRE>
+java.lang.String <B>describeCollectionService</B>(java.lang.String&nbsp;collectionName,
+                                           java.lang.String&nbsp;serviceName)</PRE>
+<DL>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - - the name of the collection whose service is to
+ be described. It will be converted to a fedora collection pid, which is of 
+ the form "greenstone:&lt;collectionName&gt;-collection".<DD><CODE>serviceName</CODE> - - the name of the service in the collection which is to 
+ be described.
+<DT><B>Returns:</B><DD>a GS3 describe response message for the requested service 
+ of the given collection. DocumentContent/Metadata/StructureRetrieve 
+ return nothing special except their names; browse (and any query)
+ return more complex XML responses.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="describeService(java.lang.String)"><!-- --></A><H3>
+describeService</H3>
+<PRE>
+java.lang.String <B>describeService</B>(java.lang.String&nbsp;serviceName)</PRE>
+<DL>
+<DD>All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeCollectionService(collName, serviceName).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serviceName</CODE> - - the name of the service in the collection which is to 
+ be described.
+<DT><B>Returns:</B><DD>a GS3 describe response message for the requested service 
+ of the given collection. DocumentContent/Metadata/StructureRetrieve 
+ return nothing special except their names; browse (and any query)
+ return more complex XML responses.
+ All collections in this Digital Library (Fedora Repository) share 
+ the same services, so this method returns the same as 
+ describeService(serviceName).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContent(java.lang.String)"><!-- --></A><H3>
+getContent</H3>
+<PRE>
+java.lang.String <B>getContent</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a list of document identifiers that are either docPIDs or  
+ concatenations of docPID+sectionID, this method retrieves their contents.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is expected to be of the form 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" or
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+ "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+ is returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContent(java.lang.String[])"><!-- --></A><H3>
+getContent</H3>
+<PRE>
+java.lang.String <B>getContent</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given a document identifier that is either a docPID or a concatenation  
+ of docPID+sectionID, this method retrieves the content for it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - an array of document IDs where each is expected to be of the  
+ form "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+ or "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+ "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+ is returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentStructure(java.lang.String)"><!-- --></A><H3>
+getDocumentStructure</H3>
+<PRE>
+java.lang.String <B>getDocumentStructure</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - the identifier for the document whose structure is required.
+ This is either of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" 
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-"
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response
+<DT><B>Returns:</B><DD>the documentStructure of the document or section given by docID. 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message. This method returns the entire
+ subSection of the docID (that is, all descendents included).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren(java.lang.String)"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+java.lang.String <B>getChildren</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - the identifier for the document whose structure is required.
+ This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-"
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response
+<DT><B>Returns:</B><DD>a view of the structure of the document or section given by docID
+ which contains only the section and its direct children. This structure is 
+ returned in the XML format of a Greenstone3 DocumentStructureRetrieve 
+ response message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentStructure(java.lang.String[])"><!-- --></A><H3>
+getDocumentStructure</H3>
+<PRE>
+java.lang.String <B>getDocumentStructure</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - an array of document identifiers whose structures are requested
+ These are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;"
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response
+<DT><B>Returns:</B><DD>the documentStructure of the documents or sections given by docIDs. 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message. This method returns the entire
+ subSection of each docID (that is, all descendents included).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildren(java.lang.String[])"><!-- --></A><H3>
+getChildren</H3>
+<PRE>
+java.lang.String <B>getChildren</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - an array of document identifiers whose structures are requested
+ These are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+ OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+ where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+ "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response
+<DT><B>Returns:</B><DD>the documentStructure of the documents or sections given by docIDs
+ but only the sections and their children (not any further descendents). 
+ The structure is returned in the XML format of a Greenstone3 
+ DocumentStructureRetrieve response message.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionMetadata(java.lang.String[])"><!-- --></A><H3>
+getCollectionMetadata</H3>
+<PRE>
+java.lang.String <B>getCollectionMetadata</B>(java.lang.String[]&nbsp;collIDs)</PRE>
+<DL>
+<DD>Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for each collection identified
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collIDs</CODE> - is an array of fedora pids identifying collections in the
+ fedora repository
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX metadata for all the requested collections</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentMetadata(java.lang.String[])"><!-- --></A><H3>
+getDocumentMetadata</H3>
+<PRE>
+java.lang.String <B>getDocumentMetadata</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+ response message is returned containing the metadata for each document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is an array of document identifiers (docID can either be &lt;pid&gt;s 
+ items (documents) in the fedora repository, or "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX, DC, DLS metadata for all the requested documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCollectionMetadata(java.lang.String)"><!-- --></A><H3>
+getCollectionMetadata</H3>
+<PRE>
+java.lang.String <B>getCollectionMetadata</B>(java.lang.String&nbsp;collID)</PRE>
+<DL>
+<DD>Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+ response message that gives the metadata for the collection identified
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collID</CODE> - is a fedora pid identifying a collection in its repository
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX metadata for the requested collection</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentMetadata(java.lang.String)"><!-- --></A><H3>
+getDocumentMetadata</H3>
+<PRE>
+java.lang.String <B>getDocumentMetadata</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing the metadata for the document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is a document identifier (docID can either be a &lt;pid&gt; 
+ of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ EX, DC, DLS metadata for all the requested document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetadata(java.lang.String[])"><!-- --></A><H3>
+getMetadata</H3>
+<PRE>
+java.lang.String <B>getMetadata</B>(java.lang.String[]&nbsp;docIDsOrCollIDs)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDsOrCollIDs</CODE> - is an array of identifiers which may be either the
+ fedora pids for collections, or otherwise may be a document identifier.
+ In the last case, the document ID may consist of either
+ "documentPID-sectionNumber" or may just be just fedora documentPID
+<DT><B>Returns:</B><DD>a greenstone DocumentMetadataRetrieve response for the 
+ documents or collections indicated by the docIDsOrCollIDs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitleMetadata(java.lang.String)"><!-- --></A><H3>
+getTitleMetadata</H3>
+<PRE>
+java.lang.String <B>getTitleMetadata</B>(java.lang.String&nbsp;docID)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docID</CODE> - is a document identifier (docID can either be a &lt;pid&gt;
+ of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ Title metadata for the requested document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTitleMetadata(java.lang.String[])"><!-- --></A><H3>
+getTitleMetadata</H3>
+<PRE>
+java.lang.String <B>getTitleMetadata</B>(java.lang.String[]&nbsp;docIDs)</PRE>
+<DL>
+<DD>Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+ response message containing ONLY the Title metadata for the documents.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docIDs</CODE> - is a list of document identifiers (where docID can either be 
+ a &lt;pid&gt; of an item (document) in the fedora repository, or it can be 
+ "&lt;pid&gt;-sectionNumber".
+<DT><B>Returns:</B><DD>a GS3 DocumentMetadataRetrieve response message containing the
+ Title metadata for all the requested documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browseMetadataRetrieve(java.lang.String[])"><!-- --></A><H3>
+browseMetadataRetrieve</H3>
+<PRE>
+java.lang.String <B>browseMetadataRetrieve</B>(java.lang.String[]&nbsp;classNodeIDs)</PRE>
+<DL>
+<DD>This method performs something equivalent to a greenstone3 
+ ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classNodeIDs</CODE> - are the IDs of the classifierNode for which the metadata
+ needs to be returned
+<DT><B>Returns:</B><DD>a GS3 ClassifierBrowseMetadataRetrieve response message which 
+ lists the metadata for all the classifierNodes passed as parameter.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="browse(java.lang.String, java.lang.String)"><!-- --></A><H3>
+browse</H3>
+<PRE>
+java.lang.String <B>browse</B>(java.lang.String&nbsp;collectionName,
+                        java.lang.String&nbsp;classifierID)</PRE>
+<DL>
+<DD>This method performs the implemented browse operation: allowing the
+ user to browse the titles of documents in the given collection by letter
+ and returning the results.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>classifierID</CODE> - is the id of the classifier on which to browse. In
+ this case, the classifier indicates whether we browse titles by letter, or
+ browse (documents) by collection; and it is of the form &lt;CL(letter)&gt;.<DD><CODE>collectionName</CODE> - is the name of the collection whose documents 
+ starting with the given letter will be returned.
+<DT><B>Returns:</B><DD>a GS3 DocumentStructureRetrieve response message which lists all 
+ the documents that start with the letter indicated by parameter classifier.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="query(java.lang.String, java.lang.String, java.util.Map)"><!-- --></A><H3>
+query</H3>
+<PRE>
+java.lang.String <B>query</B>(java.lang.String&nbsp;collection,
+                       java.lang.String&nbsp;service,
+                       java.util.Map&nbsp;nameValParamsMap)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>nameValParamsMap</CODE> - is a Map of name and value pairs for all the
+ query field data values. The names match the field names that
+ describeCollectionService() would have returned for the query service.<DD><CODE>collection</CODE> - is the name of the collection<DD><CODE>service</CODE> - is the name of the query service
+ This method is only ever called when any of the services in the digital 
+ library described themselves as type=query. Therefore any digital
+ libraries that have no query services, can just return emtpy message 
+ strings (or even "") since this method will never be called on them 
+ anyway.
+<DT><B>Returns:</B><DD>a String representing Greenstone3 XML for a query process
+ response returning the results for the query denoted by parameter
+ nameValParamsMap.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/FedoraToGS3Interface.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FedoraToGS3Interface.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.html	(revision 15317)
@@ -0,0 +1,906 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+GSearchConnection
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services.GSearchConnection class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GSearchConnection";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/GSearchConnection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GSearchConnection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.greenstone.fedora.services</FONT>
+<BR>
+Class GSearchConnection</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.greenstone.fedora.services.GSearchConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>GSearchConnection</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></DL>
+</PRE>
+
+<P>
+Class GSearchConnection connects to FedoraGSearch's web services.
+ FedorGSearch offers indexing and full-text search functionality for 
+ Fedora repositories. Its search web service (method gFindObjects)
+ returns the response of a search as XML.
+ GSearchConnection offers more convenient methods that extract just 
+ the parts of search results that FedoraGS3Connection needs and returns
+ that.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>ak19</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.xml.parsers.DocumentBuilder</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#builder">builder</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A DocumentBuilder object used to construct and parse XML</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.apache.axis.client.Call</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#call">call</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Call object used to connect to the FedoraGSearch web services</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#DC_TITLE_FIELD">DC_TITLE_FIELD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#FIELD">FIELD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#FULLTEXT_FIELD">FULLTEXT_FIELD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#G_FIND_OBJECTS">G_FIND_OBJECTS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The names of the methods we use of Fedora Generic Search's web services
+ are declared here as static final Strings.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#HIT_TOTAL">HIT_TOTAL</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#INDEX_NAME">INDEX_NAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#NAME">NAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#NAMESPACE_URI">NAMESPACE_URI</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#OBJECT">OBJECT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#PID">PID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;javax.xml.namespace.QName</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#portName">portName</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The portName object used when connecting to FedoraGSearch's web services</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;org.apache.axis.client.Service</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#service">service</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Service object used to connect to the FedoraGSearch web services</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#SERVICE_NAME">SERVICE_NAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#SPACE">SPACE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separator used internally to separate values of a search field</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_org.greenstone.fedora.services.FedoraToGS3Interface.Constants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_FIELDS">ALL_FIELDS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ALL_TITLES">ALL_TITLES</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#ASSOCFILEPREFIX">ASSOCFILEPREFIX</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#COMMA">COMMA</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#DOC_TITLES">DOC_TITLES</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FIELDNAME_ATT">FIELDNAME_ATT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#FULLTEXT">FULLTEXT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#GS3FilePathMacro">GS3FilePathMacro</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#MAXDOCS">MAXDOCS</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#NUM_DOCS_MATCHED">NUM_DOCS_MATCHED</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#OCCURS_ATT">OCCURS_ATT</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#QUERY">QUERY</A>, <A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html#SIMPLEFIELD_ATT">SIMPLEFIELD_ATT</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#GSearchConnection(java.lang.String)">GSearchConnection</A></B>(java.lang.String&nbsp;wsdlFileLocation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor that takes a String representing the url of the WSDL
+ file for FedoraGSearch's web services, and tries to establish a 
+ connection to those web services.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#formatSearchTermsInField(java.lang.String, java.lang.String)">formatSearchTermsInField</A></B>(java.lang.String&nbsp;field,
+                         java.lang.String&nbsp;fieldName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Each field is a comma separated list of terms that may be either a word  
+ OR a phrase.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#getPIDsFromSearchResult(java.lang.String, java.lang.String)">getPIDsFromSearchResult</A></B>(java.lang.String&nbsp;collectionName,
+                        java.lang.String&nbsp;searchResult)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call this method with the return value of calling search().</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#gFindObjects(java.lang.String, java.lang.String, int, int, int, int, java.lang.String, java.lang.String)">gFindObjects</A></B>(java.lang.String&nbsp;searchFieldedTerms,
+             java.lang.String&nbsp;sort,
+             int&nbsp;hitPageStart,
+             int&nbsp;hitPageSize,
+             int&nbsp;snippetsMax,
+             int&nbsp;fieldMaxLength,
+             java.lang.String&nbsp;indexName,
+             java.lang.String&nbsp;resultPageXslt)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method to invoke gfindObjects operation of Fedora Generic Search
+ web services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#search(java.util.Map, int, int)">search</A></B>(java.util.Map&nbsp;fieldsToSearchTerms,
+       int&nbsp;hitPageStart,
+       int&nbsp;hitPageSize)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FedoraGSearch accepts a query of the form: 
+ <code>&lt;"cyclone val" "Gender Inequalities" ds.fulltext:"cyclone val"
+ ds.fulltext:"worst storm"&gt;</code>
+ where the first two phrases are searched for in all indexed fields,
+ (in this case dc.title and ds.fulltext), while the last two are 
+ searched for in the ds.fulltext field.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#search(java.lang.String, int, int, int)">search</A></B>(java.lang.String&nbsp;fieldedSearchTerms,
+       int&nbsp;hitPageStart,
+       int&nbsp;hitPageSize,
+       int&nbsp;snippetsMax)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses FedoraGSearch to perform a search where the query is embedded in
+ fieldedSearchTerms, which not only provides the terms to search on, but
+ also the fields to search the (various) given terms in.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html#search(java.lang.String, java.lang.String, int, int, int)">search</A></B>(java.lang.String&nbsp;searchFieldName,
+       java.lang.String&nbsp;searchTerm,
+       int&nbsp;hitPageStart,
+       int&nbsp;hitPageSize,
+       int&nbsp;snippetsMax)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that performs a search for the given searchTerm inside the given
+ indexed field.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="NAMESPACE_URI"><!-- --></A><H3>
+NAMESPACE_URI</H3>
+<PRE>
+protected static java.lang.String <B>NAMESPACE_URI</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="SERVICE_NAME"><!-- --></A><H3>
+SERVICE_NAME</H3>
+<PRE>
+protected static java.lang.String <B>SERVICE_NAME</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="INDEX_NAME"><!-- --></A><H3>
+INDEX_NAME</H3>
+<PRE>
+protected static final java.lang.String <B>INDEX_NAME</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.INDEX_NAME">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="G_FIND_OBJECTS"><!-- --></A><H3>
+G_FIND_OBJECTS</H3>
+<PRE>
+protected static final java.lang.String <B>G_FIND_OBJECTS</B></PRE>
+<DL>
+<DD>The names of the methods we use of Fedora Generic Search's web services
+ are declared here as static final Strings.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.G_FIND_OBJECTS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PID"><!-- --></A><H3>
+PID</H3>
+<PRE>
+protected static final java.lang.String <B>PID</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.PID">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="HIT_TOTAL"><!-- --></A><H3>
+HIT_TOTAL</H3>
+<PRE>
+protected static final java.lang.String <B>HIT_TOTAL</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.HIT_TOTAL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="OBJECT"><!-- --></A><H3>
+OBJECT</H3>
+<PRE>
+protected static final java.lang.String <B>OBJECT</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.OBJECT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FIELD"><!-- --></A><H3>
+FIELD</H3>
+<PRE>
+protected static final java.lang.String <B>FIELD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.FIELD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NAME"><!-- --></A><H3>
+NAME</H3>
+<PRE>
+protected static final java.lang.String <B>NAME</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.NAME">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DC_TITLE_FIELD"><!-- --></A><H3>
+DC_TITLE_FIELD</H3>
+<PRE>
+protected static final java.lang.String <B>DC_TITLE_FIELD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.DC_TITLE_FIELD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FULLTEXT_FIELD"><!-- --></A><H3>
+FULLTEXT_FIELD</H3>
+<PRE>
+protected static final java.lang.String <B>FULLTEXT_FIELD</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.FULLTEXT_FIELD">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SPACE"><!-- --></A><H3>
+SPACE</H3>
+<PRE>
+protected static final java.lang.String <B>SPACE</B></PRE>
+<DL>
+<DD>separator used internally to separate values of a search field
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.greenstone.fedora.services.GSearchConnection.SPACE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="service"><!-- --></A><H3>
+service</H3>
+<PRE>
+protected final org.apache.axis.client.Service <B>service</B></PRE>
+<DL>
+<DD>The Service object used to connect to the FedoraGSearch web services
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="call"><!-- --></A><H3>
+call</H3>
+<PRE>
+protected final org.apache.axis.client.Call <B>call</B></PRE>
+<DL>
+<DD>The Call object used to connect to the FedoraGSearch web services
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="portName"><!-- --></A><H3>
+portName</H3>
+<PRE>
+protected final javax.xml.namespace.QName <B>portName</B></PRE>
+<DL>
+<DD>The portName object used when connecting to FedoraGSearch's web services
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="builder"><!-- --></A><H3>
+builder</H3>
+<PRE>
+protected final javax.xml.parsers.DocumentBuilder <B>builder</B></PRE>
+<DL>
+<DD>A DocumentBuilder object used to construct and parse XML
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GSearchConnection(java.lang.String)"><!-- --></A><H3>
+GSearchConnection</H3>
+<PRE>
+public <B>GSearchConnection</B>(java.lang.String&nbsp;wsdlFileLocation)
+                  throws java.net.MalformedURLException,
+                         javax.xml.rpc.ServiceException,
+                         javax.xml.parsers.ParserConfigurationException</PRE>
+<DL>
+<DD>Constructor that takes a String representing the url of the WSDL
+ file for FedoraGSearch's web services, and tries to establish a 
+ connection to those web services.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>wsdlFileLocation</CODE> - is a String representing the url of the WSDL file
+<DT><B>Throws:</B>
+<DD><CODE>java.net.MalformedURLException</CODE>
+<DD><CODE>javax.xml.rpc.ServiceException</CODE>
+<DD><CODE>javax.xml.parsers.ParserConfigurationException</CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="gFindObjects(java.lang.String, java.lang.String, int, int, int, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+gFindObjects</H3>
+<PRE>
+protected java.lang.String <B>gFindObjects</B>(java.lang.String&nbsp;searchFieldedTerms,
+                                        java.lang.String&nbsp;sort,
+                                        int&nbsp;hitPageStart,
+                                        int&nbsp;hitPageSize,
+                                        int&nbsp;snippetsMax,
+                                        int&nbsp;fieldMaxLength,
+                                        java.lang.String&nbsp;indexName,
+                                        java.lang.String&nbsp;resultPageXslt)
+                                 throws java.lang.Exception</PRE>
+<DL>
+<DD>Method to invoke gfindObjects operation of Fedora Generic Search
+ web services.
+ 
+ Parameter types, parameter order and return type of gFindObjects are as  
+ obtained from the wsdl file for the Fedora Generic Search web services 
+ located at:
+ http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl
+  &lt;wsdl:message name="gfindObjectsRequest"&gt;
+  &lt;wsdl:part name="query" type="xsd:string"/&gt;
+  &lt;wsdl:part name="sort" type="xsd:string"/&gt;
+  &lt;wsdl:part name="hitPageStart" type="xsd:int"/&gt;
+  &lt;wsdl:part name="hitPageSize" type="xsd:int"/&gt;
+  &lt;wsdl:part name="snippetsMax" type="xsd:int"/&gt;
+  &lt;wsdl:part name="fieldMaxLength" type="xsd:int"/&gt;
+  &lt;wsdl:part name="indexName" type="xsd:string"/&gt;
+  &lt;wsdl:part name="resultPageXslt" type="xsd:string"/&gt;
+  &lt;/wsdl:message&gt;
+ 
+ &lt;wsdl:message name="gfindObjectsResponse"&gt;
+ &lt;wsdl:part name="gfindObjectsReturn" type="xsd:string"/&gt;
+ &lt;/wsdl:message&gt;
+ 
+ &lt;wsdl:operation name="gfindObjects" 
+ parameterOrder="query sort hitPageStart hitPageSize snippetsMax 
+ fieldMaxLength indexName resultPageXslt"&gt;
+  
+ This method works: it searches the dc.title field of our FedoraIndex 
+ for the term (e.g. "interview") and the result returned is an XML String.
+
+ There's no example on how to call gFindObjects with parameters. In 
+ particular, I don't know what values the parameter <b>sort</b> can take.
+ But topazproject has an example on how to call updateIndex().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE><DT><B>See Also:</B><DD><a href="http://www.topazproject.org/trac/wiki/FedoraSearch?format=txt">An example on how to call updateIndex() with parameters</a>, 
+<a href="http://ws.apache.org/axis/java/apiDocs/org/apache/axis/client/Service.html">Axis Service class</a>, 
+<a href="http://ws.apache.org/axis/java/apiDocs/javax/xml/rpc/Call.html">Axis RPC Call, for specification of interface Call</a>, 
+<a href="http://ws.apache.org/axis/java/apiDocs/org/apache/axis/client/Call.html">Axis client Call class, for implementation of interface Call</a></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="search(java.lang.String, java.lang.String, int, int, int)"><!-- --></A><H3>
+search</H3>
+<PRE>
+public java.lang.String <B>search</B>(java.lang.String&nbsp;searchFieldName,
+                               java.lang.String&nbsp;searchTerm,
+                               int&nbsp;hitPageStart,
+                               int&nbsp;hitPageSize,
+                               int&nbsp;snippetsMax)
+                        throws java.lang.Exception</PRE>
+<DL>
+<DD>Method that performs a search for the given searchTerm inside the given
+ indexed field.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>searchFieldName</CODE> - is the name of the indexed field within which the
+ given searchTerm is to be searched for.<DD><CODE>searchTerm</CODE> - is the term to be searched for.<DD><CODE>hitPageStart</CODE> - is the page of search results to start returning.<DD><CODE>hitPageSize</CODE> - is the number of search result pages to return, 
+ starting from hitPageStart.<DD><CODE>snippetsMax</CODE> - is the maximum number of separate snippets containing  
+ the searchTerm that are to be returned. (snippetsMax or a fewer number of 
+ occurrences of the word in the text will be returned)
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="search(java.util.Map, int, int)"><!-- --></A><H3>
+search</H3>
+<PRE>
+public java.lang.String <B>search</B>(java.util.Map&nbsp;fieldsToSearchTerms,
+                               int&nbsp;hitPageStart,
+                               int&nbsp;hitPageSize)
+                        throws java.lang.Exception</PRE>
+<DL>
+<DD>FedoraGSearch accepts a query of the form: 
+ <code>&lt;"cyclone val" "Gender Inequalities" ds.fulltext:"cyclone val"
+ ds.fulltext:"worst storm"&gt;</code>
+ where the first two phrases are searched for in all indexed fields,
+ (in this case dc.title and ds.fulltext), while the last two are 
+ searched for in the ds.fulltext field.
+ Another example: 
+ <code>&lt;gender dc.title:interview ds.fulltext:"cyclone val"&gt;
+ titles and fulltexts are searched for "gender", while title index
+ is searched for "interview" and fulltexts are searched for the phrase
+ "cyclone val"</code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fieldsToSearchTerms</CODE> - is a Hashmap of searchfields and 
+ associated search terms (words or phrases). The terms are in a 
+ comma-separated list. fieldsToSearchTerms is a Hashmap of 
+ (Searchfields, associated-searchTerms) pairs. It can contain 3 
+ searchfields: allfields, titles, text. The value for each is a 
+ comma-separated list of search terms in that field.
+ Internally the field names get converted to what FedoraGSearch's
+ gfindObjects understands: titles becomes dc.title:, text becomes 
+ ds.fulltext and allfields becomes nothing.<DD><CODE>hitPageStart</CODE> - is the page of search results to start returning.<DD><CODE>hitPageSize</CODE> - is the number of search result pages to return, 
+ starting from hitPageStart.
+<DT><B>Returns:</B><DD>the XML (in string format) returned from Fedora Generic Search's
+ gfindObjects method
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="formatSearchTermsInField(java.lang.String, java.lang.String)"><!-- --></A><H3>
+formatSearchTermsInField</H3>
+<PRE>
+protected java.lang.String <B>formatSearchTermsInField</B>(java.lang.String&nbsp;field,
+                                                    java.lang.String&nbsp;fieldName)</PRE>
+<DL>
+<DD>Each field is a comma separated list of terms that may be either a word  
+ OR a phrase. We're going to separate each term from the list, and put 
+ quotes around phrases, then combine all the terms together again with 
+ spaces to separate them. Examples: 
+ <pre>dc.title:"a phrase" word
+ dc.fulltext: "cyclone val"
+ (ALL_FIELDS) interview gender</pre>
+ This is required to facilitate fielded searching with fedoraGSearch.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>field</CODE> - is a comma separated list of search terms (corresponding 
+ to one fieldName) to be reorganised<DD><CODE>fieldName</CODE> - is the name of the field to prepend to the reorganised
+ field value. FieldName ALL_FIELDS is ignored.
+<DT><B>Returns:</B><DD>parameter field reorganised such that terms that are phrases 
+ are in quotes and each term is separated by a space from the previous one.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="search(java.lang.String, int, int, int)"><!-- --></A><H3>
+search</H3>
+<PRE>
+public java.lang.String <B>search</B>(java.lang.String&nbsp;fieldedSearchTerms,
+                               int&nbsp;hitPageStart,
+                               int&nbsp;hitPageSize,
+                               int&nbsp;snippetsMax)
+                        throws java.lang.Exception</PRE>
+<DL>
+<DD>Uses FedoraGSearch to perform a search where the query is embedded in
+ fieldedSearchTerms, which not only provides the terms to search on, but
+ also the fields to search the (various) given terms in.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>fieldedSearchTerms</CODE> - is the String specifying all the search terms
+ with their fields (or no field if it should search for the terms in 
+ all fields). The terms with no associated search-fields should come first.
+ Search terms may be in quotes.<DD><CODE>snippetsMax</CODE> - is the maximum number of separate snippets containing  
+ the searchTerm (snippetsMax number of occurrences of the word in the text) 
+ returned.<DD><CODE>hitPageStart</CODE> - is the page of search results to start returning.<DD><CODE>hitPageSize</CODE> - is the number of search result pages to return, 
+ starting from hitPageStart.
+<DT><B>Returns:</B><DD>the XML (in string format) returned from Fedora Generic Search's
+ gfindObjects method
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPIDsFromSearchResult(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getPIDsFromSearchResult</H3>
+<PRE>
+public java.lang.String[] <B>getPIDsFromSearchResult</B>(java.lang.String&nbsp;collectionName,
+                                                  java.lang.String&nbsp;searchResult)
+                                           throws java.lang.Exception</PRE>
+<DL>
+<DD>Call this method with the return value of calling search(). 
+ Search results are returned in GSearch's XML response format, 
+ containing information that includes the PIDs of the documents that 
+ matched the search. These PIDs are returned in the array.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collectionName</CODE> - is the name of the collection to restrict the 
+ search results by. If it's "", then results from all collections are
+ returned. Generally, don't want to pass "", because, theoretically, 
+ all indexed collections in the repository could be considered and 
+ not all of them may be Greenstone collections. If all Greenstone 
+ collections should be searched for, pass "greenstone" as the 
+ collection name instead.<DD><CODE>searchResult</CODE> - is the Fedora Generic Search XML response returned 
+ from performing a gfindObjects() operations.
+<DT><B>Returns:</B><DD>an array of the pids of documents found for the search.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/GSearchConnection.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GSearchConnection.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-frame.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-frame.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-frame.html	(revision 15317)
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+org.greenstone.fedora.services
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../org/greenstone/fedora/services/package-summary.html" target="classFrame">org.greenstone.fedora.services</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="FedoraGS3DL.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraGS3DL</I></A>
+<BR>
+<A HREF="FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraToGS3Interface</I></A>
+<BR>
+<A HREF="FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services" target="classFrame"><I>FedoraToGS3Interface.Constants</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="FedoraCommons.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraCommons</A>
+<BR>
+<A HREF="FedoraConnection.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraConnection</A>
+<BR>
+<A HREF="FedoraGS3Connection.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Connection</A>
+<BR>
+<A HREF="GSearchConnection.html" title="class in org.greenstone.fedora.services" target="classFrame">GSearchConnection</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="FedoraGS3Exception.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception</A>
+<BR>
+<A HREF="FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.AuthenticationFailedException</A>
+<BR>
+<A HREF="FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.CancelledException</A>
+<BR>
+<A HREF="FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraGS3InitFailureException</A>
+<BR>
+<A HREF="FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraGS3RunException</A>
+<BR>
+<A HREF="FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.FedoraVersionNotSupportedException</A>
+<BR>
+<A HREF="FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.NotAFedoraServerException</A>
+<BR>
+<A HREF="FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services" target="classFrame">FedoraGS3Exception.ServerNotFoundException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-summary.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-summary.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-summary.html	(revision 15317)
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+org.greenstone.fedora.services
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.greenstone.fedora.services package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.fedora.services";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.greenstone.fedora.services
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A></B></TD>
+<TD>Defines the methods that must be provided to retrieve the datastreams 
+ specific to Greenstone documents stored in a Fedora repository.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A></B></TD>
+<TD>The following methods return the same data as FedoraGS3DL, but formatted as 
+ Greenstone Response-Message XML.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A></B></TD>
+<TD>Interface declaring some string constants of literals to look for</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services">FedoraCommons</A></B></TD>
+<TD>Methods common to both Fedora(GS3)Connection and GSearchConnection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services">FedoraConnection</A></B></TD>
+<TD>Class that establishes a connection with Fedora's web services (via
+ Java stub classes for the same) and then provides methods to retrieve
+ Greenstone-specific data, such as the TOC, EX, DC,and Section 
+ datastreams of the Greenstone documents stored in Fedora's repository.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services">FedoraGS3Connection</A></B></TD>
+<TD>Class that extends FedoraConnection in order to be able to use
+ Fedora's web services to retrieve the specific datastreams of 
+ Greenstone documents stored in Fedora's repository.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services">GSearchConnection</A></B></TD>
+<TD>Class GSearchConnection connects to FedoraGSearch's web services.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A></B></TD>
+<TD>The exceptions that can be thrown by FedoraGS3.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.AuthenticationFailedException</A></B></TD>
+<TD>This AuthenticationFailedException can be thrown when the user enters 
+ an invalid username and password into the FedoraConnection Authentication 
+ popup dialog (displayed upon FedoraConnection object construction).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.CancelledException</A></B></TD>
+<TD>When the user chooses to cancel out of the FedoraConnection dialog of
+ the constructor (where they have to enter authentication information), 
+ this exception is thrown, so that classes making use of FedoraConnection 
+ may choose whether to exit their program or deal with it differently.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3InitFailureException</A></B></TD>
+<TD>Static inner class FedoraGS3InitFailureException is an Exception
+ that is thrown when no connection can be made to the Fedora server
+ and therefore the FedoraGS3 object construction failed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraGS3RunException</A></B></TD>
+<TD>Represents an exception that occurs when FedoraGS3 is running 
+ A subclass of FedoraGS3Exception</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.FedoraVersionNotSupportedException</A></B></TD>
+<TD>Certain functionality in Fedora - in particular fielded search - is
+ implemented differently or uses slightly different Fedora types in older
+ versions of Fedora (fielded search in 2.0 uses a different Condition class).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.NotAFedoraServerException</A></B></TD>
+<TD>This AuthenticationFailedException can be thrown when there is some
+ server listening at the host and port values entered by the user, but
+ when this server is (most likely) not a Fedora Server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception.ServerNotFoundException</A></B></TD>
+<TD>This ServerNotFoundException can be thrown when the user enters 
+ there is no (Fedora) server listening at a given host and port.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/org/greenstone/fedora/services/package-tree.html	(revision 15317)
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+org.greenstone.fedora.services Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.greenstone.fedora.services Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.greenstone.fedora.services
+</H2>
+</CENTER>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services"><B>FedoraCommons</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>FedoraConnection</B></A> (implements org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>)
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Connection</B></A> (implements org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>, org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>)
+</UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services"><B>GSearchConnection</B></A> (implements org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>)
+<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception</B></A><UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3InitFailureException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3RunException</B></A></UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.AuthenticationFailedException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.CancelledException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraVersionNotSupportedException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.NotAFedoraServerException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.ServerNotFoundException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>FedoraGS3DL</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="../../../../org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface.Constants</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/greenstone/fedora/services/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/overview-tree.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/overview-tree.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/overview-tree.html	(revision 15317)
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+Class Hierarchy
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="org/greenstone/fedora/services/package-tree.html">org.greenstone.fedora.services</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraCommons.html" title="class in org.greenstone.fedora.services"><B>FedoraCommons</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraConnection.html" title="class in org.greenstone.fedora.services"><B>FedoraConnection</B></A> (implements org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services">FedoraGS3DL</A>)
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Connection.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Connection</B></A> (implements org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface</A>, org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>)
+</UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/GSearchConnection.html" title="class in org.greenstone.fedora.services"><B>GSearchConnection</B></A> (implements org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services">FedoraToGS3Interface.Constants</A>)
+<LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception</B></A><UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3InitFailureException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraGS3RunException</B></A></UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.AuthenticationFailedException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.CancelledException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.FedoraVersionNotSupportedException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.NotAFedoraServerException</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services"><B>FedoraGS3Exception.ServerNotFoundException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraGS3DL.html" title="interface in org.greenstone.fedora.services"><B>FedoraGS3DL</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface</B></A><LI TYPE="circle">org.greenstone.fedora.services.<A HREF="org/greenstone/fedora/services/FedoraToGS3Interface.Constants.html" title="interface in org.greenstone.fedora.services"><B>FedoraToGS3Interface.Constants</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/package-list
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/package-list	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/package-list	(revision 15317)
@@ -0,0 +1,1 @@
+org.greenstone.fedora.services
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/serialized-form.html
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/serialized-form.html	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/serialized-form.html	(revision 15317)
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_10) on Sun Apr 27 20:42:39 NZST 2008 -->
+<TITLE>
+Serialized Form
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.greenstone.fedora.services</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.AuthenticationFailedException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.CancelledException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.CancelledException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.CancelledException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3InitFailureException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException</A> extends <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraGS3RunException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException</A> extends <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.html" title="class in org.greenstone.fedora.services">FedoraGS3Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+specifics</H3>
+<PRE>
+java.lang.String <B>specifics</B></PRE>
+<DL>
+<DD>Some extra information as to what when wrong
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.FedoraVersionNotSupportedException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.NotAFedoraServerException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.greenstone.fedora.services.FedoraGS3Exception.ServerNotFoundException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="org/greenstone/fedora/services/FedoraGS3Exception.ServerNotFoundException.html" title="class in org.greenstone.fedora.services">org.greenstone.fedora.services.FedoraGS3Exception.ServerNotFoundException</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/greenstone/fedora/services/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
Index: /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/stylesheet.css
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/stylesheet.css	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/docs/GS3Fedora/stylesheet.css	(revision 15317)
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
Index: /other-projects/trunk/gs3-webservices-democlient/gs3democlient.bat
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/gs3democlient.bat	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/gs3democlient.bat	(revision 15317)
@@ -0,0 +1,141 @@
+@echo off
+set LANGUAGE=en
+
+
+::  -------- Run the GS3DemoClient on Windows --------
+
+:: This script must be run from within the directory in which it lives
+echo I am here
+if exist gs3democlient.bat goto start
+    if "%LANGUAGE%" == "en" echo This script must be run from the directory in which it resides.
+    if "%LANGUAGE%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
+    if "%LANGUAGE%" == "fr" echo Ce script doit tre excut 
+ partir du rpertoire dans lequel il se trouve.
+    if "%LANGUAGE%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
+    goto exit
+
+:start
+
+
+:findJava
+:: ---- Check Java exists ----
+set JAVAPATH=
+
+:: Some users may set the above line manually
+if not "%JAVAPATH%" == "" goto testJava
+
+    :: If it is set, use the JAVA_HOME environment variable
+    if not "%JAVA_HOME%" == "" goto javahome
+
+    :: Check if Java is on the search path
+    echo %PATH%| winutil\which.exe java.exe | winutil\setvar.exe JAVAPATH > setjava.bat
+    call setjava.bat
+    del setjava.bat
+    if not "%JAVAPATH%" == "" goto testJava
+
+    :: Still haven't found anything, so try looking in the registry (gulp!)
+    type nul > jdk.reg
+    regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+    type jdk.reg > jdk.txt
+    del jdk.reg
+    type nul > jre.reg
+    regedit /E jre.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
+    type jre.reg > jre.txt
+    del jre.reg
+
+    winutil\findjava.exe jdk.txt jre.txt | winutil\setvar.exe JAVAPATH > setjava.bat
+    del jdk.txt
+    del jre.txt
+    call setjava.bat
+    del setjava.bat
+
+    :: If nothing was found in the registry, we're stuck
+    if "%JAVAPATH%" == "" goto noJava
+
+    set JAVAPATH=%JAVAPATH%\bin
+    goto testJava
+
+:javahome
+    set JAVAPATH=%JAVA_HOME%\bin
+
+
+:testJava
+:: Check that a Java executable has been found
+if "%LANGUAGE%" == "en" echo Checking Java: %JAVAPATH%
+if "%LANGUAGE%" == "es" echo Revisando Java: %JAVAPATH%
+if "%LANGUAGE%" == "fr" echo Vrification de Java: %JAVAPATH%
+if "%LANGUAGE%" == "ru" echo à®¢¥àª  Java: %JAVAPATH%
+if exist "%JAVAPATH%\java.exe" goto checkJavaVersion
+
+:noJava
+    echo.
+    if "%LANGUAGE%" == "en" echo Failed to locate an appropriate version of Java. You must install a
+    if "%LANGUAGE%" == "en" echo Java Runtime Environment (version 1.5 or greater) before running the
+    if "%LANGUAGE%" == "en" echo Greenstone Librarian Interface.
+
+    if "%LANGUAGE%" == "es" echo No se pudo localizar una versi¢n apropiada de Java. Usted deber 
+    if "%LANGUAGE%" == "es" echo instalar un Ambiente de Ejecuci¢n Java (versi¢n 1.5 o superior)
+    if "%LANGUAGE%" == "es" echo antes de correr la Interfaz de la Biblioteca Digital Greenstone.
+
+    if "%LANGUAGE%" == "fr" echo Une version adquate de Java n'a pas pu tre localise. Vous devez
+    if "%LANGUAGE%" == "fr" echo installer un Java Runtime Environment (version 1.5 ou suprieur)
+    if "%LANGUAGE%" == "fr" echo avant de dmarrer Greenstone Librarian Interface.
+
+    if "%LANGUAGE%" == "ru" echo ¥ ã€ «®áì ®¯à¥€¥«šâì ¬¥áâ®­ å®Š€¥­š¥ á®®â¢¥âáâ¢ãîé¥© ¢¥àášš Java.
+    if "%LANGUAGE%" == "ru" echo ë €®«Š­ë ãáâ ­®¢šâì Java Runtime Environment (¢¥àášî 1.5 š«š ¢ëè¥) ¯¥à¥€ ¢¢®€®¬
+    if "%LANGUAGE%" == "ru" echo ¡š¡«š®â¥ç­®£® š­â¥àä¥©á  Greenstone.
+    goto exit
+
+
+:checkJavaVersion
+:: ---- Ensure that the JavaVersion is 1.5.x or more, run CheckJavaVersion with <required java version no prefix> <target exec program name> ---
+	"%JAVAPATH%\java" CheckJavaVersion 1.5 GS3democlient
+	if ERRORLEVEL 2 goto checkGS3democlient
+	if ERRORLEVEL 1 goto exit
+
+
+:checkGS3democlient
+:: ---- Check that the GS3democlient has been compiled ----
+if exist "GS3democlient.jar" goto runGS3democlient
+    echo.
+    if "%LANGUAGE%" == "en" echo You need to build the GS3democlient (using "ant build-demo-client")
+    if "%LANGUAGE%" == "en" echo before running this script.
+
+    if "%LANGUAGE%" == "es" echo Usted necesita compilar la GS3democlient
+    if "%LANGUAGE%" == "es" echo (por medio de "ant build-demo-client") antes de ejecutar este gui¢n.
+
+    if "%LANGUAGE%" == "fr" echo Vous devez compiler le GS3democlient (en utilisant "ant build-demo-client")
+    if "%LANGUAGE%" == "fr" echo avant d'excuter ce script.
+
+    if "%LANGUAGE%" == "ru" echo ë €®«Š­ë ª®¬¯š«šà®¢ âì ¡š¡«š®â¥ç­ë© š­â¥àä¥©á GS3democlient
+    if "%LANGUAGE%" == "ru" echo (šá¯®«ì§ãï "ant build-demo-client") ¯¥à¥€ ¢¢®€®¬ íâ®£® áªàš¯â 
+    goto exit
+
+
+:runGS3democlient
+:: ---- Finally, run the runGS3democlient ----
+echo.
+
+if "%LANGUAGE%" == "en" echo Running the GS3democlient ...
+if "%LANGUAGE%" == "es" echo Ejecutando GS3democlient ...
+if "%LANGUAGE%" == "fr" echo Excution de GS3democlient 
+if "%LANGUAGE%" == "ru" echo ¥ªãéš© ¡š¡«š®â¥ç­ë© š­â¥àä¥©á GS3democlient ...
+
+:: -Xms32M          To set minimum memory
+:: -Xmx32M          To set maximum memory
+:: -verbose:gc      To set garbage collection messages
+:: -Xincgc          For incremental garbage collection
+:: -Xprof           Function call profiling
+:: -Xloggc:<file>   Write garbage collection log
+
+
+:localLib
+    "%JAVAPATH%\java" -jar GS3democlient.jar
+
+:exit
+echo.
+pause
+
+:done
+:: ---- Clean up ----
+set JAVAPATH=
Index: /other-projects/trunk/gs3-webservices-democlient/gs3democlient.sh
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/gs3democlient.sh	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/gs3democlient.sh	(revision 15317)
@@ -0,0 +1,168 @@
+#!/bin/sh
+language=en
+
+echo
+if [ "$language" = "es" ]; then
+    echo "GS3 Web Services demo-client"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "GS3 Web Services demo-client NO INCLUYE ABSOLUTAMENTE NINGUNA GARANTÍA."
+    echo "Para mayor información vea los términos de la licencia en LICENSE.txt"
+    echo "Este es un software abierto, por lo que lo invitamos a que lo distribuya de forma gratuita"
+elif [ "$language" = "fr" ]; then
+    echo "GS3 Web Services demo-client"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "GLI est fourni sans AUCUNE GARANTIE; pour des détails, voir LICENSE.txt"
+    echo "Ceci est un logiciel libre, et vous êtes invité à le redistribuer"
+elif [ "$language" = "ru" ]; then
+    echo "GS3 Web Services demo-client"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "âéç ÎÅ ÄÁÅÔ áâóïìàôîï îéëáëéè çáòáîôéê; ÄÅÔÁÌÉ ÓÍ. × ÔÅËÓÔÅ LICENSE.TXT"
+    echo "üÔÏ - Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ É ÷Ù ÍÏÖÅÔÅ ÒÁÓÐÒÏÓÔÒÁÎÑÔØ ÅÇÏ"
+else
+    echo "GS3 Web Services demo-client"
+    echo "Copyright (C) 2006, New Zealand Digital Library Project, University Of Waikato"
+    echo "GLI comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
+    echo "This is free software, and you are welcome to redistribute it"
+fi
+echo
+
+##  -------- Run the Greenstone Librarian Interface --------
+
+# This script must be run from within the directory in which it lives
+thisdir=`pwd`
+if [ ! -f "${thisdir}/gs3democlient.sh" ]; then
+    if [ "$language" = "es" ]; then
+        echo "Este guión deberá ejecutarse desde el directorio en el que reside."
+    elif [ "$language" = "fr" ]; then
+	echo "Ce script doit être exécuté à partir du répertoire dans lequel il se trouve."
+    elif [ "$language" = "ru" ]; then
+	echo "üÔÏÔ ÓËÒÉÐÔ ÄÏÌÖÅÎ ÂÙÔØ ×ÚÑÔ ÉÚ ÄÉÒÅËÔÏÒÉÉ, × ËÏÔÏÒÏÊ ÏÎ ÒÁÓÐÏÌÏÖÅÎ"
+    else
+	echo "This script must be run from the directory in which it resides."
+    fi
+    exit 1
+fi
+
+
+## ---- Check Java exists ----
+javapath=
+
+# Some users may set the above line manually
+if [ "x$javapath" = "x" ]; then
+
+    # If it is set, use the JAVA_HOME environment variable
+    if [ "x$JAVA_HOME" != "x" ]; then
+	javapath="$JAVA_HOME/bin/java"
+
+    # Check if Java is on the search path
+    else
+	javapath=`which java 2> /dev/null`
+    fi
+fi
+
+# Check that a Java executable has been found
+version="1.5"
+
+if [ "$language" = "es" ]; then
+    echo "Revisando Java: $javapath"
+elif [ "$language" = "fr" ]; then
+    echo "Vérification de Java: $javapath"
+elif [ "$language" = "ru" ]; then
+    echo "ðÒÏ×ÅÒËÁ Java: $javapath"
+else
+    echo "Checking Java: $javapath"
+fi
+if [ ! -x "$javapath" ]; then
+    echo
+    if [ "$language" = "es" ]; then
+	echo "No se pudo localizar una versión apropiada de Java. Usted deberá "
+	echo "instalar un Ambiente de Ejecución Java (versión 1.5 o superior) "
+	echo "antes de correr la GS3 Web Services demo-client."
+    elif [ "$language" = "fr" ]; then
+	echo "Une version adéquate de Java n'a pas pu être localisée."
+	echo "Vous devez installer un Java Runtime Environment (version $version"
+	echo "ou supérieur) avant de démarrer GS3 Web Services demo-client."
+    elif [ "$language" = "ru" ]; then
+	echo "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ×ÅÒÓÉÉ Java."
+	echo "÷Ù ÄÏÌÖÎÙ ÕÓÔÁÎÏ×ÉÔØ Java Runtime Environment (×ÅÒÓÉÀ $version ÉÌÉ"
+	echo "×ÙÛÅ) ÐÅÒÅÄ ××ÏÄÏÍ ÂÉÂÌÉÏÔÅÞÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ GS3 Web Services demo-client."
+    else
+	echo "Failed to locate an appropriate version of Java. You must install a"
+	echo "Java Runtime Environment (version $version or greater) before running the"
+	echo "GS3 Web Services demo-client."
+    fi
+    exit 1
+fi
+
+
+## -- Check the version of Java is new enough (1.5.0 or higher) to run the GS3democlient --
+`$javapath -classpath . CheckJavaVersion $version GS3democlient > /dev/null`
+if [ $? -ne 2 ] ; then
+    echo
+    if [ "$language" = "es" ]; then
+	echo "La versión del Ambiente de Ejecución Java (JRE por sus siglas en"
+	echo "inglés) que usted tiene instalada es demasiado vieja para ejecutar"
+	echo "la GS3 Web Services demo-client. Por favor instale"
+	echo "una nueva versión del Ambiente de Ejecución Java (versión $version"
+	echo "o posterior) y ejecute nuevamente este guión."
+    elif [ "$language" = "fr" ]; then
+	echo "La version de Java Runtime Environment que vous avez installée est"
+	echo "trop vielle pour faire fonctionner GS3 Web Services demo-client."
+	echo "Veuillez installer une nouvelle version du JRE (version $version ou"
+	echo "plus récente) et redémarrez le script."
+    elif [ "$language" = "ru" ]; then
+	echo "÷ÅÒÓÉÑ Java Runtime Environment, ËÏÔÏÒÕÀ ÷Ù ÕÓÔÁÎÏ×ÉÌÉ, ÏÞÅÎØ ÓÔÁÒÁ,"
+	echo "ÞÔÏÂÙ ÕÐÒÁ×ÌÑÔØ ÂÉÂÌÉÏÔÅÞÎÙÍ ÉÎÔÅÒÆÅÊÓÏÍ Greenstone. ðÏÖÁÌÕÊÓÔÁ, "
+	echo "ÕÓÔÁÎÏ×ÉÔÅ ÎÏ×ÕÀ ×ÅÒÓÉÀ JRE (×ÅÒÓÉÀ $version ÉÌÉ ÂÏÌÅÅ ÎÏ×ÕÀ) É"
+	echo "ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÜÔÏÔ ÓËÒÉÐÔ"
+    else
+	echo "The version of the Java Runtime Environment you have installed is too"
+	echo "old to run the GS3 Web Services demo-client. Please install a new"
+	echo "version of the JRE (version $version or newer) and rerun this script."
+    fi
+    exit 1
+fi
+
+## ---- Check that the GS3democlient executable exists ----
+if [ ! -f "GS3democlient.jar" ]; then
+    echo
+    if [ "$language" = "es" ]; then
+	echo "Usted necesita compilar la GS3 Web Services demo-client"
+	echo "(por medio de ant build-demo-client) antes de ejecutar este guión."
+    elif [ "$language" = "fr" ]; then
+	echo "Vous devez compiler le GS3 Web Services demo-client (en utilisant"
+	echo "ant build-demo-client) avant d'exécuter ce script."
+    elif [ "$language" = "ru" ]; then
+	echo "÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone"
+	echo "(ÉÓÐÏÌØÚÕÑ ant build-demo-client) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ"
+    else
+	echo "You need to compile the GS3 Web Services demo-client (using"
+	echo "ant build-demo-client) before running this script."
+    fi
+    exit 1
+fi
+
+## ---- Finally, run the GS3democlient ----
+echo
+if [ "$language" = "es" ]; then
+    echo "Ejecutando la GS3 Web Services demo-client..."
+elif [ "$language" = "fr" ]; then
+    echo "Exécution de GS3 Web Services demo-client"
+elif [ "$language" = "ru" ]; then
+    echo "ôÅËÕÝÉÊ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ GS3 Web Services demo-client..."
+else
+    echo "Running GS3 Web Services demo-client..."
+fi
+
+    $javapath -jar GS3democlient.jar 
+##$*
+ 
+if [ "$language" = "es" ]; then
+    echo "¡Hecho!"
+elif [ "$language" = "fr" ]; then
+    echo "Terminé!"
+elif [ "$language" = "ru" ]; then
+    echo "÷ÙÐÏÌÎÅÎÏ!"
+else
+    echo "Done!"
+fi
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/BrowseDisplay.java	(revision 15317)
@@ -0,0 +1,609 @@
+/**
+ *#########################################################################
+ * BrowseDisplay.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+package org.greenstone.gs3client;
+
+import javax.swing.JPopupMenu;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JEditorPane;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JSplitPane;
+import javax.swing.JLabel;
+
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.BorderLayout; 
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Vector;
+import java.util.HashMap;
+
+import javax.swing.JTree;
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeSelectionModel;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.event.TreeWillExpandListener;
+import javax.swing.event.TreeExpansionEvent;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+
+import org.apache.log4j.Logger;
+import org.greenstone.gs3client.data.BrowseResponseData;
+import org.greenstone.gs3client.data.DocumentNodeData;
+import org.greenstone.gs3client.data.ClassifierNodeData;
+import org.greenstone.gs3client.data.NodeData;
+import org.greenstone.gs3client.data.ParseUtil;
+import org.greenstone.gsdl3.util.GSXML;
+
+/** 
+ * The Browse panel inside the Java-client's tab pane that's labelled "Browse". 
+ * This panel contains a tree view for expanding classifiers and their documents.
+ * It also contains an area where the metadata is displayed, and a text area where
+ * the textual or image content of a selected documentNode is displayed.
+ * @author ak19
+*/
+public class BrowseDisplay extends JPanel 
+	implements TreeSelectionListener, TreeWillExpandListener,
+		ColourCombo.ColourChangeable 
+{
+	/** The Logger for this class */
+	static Logger LOG = Logger.getLogger(SearchResultsDisplay.class);
+	
+	/** Access to the running instance of GS3JavaClient */
+	protected GS3JavaClient client;
+	/** A HashMap to store the displayData for the Browse operation. Usually  
+	 * just 2 elements long at most: displayName and displayDescription. */
+	protected HashMap displayData;
+	
+	/* GUI items of this Browse Panel */
+	protected JLabel browseLabel;
+	protected JPanel browsePanel; 
+	protected JSplitPane splitViewPane, structureMetaView;
+	protected JPanel browseBar;
+	protected ClassifierButton[] classifierList;
+	protected JTree browsingTree;
+	protected JEditorPane htmlPane;
+	protected JList metanames, metavalues;
+	/** Context menu that pops up when users right click in the browse tree area */
+	protected JPopupMenu popup;
+	
+	/** Constructor that creates the Browse Panel and its internal GUI items.
+	 * @param client is the running instance of the client application through 
+	 * which its methods can be accessed. */
+	public BrowseDisplay(GS3JavaClient client) {
+		super(new BorderLayout());
+		this.client = client;
+		displayData = new HashMap(2); //usual maxsize
+		
+		browseBar = new JPanel(); // default FlowLayout L to R, centre aligned
+		classifierList = null;
+		this.add(browseBar, BorderLayout.NORTH);
+		
+		browsingTree = new JTree(new DefaultMutableTreeNode(null)); 
+		browsingTree.getSelectionModel().setSelectionMode(
+        		TreeSelectionModel.SINGLE_TREE_SELECTION);
+		browsingTree.addTreeSelectionListener(this);
+		browsingTree.addTreeWillExpandListener(this);
+	
+		browsePanel = new JPanel(new BorderLayout());
+			// new FlowLayout(FlowLayout.LEFT)); // don't use this, 
+			// else view of tree is limited to the very minimum
+		browsePanel.add(new JScrollPane(browsingTree), BorderLayout.CENTER);
+		browseLabel = new JLabel("Browsing by...");
+		browsePanel.add(browseLabel, BorderLayout.NORTH);
+		
+		JPanel metadataPanel = new JPanel(new BorderLayout());
+		this.metanames = new JList();
+		this.metavalues = new JList();
+		metadataPanel.add(metanames, BorderLayout.WEST);
+		metadataPanel.add(metavalues, BorderLayout.CENTER);
+		
+		JPanel metaSuperPanel = new JPanel(new BorderLayout());
+		metaSuperPanel.add(new JLabel("Metadata"), BorderLayout.NORTH);
+		//metaSuperPanel.add(metadataPanel, BorderLayout.CENTER);
+		metaSuperPanel.add(
+			new JScrollPane(metadataPanel), BorderLayout.CENTER);
+		
+		structureMetaView = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+		structureMetaView.setTopComponent(browsePanel);
+		structureMetaView.setBottomComponent(new JScrollPane(metaSuperPanel));
+		structureMetaView.setOneTouchExpandable(true);
+				
+		htmlPane = new JEditorPane();
+		htmlPane.setEditable(false);
+		htmlPane.setContentType("text/html");
+		
+		// Add the docStructure and metadata panels next to each 
+		// other within a split pane
+		splitViewPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+		splitViewPane.setLeftComponent(structureMetaView);
+		splitViewPane.setRightComponent(new JScrollPane(htmlPane));
+		splitViewPane.setOneTouchExpandable(true);
+		
+		this.add(splitViewPane, BorderLayout.CENTER);
+		
+		
+		// add a (rightclick) popup menu to the browsing tree
+		// (can only do this after tree and htmlPane have been instantiated):
+		popup = new JPopupMenu();
+		browsingTree.setComponentPopupMenu(popup);
+		browsingTree.addMouseListener(new Displays.PopupListener(
+				popup, browsingTree, client, this.htmlPane));
+	}
+
+	/** Clears the service-specific buttons in the browseBar and the 
+	 * service-specific display-data. The rest of the GUI (split panes, panels) 
+	 * remain as they are. */
+	public void clear() {
+		// empty the docStructureTree's popup menu too
+		popup.removeAll();
+		
+		browseBar.removeAll();
+		displayData.clear();
+		
+		htmlPane.setText("");
+		// empty any classification/document metadata
+		final String[] empty = {};
+		BrowseDisplay.this.metanames.setListData(empty);
+		BrowseDisplay.this.metavalues.setListData(empty);
+			//metanames.removeAll(); // doesn't work
+			//metavalues.removeAll(); // doesn't work
+		
+		// empty the tree:
+		((DefaultTreeModel)browsingTree.getModel()).setRoot(null);
+		
+		classifierList = null;
+		System.gc();
+		
+		this.validate();
+	}
+	
+	/** Changes the colour of the query form and its controls to the
+	 *  current colours set in class ColourCombo. Specified by
+	 *  the ColourCombo.ColourChangeable interface. */
+	public void changeUIColour() {
+		Component[] comps = { this, this.browseBar, this.browsePanel,
+				browsingTree, metanames, metavalues, popup };
+		ColourCombo.changeColor(comps);
+		// ensures that the "metadata" JLabel (not an instance variable) 
+		// is coloured appropriately as well
+		ColourCombo.changeAncestorColor(metanames); 
+		
+	}
+	
+	/** For some reason, the overriden getPreferredSize() is not
+	 * called upon resize of this panel, so I am calling it manually 
+	 * whenever there's a call to paint this Panel. Painting will
+	 * be done when the parent container is resized (and this panel 
+	 * made visible) anyway, so it might as well work out what size
+	 * the interior panels will have on every resize.
+	 * @param g is the Graphics object
+	 * @see "JPanel's paint(Graphics g)"
+	*/
+	public void paint(java.awt.Graphics g) {
+		super.paint(g); // let the usual JPanel paint event happen 
+		this.getPreferredSize();
+	}
+	
+	// FIX ME: The following problem was 'fixed' by overriding paint: 
+	// Strangely, this method is called only once! Even though it should 
+	// always be called on resize as indeed happens correctly in 
+	// SearchResultsDisplay.java.
+	// Reason might be because components are arranged differently in the 
+	// JSplitPanes nested in this JPanel (they're arranged different from
+	// SearchResultsDisplay.java)
+	/** Overrode this method to resize the splitpanes within, upon resize. 
+	 * It calculates the size of this panel, as well as setting those of  
+	 * the splitpanes it contains based on the size of the parent container. 
+	 * @return the preferred dimensions of this JPanel. */
+	public Dimension getPreferredSize() {
+		Dimension size = this.getParent().getSize();
+		int x = (int)size.getWidth() / 3; // WHY DOES THIS NOT WORK?????
+		int y = (int)(size.getHeight() / 5 * 3); // WHY DOES THIS NOT WORK?????
+		structureMetaView.setDividerLocation(y); // 400
+			// structureMetaView.setDividerLocation(1.0); // as far down as 
+				// possible to give more space to browse structure and less to meta
+		splitViewPane.setDividerLocation(x); // 300
+		splitViewPane.setPreferredSize(size);
+		//System.err.println("SIZE: " + this.getSize() + "y: " + y);
+        return size;
+	}
+	
+	/** Will clear previous browse service's classification options and widgets, 
+	 * and redisplay browse options as specified by the describe Response Message 
+	 * XML returned from the browse Service. 
+	 * @param describeRespMsgTag - the (Classifier)Browse Service's describe  
+	 * response message element, used to reset the classifier buttons in the 
+	 * browseBar of this panel. */
+	public void displayBrowseOptions(Element describeRespMsgTag){
+		this.clear();
+		// First set the displayItems
+		Element service = ParseUtil.getFirstDescElementCalled(
+				describeRespMsgTag, GSXML.SERVICE_ELEM);
+		
+		Vector displayItems = ParseUtil.getAllChildElementsCalled(
+				service, GSXML.DISPLAY_TEXT_ELEM);
+		if(displayItems != null) {
+			for(int i = 0; i < displayItems.size(); i++) {
+				Element e = (Element)displayItems.get(i);
+				if(!e.hasAttribute(GSXML.NAME_ATT))
+					continue;
+				// we are looking for <displayItem name="">value</displayItem>
+				String name = e.getAttribute(GSXML.NAME_ATT);
+				String value = ParseUtil.getBodyTextValue(e);
+				this.displayData.put(name, value);
+			}
+			
+			// get <displayItem name="description">descr</displayItem>
+			String descr = (String)displayData.get(
+					GSXML.DISPLAY_TEXT_DESCRIPTION);
+			if(descr != null)
+				this.setBorder(BorderFactory.createTitledBorder(descr));
+		}	
+		
+		// Now, process all <classifier> items inside <classifierList>
+		NodeList nl = describeRespMsgTag.getElementsByTagName(
+				GSXML.CLASSIFIER_ELEM+GSXML.LIST_MODIFIER);
+		// There will be only one, as far as I can tell from the describe 
+		// response returned from gs2mgppdemo's ClassifierBrowse service
+		if(nl.getLength() <= 0)
+			return; // nothing to do; but this should not happen
+		Element classifierListTag = (Element)nl.item(0);
+		
+		// now get the <classifier>s children from <classifierList> 
+		nl = classifierListTag.getElementsByTagName(GSXML.CLASSIFIER_ELEM);
+		int size = nl.getLength();
+		if(size > 0) 
+			classifierList = new ClassifierButton[size];
+		
+		for(int i = 0; i < size; i++) {
+			Element classifier = (Element)nl.item(i);
+			classifierList[i] = new ClassifierButton(
+					new ClassifierData(classifier));
+			this.browseBar.add(classifierList[i]);
+		}
+	}
+	
+	/** Called to populate the browsing tree with browse data. Only the
+	 * data for the top-level classifier and its direct descendants are
+	 * retrieved. 
+	 * @param browseResponseObj - stores the data of the response XML
+	 * message returned by the (Classifier)Browse service.
+	 * @param rootName - the title/name of the root classifier */
+	public void displayBrowseResults(
+			BrowseResponseData browseResponseObj, String rootName) 
+	{
+		browsingTree.removeAll();
+		DefaultTreeModel model = (DefaultTreeModel)browsingTree.getModel();
+		
+		ClassifierNodeData rootClassNode 
+			= browseResponseObj.getRootClassifier();
+		rootClassNode.setTitle(rootName);
+		DefaultMutableTreeNode newRoot 
+			= new DefaultMutableTreeNode(rootClassNode);
+		
+		NodeData[] childNodes = rootClassNode.getChildren();
+		// First set their titles:
+		client.retrieveTitledStructureFor(rootClassNode);
+		
+		if(childNodes != null) { 
+			for(int i = 0; i < childNodes.length; i++) {
+				DefaultMutableTreeNode child 
+					= new DefaultMutableTreeNode(childNodes[i]);
+				newRoot.add(child);
+				model.setRoot(newRoot);
+				if(childNodes[i].hasChildren)
+					child.add(new DefaultMutableTreeNode(null));
+				//browsingTree.setRootVisible(false); //No, because it 
+					// has a root: the root classifierNode
+			}
+		}
+	}
+	
+	/** This method of the TreeWillExpandListener interface is called when
+	 * the user clicked on an expandable node in the browsingTree. 
+	 * Since we are loading substructures in the tree lazily (i.e. loading
+	 * childnodes lazily) we have dummy/null childTreeNodes that make 
+	 * expandable parentNodes look like folders (make the parents look 
+	 * expandable). 
+	 * Therefore, when the user clicks on an expandable node, we first check
+	 * whether we already have loaded the datastructure/subtree or whether
+	 * its child is a dummy (null). If a dummy (null child), then we work
+	 * out whether it's a classifierNodeData or a documentNodeData that the
+	 * expanding treeNode represents. Based on that, we retrieve the sub-
+	 * structure for the treeNode that's expanding. 
+	*/
+	public void treeWillExpand(TreeExpansionEvent e) 
+	{
+		DefaultMutableTreeNode node = null;
+		
+		// Don't use browsingTree.getLastSelectedPathComponent(). That 
+		// method doesn't deal with the case when someone clicked on the 
+		// expand/collapse knob next to folders.
+		// Use e.getPath().getLastPathComponent() instead:
+		node = (DefaultMutableTreeNode)e.getPath().getLastPathComponent();
+		if(node == null || node.isLeaf())
+			return; // leafnode, shouldn't happen: we're in Expansion method!
+		
+        Object nodeInfo = node.getUserObject();
+        
+        // First check whether this expanding/folder node's child contains 
+        // a dummy object (null) or is already set:
+        DefaultMutableTreeNode child 
+        	= (DefaultMutableTreeNode)node.getFirstChild();
+        Object childNodeInfo = child.getUserObject();
+        // if the child is null (therefore not a NodeData object), it was a 
+        // dummy we added for delayed lazy-loading - so remove child
+        if(childNodeInfo != null) {
+        	return; // we've already retrieved the structure for
+        			// this node, don't need to process it any further
+        }
+        
+        // Child is null: not a NodeData object, so we change the dummy child. 
+        // This is done by populating the node's children with the actual 
+        // document node/classifier node structure:
+        node.removeAllChildren(); // first remove the dummy child
+        
+		// now, construct the structure of the treenode that's expanding
+		// based on whether it represents a classifierNodeData or
+		// documentNodeData object:
+        NodeData nodeData = (NodeData)nodeInfo;
+		if(nodeData instanceof ClassifierNodeData) {
+	        ClassifierNodeData classNode = (ClassifierNodeData)nodeData;
+	        this.client.retrieveTitledStructureFor((classNode));
+	        
+	        // The above will have set the expanding classNode's children.
+	        // Now, we add a treeNode for each child of classNode -
+	        // and for each childclassNode that's expandable, add a dummy
+	        // child for them to make them expandable:	
+	        NodeData[] children = classNode.getChildren();
+	        for(int i = 0; i < children.length; i++) {
+	        	DefaultMutableTreeNode childTreeNode
+	        		= new DefaultMutableTreeNode(children[i]);
+	        	node.add(childTreeNode);
+	        	// If the classifier node has children (expands further), make 
+	        	// it a folder by adding in a null child to allow lazy tree- 
+	        	// expansion as when required
+	        	if(children[i].hasChildren) 
+	        		childTreeNode.add(new DefaultMutableTreeNode(null));
+	        }
+		} else { // if instanceof DocumentNodeData
+        	DocumentNodeData docNode = (DocumentNodeData)nodeData;
+        	if(docNode.nodeType.equals(GSXML.NODE_TYPE_ROOT)) {
+        		this.client.retrieveTitledStructureFor(docNode);
+        			
+        		Displays.createNodesForChildren(docNode, node);
+        	} //else { document can't be a leaf node *and* expand at the
+        		// same time. So shouldn't ever be here!
+        		// After all, this is the method that's called when a node
+        		// is expanding, and leaf nodes should not expand.
+        	//}
+		}	
+	}
+	
+	/** Part of the TreeWillExpandListener interface. Nothing to do here. */
+	public void treeWillCollapse(TreeExpansionEvent e) {}
+	
+	/* THE FOLLOWING DOES NOT APPLY ANYMORE:
+	 * In this method, we are not dealing with expandable nodes 
+	 * (we check for whether the clicked node is a leaf), but with document-
+	 * NodeData objects that are leaves: for these, we display the document. */
+	/** 
+	 * Whenever an item is clicked in the browsingTree, this method is called. 
+	 * We display the document associated with a documentNode that is clicked,
+	 * or "" for classifierNodes.
+	*/
+	public void valueChanged(TreeSelectionEvent e) {
+		// remove any menuItems in the popup from the previously 
+    	// selected docNode
+    	popup.removeAll();
+
+		DefaultMutableTreeNode node = null;
+		node = (DefaultMutableTreeNode)
+			browsingTree.getLastSelectedPathComponent();
+		
+        if(node == null) return;
+        Object nodeInfo = node.getUserObject();
+        // after construction there's nothing in the trees, so check for that:
+        if(nodeInfo == null) return; 
+       
+        // We need to change to a Wait cursor while we load the documentNode
+		Container c = client.getContentPane();
+		c.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		
+    	
+    	if(nodeInfo instanceof DocumentNodeData) { 
+    		//whether leaf or folder, the document element may contain text
+        	DocumentNodeData docNode = (DocumentNodeData)nodeInfo;
+        	client.retrieveContentFor(docNode);
+        	// for docNodes, there's more than title metadata, so ensure 
+        	// all metadata has been retrieved
+        	client.retrieveAllMetadataFor(docNode);
+        	
+        	if(docNode.hasNoText()) { //NoText field is 1, meaning it's an img
+        		// now display the image
+        		this.htmlPane.setText(
+        				Displays.getImgUrlEnclosedInHtml(docNode.getImgURL()));
+        	} else { // it has text 
+	        	// Java's htmlpane does not recognise justified alignment.
+	            // It displays them all centred.
+	            // So here we replace all ALIGN="JUSTIFY" with ALIGN="LEFT" 
+	            // (we don't do this in the DocumentNodeData class itself,
+	            // because our nodeContent should not be transformed: it will
+	            // display properly in browsers and other html displays).
+        			//System.err.println("docNode can not be an image");
+        		String docContent = docNode.getContent().replaceAll(
+            			"ALIGN=\"JUSTIFY\"", "ALIGN=\"LEFT\"");
+        		String baseURL = client.getBaseURL();
+        		// TODO: make the docNode itself work out its URL by passing
+        		// baseURL to the docNode?
+        		if(!baseURL.equals("") && docNode.getRoot() != null) { 
+        				// "" is the case where dlAPIA = gs3 
+        				// where the _httpdocimg_ macro will deal with
+        				// resolving the relative urls into their full ones
+        				// We don't want to set the base and meddle with macro
+        				// for those cases.
+        			// For Fedora's case:
+        			HTMLDocument doc 
+        				= (HTMLDocument)this.htmlPane.getDocument();
+        			try{
+        				URL url = new URL(baseURL+docNode.getRoot().nodeID+"/");
+        				//System.err.println("url: " + url.toString());
+        				doc.setBase(url);
+        				//docContent = docContent.replaceAll("_httpdocimg_/", "");
+        				LOG.debug(docContent);
+        			}catch(MalformedURLException mex) {
+        				; //nothing to be done, leave the base as it is
+        			}
+        		}
+	            this.htmlPane.setText(docContent);
+        	}
+        	this.htmlPane.setCaretPosition(0);
+    	} else // treenode is a ClassifierNodeData, clear the html Pane
+    		this.htmlPane.setText("");
+    	 
+        // In any case -- whatever kind of nodedata it may be -- we display 
+    	// the metadata for this NodeData:
+    	Displays.showMeta((NodeData)nodeInfo, metanames, metavalues);
+
+		c.setCursor(Cursor.getDefaultCursor()); // set the cursor back to normal
+	}
+	
+	/** Inner class (not static, as it needs access to outerclass' this object.
+	 * This class represents a button that encapsulates a ClassifierData 
+	 * object and sets its own name and tooltip text based on the displayName 
+	 * and displayDescription of that ClassifierData object. */
+	public class ClassifierButton 
+		extends JButton implements ActionListener 
+	{
+		/** Encapsulated classifierData obj */
+		public ClassifierData classifier; 
+		
+		/** Constructor that creates a button to visually represent
+		 * the classifier.
+		 * @param classifier - the ClassifierData object for which to 
+		 * create a button, using its display data. */
+		public ClassifierButton(ClassifierData classifier) {
+			super(classifier.displayName);
+			this.classifier = classifier;
+			this.setToolTipText(classifier.displayDescription);
+			this.addActionListener(this);
+		}
+		
+		/** Called when someone presses the ClassifierButton: when pressed,
+		 * perform the browse request associated with the classifier. */
+		public void actionPerformed(ActionEvent e) {
+			Container c = client.getContentPane();
+			c.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+			// empty the previous classification's/document's metadata
+			// and any text in the html pane
+			final String[] empty = {};
+			BrowseDisplay.this.metanames.setListData(empty);
+			BrowseDisplay.this.metavalues.setListData(empty);
+			BrowseDisplay.this.htmlPane.setText("");
+			
+			// Now use the outerclass' MessagerClient object to perform the 
+			// browse request:
+			BrowseDisplay.this.client.doBrowse(this.classifier);
+			BrowseDisplay.this.browseLabel.setText("Browsing by " 
+					+ classifier.displayName);
+			c.setCursor(Cursor.getDefaultCursor());
+		}
+	}
+	
+	/** Static inner class that represents the data in a &lt;classifier&gt;
+	 * element - itself nested inside a list (&lt;classifierList&gt;) of them.
+	 * These elements are to be found in the response returned for a describe 
+	 * request sent to a collection's BrowseService. */
+	public static class ClassifierData {
+		/** The content attribute of the &lt;classifier&gt; */
+		public final String content;
+		/** The name attribute of the &lt;classifier&gt; */
+		public final String name;
+		/** The display name attribute of the &lt;classifier&gt; */
+		public final String displayName;
+		/** The description attribute of the &lt;classifier&gt; */
+		public final String displayDescription;
+		
+		/** Constructor. 
+		 * @param classifierTag - creates a ClassifierData object from the 
+		 * data stored in a &lt;classifier&gt; element */
+		public ClassifierData(Element classifierTag) {
+			content = classifierTag.hasAttribute(GSXML.CLASSIFIER_CONTENT_ATT) ?
+				classifierTag.getAttribute(GSXML.CLASSIFIER_CONTENT_ATT) : "";
+			name = classifierTag.hasAttribute(GSXML.NAME_ATT) ?
+				classifierTag.getAttribute(GSXML.NAME_ATT) : "";
+			
+			// now get <displayItem name="name">value</displayItem>
+			// and <displayItem name="description">descr</displayItem>	
+			HashMap displayData = new HashMap(2); //size = 2, because 
+				// generally expecting only display Name and Description
+			NodeList nl = classifierTag.getElementsByTagName(
+					GSXML.DISPLAY_TEXT_ELEM);
+			for(int i = 0; i < nl.getLength(); i++) {
+				Element displayItem = (Element)nl.item(0);
+				if(displayItem.hasAttribute(GSXML.NAME_ATT)) {
+					String nameAtt = displayItem.getAttribute(GSXML.NAME_ATT);
+					String value = ParseUtil.getBodyTextValue(displayItem);
+					displayData.put(nameAtt, value);
+				}
+			}
+			String dName = (String)displayData.get(GSXML.DISPLAY_TEXT_NAME);
+			String dDescr = (String)displayData.get(
+					GSXML.DISPLAY_TEXT_DESCRIPTION);
+			this.displayName = (dName == null) ? "" : dName;
+			this.displayDescription = (dDescr == null) ? "" : dDescr;
+			
+			// Can get rid of HashMap now:
+			displayData.clear();
+			displayData = null;
+		}
+	
+		/** The displayName can be used as a label in any widget. 
+		 * @return the displayName of this ClassifierData object */
+		public String toString() { return this.displayName; } 
+		
+		/** @return a display String with the data stored in this ClassifierData
+		 * object. Useful for debugging purposes. */
+		public String show() {
+			StringBuffer buf = new StringBuffer(this.name);
+			buf.append(" ");
+			buf.append(this.content);
+			buf.append(" ");
+			buf.append(this.displayName);
+			buf.append(" ");
+			buf.append(this.displayDescription);
+			
+			return buf.toString();
+		}
+	}	
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/ColourCombo.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/ColourCombo.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/ColourCombo.java	(revision 15317)
@@ -0,0 +1,191 @@
+package org.greenstone.gs3client;
+
+import java.awt.Color;
+import java.awt.Component;
+import javax.swing.JTextField;
+
+
+/** 
+ * Background and selection color combinations for the Java-Client's 
+ * interface. Stores Greenstone, Fedora and default colour combinations
+ * and has methods for converting colours of items.
+ * @author ak19 
+*/
+public class ColourCombo {
+	/** Interface ColourChangeable defines one method, changeUIColour(),
+	 * which classes whose user-interface colours can change may
+	 * implement. They can then choose to call either of ColourCombo's 
+	 * changeColor() methods or changeAncestorColor() if necessary. 
+	 * Though it's not compulsory to implement this interface, it may
+	 * help in grouping the classes that are ColourChangeable. */
+	public interface ColourChangeable {
+		/** Subclasses define this method in order to change the
+		 * colour of the interface */
+		public void changeUIColour();
+	}
+		
+	/* Some fixed colours to be used in the user interface of GS3JavaClient */
+	/** Greenstone transparent background colour. Useful for trees' text 
+	 * backgrounds which otherwise default to white even when the tree 
+	 * background is not white. Alpha value=0 for transparency */
+	static final Color transparent = new Color(0, 0, 0, 0);
+	/** Greenstone dark background colour */
+	static final Color green = new Color(176, 208, 176);
+	/** Greenstone light background colour */
+	static final Color lightGreen = new Color(224, 240, 224);
+	/** Fedora dark background colour */
+	static final Color blue = new Color(128, 180, 216);
+	/** Fedora light background colour */
+	static final Color lightBlue = new Color(218, 237, 252);
+	/** Selection colour for Fedora and Greenstone */
+	static final Color yellow = new Color(240, 240, 140);
+	
+	/* Some default colours (system greys and selection colors) */
+	/** Default background colour */
+	static final Color grey = new Color(238, 238, 238);
+	/** Fixed background colour for textareas, editorPanes (html) */
+	static final Color background = Color.white; 
+		
+	/** background colours for panels, labels */
+	public final Color dark; 
+	/** background colours for comboboxes, lists, textfields, textareas */
+	public final Color light; 
+		
+	/* The fixed colour combination settings for Greenstone, Fedora and default */
+	/** System default greys */
+	public static final ColourCombo defaultColors 
+		= new ColourCombo(grey, grey);
+	/** Greenstone greens */
+	public static final ColourCombo greenstoneColors 
+		= new ColourCombo(green, lightGreen);
+	/** Fedora's colour combinations of blue */
+	public static final ColourCombo fedoraColors 
+		= new ColourCombo(blue, lightBlue);
+	/** The colour combination currently being used in the interface */
+	protected static ColourCombo current = defaultColors;
+		
+	/** Constructor to create a ColourCombo combination of colours
+	 * @param dark is the colour to set JPanels to.
+	 * @param light is the colour to set comboboxes, lists and non-editable 
+	 * textfields to.
+	*/
+	public ColourCombo(Color dark, Color light) 
+	{			
+		this.dark = dark;
+		this.light = light;
+	}
+	
+	// access methods
+	public static ColourCombo getCurrentCombo() { return current; }
+	public static void setCurrentCombo(ColourCombo c) { current = c; }
+	
+	/** Sets the active colour combination based on the value of DL.
+	 * @param DL represents the current digital library. Values can be  
+	 * GS3JavaClient.GREENSTONE, GS3JavaClient.FEDORA, GS3JavaClient.SELECT.
+	 * Anything else and it defaults to GS3JavaClient.SELECT as well.
+	*/
+	public static void setColour(int DL) {
+		switch(DL) {
+			case GS3JavaClient.GREENSTONE:
+				setCurrentCombo(greenstoneColors);
+				break;
+				
+			case GS3JavaClient.FEDORA:
+				setCurrentCombo(fedoraColors);
+				break;
+
+			case GS3JavaClient.SELECT: 
+			default:
+				setCurrentCombo(defaultColors);
+				break;	
+		}
+	}
+	
+	/** 
+	 * @param c is the Component for which it is to be determined whether it
+	 * should be a lighter or darker colour. 
+	 * @return true if Component c should be a lighter colour (returns true
+	 * for non-editable JTextFields)
+	*/
+	protected static boolean isLightColor(Component c) {
+		// JTextAreas and JEditorPane left white
+		
+		// Only JComboBoxes, JLists (and non-editable TextFields) are turned to
+		// the light colour
+		if(c.getClass().getName().equalsIgnoreCase("javax.swing.JComboBox"))  {
+			return true;
+		}
+		if(c.getClass().getName().equalsIgnoreCase("javax.swing.JList"))  {
+			return true;
+		}
+		// NO LONGER TRUE: Although we can set the the tree pane background to 
+		// a light colour, we are unable to get the CellRenderer to do anything
+		// upon selection so leave this white=the colour of selections
+		// INSTEAD: since we have now set the textbackground of treenodes to
+		// transparent, we can colour the background of tree displays.
+		if(c.getClass().getName().toLowerCase().contains("tree")) {
+			return true;
+		} 
+		return false;
+	} 
+	
+	/** Given an array of components, sets their background colours to a 
+	 * dark or light colour setting as appropriate.
+	 * @param leafComponents is the array of components whose background 
+	 * colours are to change.
+	*/
+	public static void changeColor(Component[] leafComponents) 
+	{
+		for(int i = 0; i < leafComponents.length; i++) {
+			changeColor(leafComponents[i]);
+		}
+	}
+	
+	/** Given a Component, sets its background colours to a dark or 
+	 * light colour setting as appropriate.
+	 * @param c is the component whose background colours are to change.
+	*/
+	public static void changeColor(Component c) 
+	{
+		// NOT NEEDED: since we made text background of treenodes transparent! 
+		// skip all trees, leave them with their default (white) colouring 
+		//if(c.getClass().getName().toLowerCase().contains("tree")) {
+			//return;
+		//}
+		
+		// deal with JTextFields next, based on whether they are editable
+		// or not
+		if(c.getClass().getName().equalsIgnoreCase("javax.swing.JTextField")) {
+			JTextField field = (JTextField)c;
+			if(field.isEditable()) {
+				field.setBackground(background); // default white
+			} else { // must be set to light (non-editable) colour
+				field.setBackground(current.light); // default white
+			}
+		} else if(isLightColor(c)) {
+			// for JLists, JComboBoxes, JTextFields need
+			// to set light background color
+			c.setBackground(current.light);
+		} else { // need to set background color to dark
+			c.setBackground(current.dark);
+		}
+	}
+	
+	/** Given a component, sets its ancestors to the dark colour setting.
+	 * @param c is the component whose ancestors' background colours are 
+	 * to be set.
+	*/
+	public static void changeAncestorColor(Component c) {
+		// assume c's background color has been changed
+		do {
+			c = c.getParent(); // change parent color
+			// Leave tabbed panes grey, but change the colour of all other 
+			// containers - all ancestor components will be containers of
+			// some kind (labels or panels)
+			if(!c.getClass().getName().equalsIgnoreCase("javax.swing.JTabbedPane")) 
+			{ 
+				c.setBackground(current.dark);
+			}
+		} while(c.getParent() != null); // cycle through all ancestors
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/Displays.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/Displays.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/Displays.java	(revision 15317)
@@ -0,0 +1,359 @@
+/**
+ *#########################################################################
+ * Displays.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client;
+
+import org.greenstone.gs3client.data.Pair;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Vector;
+import java.util.Map.Entry;
+
+import javax.swing.JEditorPane;
+import javax.swing.JList;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+import javax.swing.JTree;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreePath;
+
+import org.greenstone.gs3client.data.DocumentNodeData;
+import org.greenstone.gs3client.data.ClassifierNodeData;
+import org.greenstone.gs3client.data.NodeData;
+
+/** 
+ * Class containing static methods, static variables and inner classes that
+ * are used by both SearchResultsDisplay and BrowseDisplay. 
+ * @author ak19
+*/
+public class Displays {
+	/** Static Comparator object for Pair objects of (name, value) Metadata */
+	protected static final MetadataComparator comparator = new MetadataComparator(); 
+	
+	/* Static methods. */
+	/** Recursion to add all descendent docnodes into the tree.
+	 * @param docNode - the documentNodeData object for whose children treenodes 
+	 * need to be created.
+	 * @param treeNode - the treeNode associated with the docNode parameter. */ 
+	public static void createNodesForChildren(DocumentNodeData docNode,
+		DefaultMutableTreeNode treeNode) 
+	{
+		if(docNode == null)
+			return;
+		DocumentNodeData[] children = docNode.getDescendents();
+		if(children == null) 
+			return; // base case, the child was a leaf
+		
+		for(int i = 0; i < children.length; i++) {
+			DefaultMutableTreeNode childTreeNode 
+				= new DefaultMutableTreeNode(children[i]);
+        	treeNode.add(childTreeNode);
+        	
+        	// recursion step to add this child node's children to 
+        	// the treeNode representing it
+        	createNodesForChildren(children[i], childTreeNode);
+		}
+	}
+	
+	/** JEditorPane cannot deal with &lt;img src="" /&gt;. It can only handle  
+	 * it without ending slash: &lt;img src="" &gt;.
+	 * This method constructs complete html (with html, head and body tags) where
+	 * the parameter imgURL is enclosed inside an img src tag.
+	 * @param imgURL - src URL for a (web) image 
+	 * @return the imgURL parameter enclosed in complete html */ 
+	public static String getImgUrlEnclosedInHtml(String imgURL) 
+	{
+		return "<html><head></head><body><img src=" 
+			+ imgURL + "></body></html>";
+	}
+	
+	/** Sorts the metadata of the docNode into the required order and displays
+	 * metadata names in the JList metanames and the associated metadata values 
+	 * in the JList metavalues.
+	 * The order is based on metanames: first come all the official metadata
+	 * sets which are recognised by the existence of a period in the metaname
+	 * (eg. dc.creator, dls.title). These are arranged alphabetically.
+	 * Next come all the metadata names that start with a capital letter - 
+	 * arranged alphabetically;
+	 * the remainder are organised alphabetically as well, with the last ones
+	 * being those metadata whose names do not start with a letter 
+	 * (e.g. "/srclink").
+	 * @param nodeData is the NodeData object (classifierNodeData or 
+	 * documentNodeData)
+	 * whose metadata is to be displayed in the metanames and metavalues components.
+	 * @param metanames - a JList to display all the metadata names of nodeData 
+	 * @param metavalues - a JList to display all the metadata values of nodeData */
+	public static void showMeta(NodeData nodeData, JList metanames, JList metavalues) 
+	{
+    	// get the metadata names and values, put them
+    	// into separate arrays and set the contents of 
+    	// JLists metanames and metavalues to these arrays.
+    	Map metadata = nodeData.getMetadataList();
+    	if(metadata != null && metadata.size() > 0) {
+    		Iterator i = metadata.entrySet().iterator();
+    		Vector nameValuePairs = new Vector(metadata.size());
+    		while(i.hasNext()) {
+    			Entry entry = (Entry)i.next();
+    			String name = (String)entry.getKey();
+    			Vector values = (Vector)entry.getValue();
+    			for(int j = 0; j < values.size(); j++) {
+    				nameValuePairs.add(new Pair(name, (String)values.get(j)));
+    			}
+    		}
+    		// first sort the Vectors with our comparator:
+    		// see http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collections.html
+    		// method Collections.sort(List l, Comparator c) 
+    		// and see http://java.sun.com/j2se/1.4.2/docs/api/java/util/Comparator.html
+    		
+    		// Need to sort the nameValuePairs based on the ordering of the
+    		// *names* portion of each Pair. 
+    		// This ordering is defined by the MetadataComparator object 
+    		// comparator 
+    		// OLD: This ordering is defined by the Comparable interface implemented 
+    		// by the vector contents. No comparator was passed into 
+    		// Collections.sort(List l) because the vector's contents were Pairs 
+    		// which implemented Comparable and therefore the elements were sorted  
+    		// based on their "natural ordering".
+    		// see http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Comparable.html
+    		// Collections.sort(nameValuePairs);
+    		Collections.sort(nameValuePairs, comparator);
+    		metanames.setListData(Pair.getFirst(nameValuePairs));
+    		metavalues.setListData(Pair.getSecond(nameValuePairs));
+    		
+    		nameValuePairs.clear();
+    		nameValuePairs = null;
+    	}
+    }	
+	
+	/** Handles rightclicks on a treeview of documentNodeData objects by showing  
+	 * the popupMenu with associated files that, when selected, can be displayed  
+	 * in the htmlPane. Listens to rightclick events, but also handles clicks on 
+	 * popup menu items. 
+     * @see <a href="http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html">Java tutorial on menus</a>
+    */
+    static class PopupListener extends MouseAdapter implements ActionListener 
+    {
+    	/** Handle to the running GS3JavaClient object to have access to its 
+    	 * methods */
+    	final GS3JavaClient client;
+    	/** A popup component */
+    	final JPopupMenu popupMenu;
+    	/** The treeView component on which the rightclicks occurred */
+    	final JTree tree;
+    	/** The htmlPane wherein associated files are to be displayed */
+    	final JEditorPane htmlArea;
+    
+    	/** Package access inner class. Not static, so it depends on outer class'
+    	 * PopupListener instance.
+    	 * Represents a popup MenuItem that appears on rightclick and contains the 
+         * name(s) of associated files which will be displayed - if any are selected
+         * - in the main htmlpane. */
+        class AssocFilePopupItem extends JMenuItem {
+        	/** The documentNodeData that was rightclicked upon */
+        	final DocumentNodeData docNode;
+        	
+        	/** Constructor that creates an AssocFilePopupItem (popup menu item)  
+        	 * instance for each associated file of a documentNodeData that's been 
+        	 * rightclicked on. This popupitem displays the name of the associated 
+        	 * file as a menu item of the popup.
+        	 * The outer PopupListener object is set to listen to mouseEvents on
+        	 * this PopupMenuItem. It will listen to clicks on this menuItem to 
+        	 * then display the image. */
+        	public AssocFilePopupItem(DocumentNodeData docNode, String name) 
+        	{
+        		super(name);
+        		this.docNode = docNode;
+        		// PopupListener will also process clicks on this shortcut menuitem
+        		this.addActionListener(PopupListener.this);
+        	}
+        }
+    	
+        /** Constructor for the PopupListener.
+         * @param popupMenu - the JPopupMenu object this PopupListener  
+         * will handle mouseEvents for
+         * @param tree - the JTree object whose documentNodeData was clicked
+         * @param client - handle to the running GS3JavaClient instance 
+         * @param htmlArea - the html editor pane in which to display the 
+         * associated file chosen from the popupMenu. */
+    	public PopupListener(JPopupMenu popupMenu, JTree tree, 
+    			GS3JavaClient client, JEditorPane htmlArea) 
+    	{
+    		this.client = client;
+    		this.popupMenu = popupMenu;
+    		this.tree = tree;
+    		this.htmlArea = htmlArea;
+    	}
+    	
+    	/** Called when one of the popup's menuItems was clicked.
+    	 * The associated file represented by the menuItem is displayed in the
+    	 * html editor pane. */
+    	public void actionPerformed(ActionEvent e) {
+			// TODO: later, when all gsdlassocfiles are available for each docNode, 
+			// need to change the setText below to make use of imageName and
+			// the docNode's root's assocFilePath
+	    	AssocFilePopupItem menuItem = (AssocFilePopupItem)e.getSource();
+	    	DocumentNodeData docNode = menuItem.docNode;
+	    	
+	    	if(docNode.canBeImage())
+		    	htmlArea.setText(
+	    				getImgUrlEnclosedInHtml(docNode.getImgURL()));
+	    		// JEditorPane does not understand <img />! So use only <img>
+	    	else {
+	    		String filename = menuItem.getText();
+	    		String filepath = client.getFilePath(docNode);
+	    		// for the latest exported greenstone colllections
+	    		// into fedora, Greenstone prefixes FG in front of image name...
+	    		htmlArea.setText(getImgUrlEnclosedInHtml(filepath+filename));
+	    	}
+				 
+	    	htmlArea.setCaretPosition(0);
+	    	popupMenu.removeAll();
+    	}
+    	
+    	/** Possibly a popupEvent */
+    	public void mouseReleased(MouseEvent e) {
+        	// for some reason the popup is visible in miniature, make it
+        	// invisible, then decide whether it needs to be shown again
+        	popupMenu.setVisible(false);
+        	maybeShowPopup(e);
+        }
+        
+    	/** Possibly a popupEvent */
+    	public void mousePressed(MouseEvent e) {
+    		maybeShowPopup(e);
+        }
+
+    	/** If the mouseEvent was a trigger (rightclick), displays the popup 
+    	 * context menu. */
+        protected void maybeShowPopup(MouseEvent e) {
+        	// For some reason e.isPopupTrigger() does not work. (Probably
+    		// because the rightclick sometimes happens on the tiny popup
+    		// which is visible but too small to see.)
+    		// The rightclick appears to only be registered on the popup:
+    		// and popup.isPopupTrigger(e) responds even when the popup 
+    		// is already visible
+        	if(popupMenu.isPopupTrigger(e)) {
+        		// remove old rightclick menu items
+        		popupMenu.removeAll();
+        		
+        		// get the closest node in the docStructureTree to that which
+        		// was rightclicked
+        		TreePath path = tree.getClosestPathForLocation(
+        				e.getX(), e.getY());
+        		// the following line will select this nearest node and trigger
+        		// TreeSelectionListener by calling valueChanged(), which will
+        		// retrieve the structure and display the metadata:
+        		(tree.getSelectionModel()).setSelectionPath(path);
+        		DefaultMutableTreeNode node 
+        			= (DefaultMutableTreeNode)path.getLastPathComponent();
+        		if(node.getUserObject() instanceof ClassifierNodeData) //
+	    			return; //
+        		DocumentNodeData docNode = (DocumentNodeData)node.getUserObject();
+        		// We need the root and the image url part of the metadata, so 
+	    		// ensure we have that:
+        		if(docNode.getRoot() == null) //
+        			client.retrieveTitledStructureFor(docNode); //
+        		
+        		Vector v = docNode.getAssociatedFileNames();
+        		if(v.size() > 0) { // there are associated files
+        			for(int i = 0; i < v.size(); i++) {
+        				Pair p = (Pair)v.get(i);
+        				JMenuItem menuItem 
+        					= new AssocFilePopupItem(docNode, p.first);
+        				popupMenu.add(menuItem);
+        			}
+        			popupMenu.show(e.getComponent(), e.getX(), e.getY());
+        		} else if(docNode.canBeImage()) { // add rightclick popup menu that will 
+        			// display image upon click
+        			JMenuItem menuItem = new AssocFilePopupItem(docNode, docNode.getImgName());
+        			popupMenu.add(menuItem);
+            		popupMenu.show(e.getComponent(), e.getX(), e.getY());
+        		}
+        	} 
+        }
+    }
+    
+    /** Static inner class MetadataComparator is a Comparator for the metadata 
+     * fields stored as a list of Pair objects (name, values). 
+     * We want to display them alphabetised, grouped by prefix (dls.title, dls.x;
+     * dc.title; dc.creator; greenstone's ex metadata does not have a prefix)
+     * and in order of alphabet BUT all those starting with capital letters come
+     * first, then come those starting with lowercase letters. 
+     * Those with prefixes come first of all. 
+     * @see http://java.sun.com/j2se/1.4.2/docs/api/java/util/Comparator.html
+     * Comparators can be passed to a sort method (such as Collections.sort) to 
+     * allow precise control over the sort order. Comparators can also be used to 
+     * control the order of certain data structures (such as TreeSet or TreeMap). */
+	public static class MetadataComparator implements Comparator {
+		 public int compare(Object nodeID1, Object nodeID2) {
+			 if(nodeID1 == null && nodeID2 == null)
+				 return 0;
+			 if(nodeID1 == null)
+				return 1;
+			 if(nodeID2 == null)
+				return -1;
+			 
+			 String metaName1 = ((Pair)nodeID1).first;
+			 String metaName2 = ((Pair)nodeID2).first;
+			 
+			 if(metaName1.equals(metaName2))
+				 return 0; // same
+			 
+			 if(metaName1.indexOf('.') != -1 && metaName2.indexOf('.') == -1)
+				 return -1; // only c1 has a period, so c1 comes before c2
+			 if(metaName2.indexOf('.') != -1 && metaName1.indexOf('.') == -1)
+				 return 1; // only c2 has a period, so c2 comes before c1
+			 
+			 // we're going to inspect the first letters, so store these
+			 char c1 = metaName1.charAt(0);
+			 char c2 = metaName2.charAt(0);
+			 
+			 if(Character.isUpperCase(c1) && Character.isLowerCase(c2))
+				 return -1; // only c1 starts with uppercase, so c1 comes before c2
+			 if(Character.isUpperCase(c2) && Character.isLowerCase(c1))
+				 return 1; // only c2 starts with uppercase, so c2 comes before c1
+			
+			 // we want metadatanames like "/srclink" to come at the end, because
+			 // they don't start with a letter
+			 if(!Character.isLetter(c2) && Character.isLetter(c1))
+				 return -1; // if c2 starts with some strange character, 
+			 				// c1 comes before c2 in the ordering
+			 if(!Character.isLetter(c1) && Character.isLetter(c2))
+				 return 1; // if c1 starts with some strange character, 
+			 				// c2 comes before c1 in the ordering 
+			 
+			 // otherwise, all else being equal (both start with 
+			 // uppercase/lowercase or both contain/don't contain periods or 
+			 // both start with/don't start with letters): so sort them in  
+			 // alphabetic order.
+			 return metaName1.compareTo(metaName2);	 
+		 }
+		 
+		 //public boolean equals(Object obj) {
+			// return obj.equals(this);
+		 //}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GS3JavaClient.java	(revision 15317)
@@ -0,0 +1,1066 @@
+/**
+ *#########################################################################
+ * GS3JavaClient.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client;
+
+//By importing this *static* inner class of CollectionData, can refer
+//to it by its unqualified name 'ServiceData'. (Learnt this from
+//http://today.java.net/pub/a/today/2006/03/23/multi-split-pane.html) 
+import org.apache.log4j.Logger;
+import org.apache.log4j.PropertyConfigurator;
+import org.greenstone.gs3client.BrowseDisplay.ClassifierData;
+
+import org.greenstone.gs3client.data.BrowseResponseData;
+import org.greenstone.gs3client.data.CollectionData;
+import org.greenstone.gs3client.data.DocumentNodeData;
+import org.greenstone.gs3client.data.ClassifierNodeData;
+import org.greenstone.gs3client.data.NodeData;
+import org.greenstone.gs3client.data.ParseUtil;
+import org.greenstone.gs3client.data.QueryResponseData;
+import org.greenstone.gs3client.data.ResponseData;
+import org.greenstone.gs3client.data.CollectionData.ServiceData;
+import org.greenstone.gs3client.dlservices.DigitalLibraryServicesAPIA;
+import org.greenstone.gs3client.dlservices.FedoraServicesAPIA;
+import org.greenstone.gs3client.dlservices.GS3ServicesAPIA;
+
+import javax.swing.*; 
+import java.awt.BorderLayout;
+import java.awt.GridLayout;
+import java.awt.FlowLayout;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.awt.Container;
+import java.awt.Toolkit; // for making this JFrame client fullsize
+
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import java.util.Vector;
+import java.util.HashMap;
+
+import java.io.StringReader;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+import org.xml.sax.InputSource;
+
+import org.greenstone.gsdl3.util.GSXML;
+import java.awt.Cursor;
+
+/*
+ To make this class compile with Java 5/Java 1.5 need to rename the file 
+ xalan.jar.tmp (located in $GS3_HOME/web/WEB-INF/lib) to xalan.jar
+ Without doing that, it will complain (unless compiled with Java 1.4.2).
+  
+ RUNTIME Configuration of this class: 
+ 	- this client needs the jar files:
+		log4j, xercesImpl, mail, lucene, javagdbm,
+		And possibly: xml-apis, activation, axis, mg, mgpp
+	- VM arguments: -Djava.library.path=/research/ak19/greenstone3/lib/jni
+	
+ COMPILE Configuration of this class:
+ 	- BUILD PATH needs the jar files: 
+ 		gsdl3 (or just the class GSXML), jaxrpc, axis	
+ */
+/**
+ * The main Javaclient class. Creates the main window containing:
+ * - the radio button group for making either Greenstone 3 or Fedora the active DL.
+ * - the comboboxes for selecting the collection and the service therein   
+ * - three panes - for executing queries, viewing search results and browsing.
+ * @author ak19
+*/
+public class GS3JavaClient extends JFrame implements ActionListener {
+	//	static final long serialVersionUID = 1; //eclipse keeps warning
+	/** The Logger for this class */
+	static Logger LOG = Logger.getLogger(GS3JavaClient.class);
+	
+	/** The value of the SEARCHING activity */
+	public static int SEARCHING = 0;
+	/** The value of the BROWSING activity */
+	public static int BROWSING = 1;
+	/** we want to display a drop-down box for the services available,
+	 * but only Services that can be executed (searching and browsing) */
+	protected static final boolean executableServicesOnly = true;
+	
+	/** To keep track of whether we are searching or browsing.
+	 * Value of activity can be SEARCHING OR BROWSING */
+	protected int activity = 0; //
+
+	/** Reference to a digital library instance (Greenstone 3 or Fedora) that 
+	 * allows this client to execute services offered by the digital library */
+	protected DigitalLibraryServicesAPIA dlAPIA = null;
+	/** Reference to the object that interacts with Greenstone3's web services */
+	protected GS3ServicesAPIA greenstoneDL = null;
+	/** Reference to the object that interacts with the FedoraGS3.jar component */
+	protected FedoraServicesAPIA fedoraDL = null;
+	
+	/** Object that stores the data of a query response XML message */
+	protected QueryResponseData queryResponseObj = null;
+	
+	/** Object that stores the data of a browse response XML message 
+	 * (response for classification hierarchies) */
+	protected BrowseResponseData browseResponseObject = null;
+	
+	/** Preferred language of display items in responses. 
+	 * "" or "en" for English */
+	protected String lang = ""; 
+	
+	/** The currently selected collection */
+	protected String colName = "";
+	/** The currently selected service */
+	protected String serviceName = ""; 
+		
+	/* The always-visible GUI objects of this main window */
+	protected JComboBox dlChooser = null;
+	protected JTextField proxyhostField = null;
+	protected JTextField proxyportField = null;
+	protected JTextField nonProxyHostNamesField = null;
+	protected JButton setProxySettings = null;
+	
+	protected JComboBox serviceBox = null;
+	protected JComboBox collBox = null;
+	protected JButton collInfoButton = null;
+	protected JButton searchButton = null;
+	protected JTabbedPane tabbedPane = null;	
+		
+	protected static final int SELECT = 0;
+	protected static final int GREENSTONE = 1;
+	protected static final int FEDORA = 2;
+	protected static final String[] dlOptions = {"select", "greenstone", "fedora"};
+	
+	/* Components of the query tab */
+	protected QueryForm queryPanel = null;
+	protected JTextField collectionNameField = null;
+	
+	/* Components of the search tab */
+	protected SearchResultsDisplay searchResultsDisplay = null;
+	protected JPanel searchPanel = null;
+	protected JTextArea searchSummary = null;
+	
+	/* Components of the browse tab */
+	protected BrowseDisplay browsePanel = null;
+	
+	/** @return the language of the display items */
+	public String getLanguage() { return lang; }
+	/** Set the preferred language of the display items 
+	 * @param lang - the preferred language for display values */
+	public void setLanguage(String lang) { this.lang = lang; }
+
+	/** Inner class that handles authentication for any sites (urls, etc.) 
+	 * that require it. A dialog pops up to request username and password 
+	 * details from the user for each site's realm that needs authentication.
+	*/
+	static class PasswordAuthenticator extends Authenticator {
+		protected PasswordAuthentication getPasswordAuthentication() {
+	      JTextField username = new JTextField();
+	      JTextField password = new JPasswordField();
+	      JPanel panel = new JPanel(new GridLayout(2,2));
+	      panel.add(new JLabel("User Name"));
+	      panel.add(username);
+	      panel.add(new JLabel("Password") );
+	      panel.add(password);
+	      int option = JOptionPane.showConfirmDialog(null, new Object[] {
+	                   "Site: "+getRequestingHost(),
+	                   "Realm: "+getRequestingPrompt(), panel},
+	                   "Enter Network Password",
+	                   JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
+	      if ( option == JOptionPane.OK_OPTION ) {
+	         return new PasswordAuthentication(
+	        		 username.getText(), password.getText().toCharArray());
+	      } else {
+	         return null;
+	      }
+		}
+	}
+	
+	/** Default constructor that creates and initialises this main
+	 * window and its internal GUI components */
+	public GS3JavaClient() {
+		super();
+		this.setTitle("Greenstone 3 web services demo-client");
+		
+		// digital library panel lets the user choose the digital library
+		// repository to access and to set the proxy settings
+		JPanel dlPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+		dlChooser = new JComboBox(dlOptions);
+		dlPanel.add(new JLabel("Use digital library:"));
+		dlPanel.add(dlChooser);
+		dlChooser.addActionListener(this);
+		dlPanel.setBorder(BorderFactory.createTitledBorder(
+			"Digital library settings"));
+		
+		this.proxyhostField = new JTextField(15);
+		this.proxyportField = new JTextField(4);
+		this.nonProxyHostNamesField = new JTextField(20);
+		this.setProxySettings = new JButton("Set");
+		nonProxyHostNamesField.setToolTipText("The hosts for which no proxies are required " 
+				+ "(separate hosts with |, * wildcard allowed)");
+		JPanel topProxyPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+		topProxyPanel.add(new JLabel("Proxy host:"));
+		topProxyPanel.add(proxyhostField);
+		topProxyPanel.add(new JLabel("Proxy port:"));
+		topProxyPanel.add(proxyportField);
+		JPanel bottomProxyPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+		bottomProxyPanel.add(new JLabel("No proxy for:"));
+		bottomProxyPanel.add(nonProxyHostNamesField);
+		bottomProxyPanel.add(setProxySettings);
+		setProxySettings.addActionListener(this);
+		JPanel proxyPanel = new JPanel(new BorderLayout());
+		proxyPanel.add(topProxyPanel, BorderLayout.CENTER);
+		proxyPanel.add(bottomProxyPanel, BorderLayout.SOUTH);
+		proxyPanel.setBorder(BorderFactory.createTitledBorder(
+			"Connection settings"));
+		
+		// Add the dlPanel and proxyPanel next to each other at the top
+		JPanel topPanel = new JPanel(new BorderLayout());
+		topPanel.add(dlPanel, BorderLayout.CENTER);
+		topPanel.add(proxyPanel, BorderLayout.EAST);
+		
+		// Setting up the GUI of this client
+		// create a JComboBox, and an item in it for each collection
+		collBox = new JComboBox();
+		serviceBox = new JComboBox();
+				
+		JPanel collPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+		collPanel.add(new JLabel("Choose collection:"));
+		collPanel.add(collBox);
+		// displayName
+		collPanel.add(new JLabel("Full name:"));
+		collectionNameField = new JTextField(18);
+		collectionNameField.setEditable(false);
+		collectionNameField.setCaretPosition(0);
+		collPanel.add(collectionNameField);
+		// detailed information button, shows collection's description
+		collInfoButton = new JButton("Info");
+		collInfoButton.addActionListener(this);
+		collPanel.add(collInfoButton);
+						
+		JPanel servicePanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+		servicePanel.add(new JLabel("Available services:"));
+		servicePanel.add(serviceBox);
+		
+		JPanel collServicesPanel = new JPanel(new BorderLayout());
+		collServicesPanel.add(collPanel, BorderLayout.NORTH);
+		collServicesPanel.add(servicePanel, BorderLayout.SOUTH);
+				
+		tabbedPane = new JTabbedPane(); // tabs on top
+		queryPanel = new QueryForm(this); 
+		tabbedPane.add("Query", queryPanel); 
+		searchResultsDisplay = new SearchResultsDisplay(this);
+		searchResultsDisplay.setOpaque(true); //necessary for JTree
+		
+		JScrollPane searchView = new JScrollPane(searchResultsDisplay);
+		searchSummary = new JTextArea();
+		searchSummary.setEditable(false);
+				
+		searchPanel = new JPanel(new BorderLayout());
+		searchPanel.add(searchView, BorderLayout.CENTER);
+		searchPanel.add(searchSummary, BorderLayout.NORTH);
+		tabbedPane.add("Search Results", searchPanel); 
+		
+		JPanel activityPanel = new JPanel(new BorderLayout());
+		activityPanel.add(collServicesPanel, BorderLayout.NORTH);
+		activityPanel.add(tabbedPane, BorderLayout.CENTER);
+		
+		Container c = this.getContentPane();
+		c.setLayout(new BorderLayout()); // new BoxLayout(c, BoxLayout.Y_AXIS));
+		c.add(topPanel, BorderLayout.NORTH);
+		c.add(activityPanel, BorderLayout.CENTER);
+		
+		// browse panel
+		browsePanel = new BrowseDisplay(this);
+		tabbedPane.add("Browse", browsePanel);
+		
+		// add actionlisteners
+		collBox.addActionListener(this);
+		serviceBox.addActionListener(this);	
+		
+		// GUI DONE, now instantiate the DATA and DIGITAL LIBRARY objects
+		// instantiate the objects that deal with storing query response data
+		// and browse response data
+		queryResponseObj = new QueryResponseData();
+		browseResponseObject = new BrowseResponseData();
+				
+    	// The java.net.Authenticator can be used to send user credentials 
+    	// when needed. When no username/password are provided then a popup 
+    	// is shown to ask for the credentials. *Only* when a site/realm 
+    	// requires password and username does the Authenticator show the 
+    	// dialog. For example, the dialog will appear when pwd & username
+		// are needed for proxy authorisation.
+    	Authenticator.setDefault(new PasswordAuthenticator());
+    	
+		changeDL(null); // no dl selected
+
+		// Set the selection colours that will be uniform for all DLs
+		UIManager.put("Tree.textBackground", ColourCombo.transparent);
+			// Instead of the white tree text background, set it to transparent
+		UIManager.put("Tree.selectionBackground", ColourCombo.yellow);
+		UIManager.put("TabbedPane.selected", ColourCombo.yellow);
+		UIManager.put("TabbedPane.selected", ColourCombo.yellow);
+		UIManager.put("ComboBox.selectionBackground", ColourCombo.yellow);
+		UIManager.put("List.selectionBackground", ColourCombo.yellow);
+		UIManager.put("TextArea.selectionBackground", ColourCombo.yellow);
+		UIManager.put("TextField.selectionBackground", ColourCombo.yellow);
+		// force the UI to load these new UIManager defaults
+		javax.swing.SwingUtilities.updateComponentTreeUI(this);
+			// We can't change the UIManager defaults (properly) throughout GUI 
+			// display-time, only upon creation and first display. This is 
+			// because updateComponentTreeUI() has no effect once components  
+			// have been displayed. For this reason, the various changeUIColor() 
+			// methods and class ColourCombo have been written.
+	}
+
+	/** Attempts to establish a connection to GS3 Web services and instantiate  
+	 * a GS3ServicesAPIA object and store it in the member variable greenstoneDL. 
+	 * If it was unsuccessful, then this variable remains at null and an error 
+	 * message is displayed. */
+	protected boolean createGreenstoneDLConnection()
+	{
+		// store the old choice of dl, if there was any
+		int oldSetting = (dlAPIA == null) ? SELECT : FEDORA;
+		// try instantiating a GS3 dl handle
+		try {
+			greenstoneDL = new GS3ServicesAPIA();
+			return true; // success
+		} catch(DigitalLibraryServicesAPIA.CancelException e){
+			// The user pressed cancel in the gs3 services instantiation dialog
+			// Set the dl drop-down list option back to whatever it was
+		} catch(Exception e) {
+			// still unable to instantiate greenstone, but show
+			// the error for what went wrong
+			JOptionPane.showMessageDialog(
+				null,
+				"Error connecting to Greenstone 3 web services.\n" 
+					+ "When attempting to process its wsdl file,\n"
+					+ "encountered the problem:\n" 
+					+ e,
+				"Fatal error instantiating GS3WebServicesInterface. Exiting...", 
+				JOptionPane.ERROR_MESSAGE
+			);
+			//e.printStackTrace(System.err);
+			LOG.error("Error connecting to Greenstone 3 web services:\n" + e);
+		} 
+		// We'd be here if an exception occurred. Need to back to the old dl 
+		// settings
+		dlChooser.setSelectedIndex(oldSetting);
+		return false;
+	}
+	
+	/** Attempts to establish a connection to FedoraGS3.jar and instantiate  
+	 * a FedoraServicesAPIA object and store it in the member variable fedoraDL. 
+	 * If it was unsuccessful, then this variable remains at null and an error 
+	 * message is displayed. */
+	protected boolean createFedoraDLConnection() 
+	{
+		// store the old choice of dl, if there was any
+		int oldSetting = oldSetting = (dlAPIA == null) ? SELECT : GREENSTONE;
+		// Try to instantiate a Fedora dl handle
+		try {
+			fedoraDL = new FedoraServicesAPIA();
+			return true; // success
+		} catch(
+			org.greenstone.fedora.services.FedoraGS3Exception.CancelledException e)
+		{
+			// The user pressed cancel in the fedora services instantiation dlg
+			// Set the dl drop-down list option back to whatever it was
+		} catch(Exception e) {
+			JOptionPane.showMessageDialog(
+				null,
+				"Error instantiating the interface to the Fedora Repository\n"+ e,
+				"Unable to connect to Fedora's digital library services.", 
+				JOptionPane.ERROR_MESSAGE
+			);
+			//e.printStackTrace(System.err);
+			LOG.error(
+				"Error instantiating the interface to the Fedora Repository:\n"+ e);
+		} 
+		// We'd be here if an exception occurred. Need to go back to the old dl 
+		// settings
+		dlChooser.setSelectedIndex(oldSetting);
+		return false;		
+	}
+	
+	/** Method that is called when the user chooses to change the  active
+	 * digital library (between Greenstone3 and Fedora).
+	 * @param dl is the new active digital library (the  
+	 * DigitalLibraryServicesAPIA object to change to). */
+	protected void changeDL(DigitalLibraryServicesAPIA dl) {
+		// change the colour of the interface
+		this.changeUIColour(dlChooser.getSelectedIndex());
+		
+		// clear up remnants of previously selected digital library's
+		// processing
+		browsePanel.clear();
+		searchResultsDisplay.clear();
+		this.searchSummary.setText("");
+		browseResponseObject.clear();
+		queryResponseObj.clear();
+		
+		// set current digital library to selected one 
+		dlAPIA = dl;
+	
+		if(dlAPIA == null) { 
+			// clear some panels so the user can't do anything 
+			this.queryPanel.clear();
+			collBox.removeAllItems();
+			collBox.setEnabled(false);
+			serviceBox.removeAllItems();
+			serviceBox.setEnabled(false);
+			this.collectionNameField.setText("");
+			this.collInfoButton.setEnabled(false);
+			return; 
+		} 
+				
+		// start retrieving the information related to the chosen dl
+		String response = dlAPIA.describe();
+		if(response == null) {
+			LOG.error("Error: no response from dlAPIA.describe() of " 
+				+ dlAPIA.getDisplayName());
+			System.exit(1);
+		}		
+		
+		Element responseXML = getResponseAsDOM(
+				"DESCRIBE RESPONSE:\n", response);
+		
+		// Get the collectionList element of the response 
+		// from the default messageRouter-describe: 
+		Element collectionList = ParseUtil.getFirstDescElementCalled(
+			responseXML, // (<message>, "collectionList")  
+			GSXML.COLLECTION_ELEM+GSXML.LIST_MODIFIER
+		); 
+		if(collectionList == null)
+			LOG.error("collectionList is null!");
+		
+		// Next, create a CollectionData object for each collection using
+		// its name
+		CollectionData[] collData = null;
+		Vector v = ParseUtil.getAllChildElementsCalled(collectionList, 
+			GSXML.COLLECTION_ELEM); // (<collectionList>, "collection")
+		if(v == null)
+			LOG.error("collections are null!");
+		
+		if(v != null) {
+			StringBuffer buf = new StringBuffer("Collections:\n"); 
+			collData = new CollectionData[v.size()];
+			for(int i = 0; i < v.size(); i++){
+				collData[i] = new CollectionData((Element)v.get(i));
+				buf.append(collData[i].name + ", ");
+			}
+		}
+		
+		// Now send a describe request to each collection
+		// And set the fields for each collData using the response
+		for(int i = 0; i < collData.length; i++){
+			response = dlAPIA.describeCollection(collData[i].name);
+			responseXML = getResponseAsDOM(
+				"describeCollection "+collData[i].name+":", response);
+			Element collectionTag = ParseUtil.getFirstDescElementCalled(
+					responseXML, GSXML.COLLECTION_ELEM);
+			
+			// set the other fields of the CollectionData object using
+			// the collectionTag of the response from Collection-describe:
+			collData[i].setFields(collectionTag);
+		}
+		
+		if(collData == null) { 
+			LOG.debug("No collections in the chosen repository");
+			return;
+		} else {
+			this.collInfoButton.setEnabled(true);
+			collBox.setEnabled(true);
+			serviceBox.setEnabled(true);
+		}
+		
+		// fill in the combobox containing the collections and the one 
+		// containing the services
+		collBox.removeAllItems();
+		for(int i = 0; i < collData.length; i++)
+			collBox.addItem(collData[i]);
+		collBox.setSelectedItem(collData[0]);
+		
+		this.serviceBox.removeAllItems();
+		ServiceData[] serviceData =  collData[0].getServiceList(
+				executableServicesOnly);
+		for(int i = 0; i < serviceData.length; i++)
+			serviceBox.addItem(serviceData[i]);
+		serviceBox.setSelectedIndex(0); // whichever might be the first
+	}
+		
+	/** Given an XML response string, returns the root document (element) 
+	 * representing its DOM form. 
+	 * @param response - the XML response string to be converted into
+	 * its DOM form
+	 * @return the response as an XML DOM Element */
+	protected Element getResponseAsDOM(String debugPrefix, String response) {
+		if(response == null) // will not be the case, because an empty  
+			return null;     // response message will be sent instead
+		
+		// First let's print out the response to the LOG
+		// Note that the response is XML and will start on new line already
+		LOG.debug(debugPrefix + response);
+		// The following line when uncommented will output all response
+		// msgs coming back from the web services
+		//System.out.println(debugPrefix + response);
+				
+		// At present, assuming response is okay - later need to first look
+		// for element <error> and process this meaningfully before returning
+		// XML DOM version of response. Example error:
+		// <message>
+		//	<response from="infomine/TextQuery" type="process">
+		//		<documentNodeList />
+		//			<error type="other">IOException during connection to http://infominehelper.ucr.edu/cgi-bin/canned_search?theme=gsdl3&amp;query=water&amp;fields=kw,au,su,ti,de,fu,&amp;no_of_records_per_page=10&amp;start_page_no=1: java.net.ConnectException: Connection refused</error>
+		//	</response>
+		// </message>
+		
+		Element message = null;		
+		try{
+			// turn the String xml response into a DOM tree:	
+			DocumentBuilder builder 
+				= DocumentBuilderFactory.newInstance().newDocumentBuilder();
+			Document doc 
+				= builder.parse(new InputSource(new StringReader(response)));
+			message = doc.getDocumentElement();
+		} catch(Exception e){
+			if(response == null) {
+				response = "";
+			}
+			JOptionPane.showMessageDialog(this, 
+					"An error occurred while trying to parse the response:\n" 
+					+ response 
+					+ "\nException message:\n" + e.getMessage(),
+					"Parse error", JOptionPane.ERROR_MESSAGE);
+			e.printStackTrace();
+		}
+		
+		NodeList errorList = message.getElementsByTagName(GSXML.ERROR_ELEM);
+		if(errorList.getLength() == 0)
+			return message;
+		
+		// else we have one (or more?) error(s):
+		Element error = (Element)errorList.item(0);
+		String errorMessage = ParseUtil.getBodyTextValue(error);
+		String errorType = error.getAttribute("type");
+		
+		// no need to display error message if it was a query that was
+		// just executed and no results were found
+		if(//errorType.equals(GSXML.ERROR_TYPE_SYNTAX) &&
+			errorMessage.toLowerCase().indexOf("no documentnode found") != -1) 
+		{
+			// if we're in here, we know that a search/query was performed
+			// That means we are dealing with the searchResultsDisplay
+			// and can clear it.
+			this.searchResultsDisplay.clear();
+			this.searchSummary.setText("");
+		}
+		else { // display error message
+			// number of letters per line
+			final int numLetters = 40; 
+			String[] words = errorMessage.split(" "); //get the individual words
+			String line = words[0];
+			errorMessage = "";
+			// go through all the words and build up lines where none is 
+			// longer than the specified number of letters
+			for(int i = 1; i < words.length; i++) { // append the word
+				// and a space to the same line unless the line is too long
+				if(numLetters > line.length() + words[i].length()) {
+					if(line.equals(""))
+						line = words[i];
+					else line = line + " " + words[i]; 
+					
+					// check if line is full after adding new word
+					if(line.length() == numLetters) { // finish the line
+						errorMessage = errorMessage + line + "\n";
+						line = "";
+					}
+				} // else the word has to go on the next line
+				else { //finish the line and move on:
+					errorMessage = errorMessage + line + "\n";
+					line = words[i];
+				}
+			}
+			LOG.debug("errorMessage:\n" + errorMessage);
+			
+			JOptionPane.showMessageDialog(this, errorMessage, "Error: "+errorType,
+					JOptionPane.ERROR_MESSAGE);
+		}
+		return message;
+	}
+	
+	/** Event handler for actionEvents such as a change in the active digital 
+	 * library, a collection being selected in the dropdown box or the collection
+	 * -Info button being pressed, or a service being selected in the service
+	 * dropdown box (browsing or searching). */
+	public void actionPerformed(ActionEvent e) {
+		if(e.getSource() == dlChooser) {
+			// We need to change to a Wait cursor while we do the switch
+			Container c = this.getContentPane();
+			c.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+			
+			boolean success = true;
+			// Change the dlAPIA handle to the chosen digital library,
+			// instantiating DigitalLibraryServicesAPIA objects when necessary: 
+			// if they haven't yet been created
+			switch(dlChooser.getSelectedIndex()) 
+			{
+				case GREENSTONE:
+					if(this.greenstoneDL == null) {
+						success = createGreenstoneDLConnection();
+					}
+					// no need to do anything if the user chose
+					// the same DL again
+					if(success && dlAPIA!=this.greenstoneDL) {
+						// current DL not already set to greenstoneDL
+						// so set it
+						this.changeDL(greenstoneDL);
+					}
+					break;
+				case FEDORA:
+					if(this.fedoraDL == null) {
+						success = createFedoraDLConnection();
+					}
+					// no need to do anything if the user chose
+					// the same DL again
+					if(success && dlAPIA!=this.fedoraDL) {
+						// current DL not already set to fedoraDL
+						// so set it
+						this.changeDL(fedoraDL);
+					}
+					break;
+				case SELECT:
+				default:
+					this.changeDL(null); // no dl, so default colours
+					break;
+			}
+			// set the cursor back
+			c.setCursor(Cursor.getDefaultCursor());
+		} else if(e.getSource() == collBox) {
+			CollectionData collDataEl 
+				= (CollectionData)collBox.getSelectedItem();
+			
+			if(collDataEl == null) // need to check for this here, because
+				return; // removing all items from collBox fires actionPerformed
+			
+			// display the collection's full name
+			this.collectionNameField.setText(collDataEl.getDisplayName());
+			this.collectionNameField.setCaretPosition(0);
+			
+			// display the services in the selected collection
+			serviceBox.removeAllItems();
+			ServiceData[] servicelist = collDataEl.getServiceList(
+					executableServicesOnly);
+			for(int i = 0; i < servicelist.length; i++)
+				serviceBox.addItem(servicelist[i]);
+			
+		} else if(e.getSource() == serviceBox) {
+			ServiceData selService = (ServiceData)serviceBox.getSelectedItem();
+			if(selService == null || selService.type == null)
+				return; // nothing valid chosen
+			
+			if(selService.type.equals(GSXML.SERVICE_TYPE_QUERY)) {
+				// Make sure we can't accidentally work with already deallocated
+				// data objects in the browsePanel
+				browsePanel.clear();
+				searchSummary.setText(""); // empty any text in the search summary
+				
+				this.activity = SEARCHING; 	// ensures the components are 
+					// displayed and shown again, whereas a call to repaint()
+					// did not do the trick
+				
+				tabbedPane.setSelectedComponent(this.queryPanel);
+				
+				// send off a describe request to the service 
+				// in that collection
+				CollectionData selColl 
+					= (CollectionData)collBox.getSelectedItem();
+				colName = selColl.name;
+				serviceName = selService.name;
+				
+				String response = dlAPIA.describeCollectionService(
+						colName, serviceName);
+				Element serviceResponseXML = getResponseAsDOM(
+					"DescribeCollectionService "+colName+"/"+serviceName,
+					response);
+				
+				// generate the appropriate query form as per how the
+				// query has described itself
+				queryPanel.formFromQueryServiceDescribe(serviceResponseXML);
+			} else if(selService.type.equals(GSXML.SERVICE_TYPE_BROWSE)) {
+				LOG.debug("Browse option chosen");
+				this.searchResultsDisplay.clear();
+				this.searchSummary.setText("");
+				this.queryPanel.clear(); // can't do any searching either
+				this.activity = BROWSING;
+				tabbedPane.setSelectedComponent(this.browsePanel);
+								
+				CollectionData selColl 
+					= (CollectionData)collBox.getSelectedItem();
+				colName = selColl.name;
+				serviceName = selService.name;
+				
+				// first send a request for the browse service's metadata
+				// see manual pp.37 and 48
+				String response = dlAPIA.describeCollectionService(
+						colName, serviceName);
+				Element responseMsg = getResponseAsDOM(
+						colName+"/"+serviceName+":", response);
+				browsePanel.displayBrowseOptions(responseMsg);
+			} else { // clicked on non-query, non-browse option, remove form 
+				queryPanel.clear();
+			}
+		} else if(e.getSource() == collInfoButton){
+			CollectionData collDataEl 
+				= (CollectionData)collBox.getSelectedItem();
+			
+			// Create the HTML viewing pane.
+			JEditorPane information = new JEditorPane();
+			information.setEditable(false);
+	        information.setContentType("text/html");
+			information.setText(collDataEl.info());
+			
+			// Display the dialog with the information in a scrollpane
+			JDialog dialog = new JDialog(this, collDataEl.toString());
+			dialog.getContentPane().add(new JScrollPane(information));
+			dialog.setDefaultCloseOperation(DISPOSE_ON_CLOSE); // not EXIT!
+			dialog.pack();
+			dialog.setSize(400, 300);
+			dialog.setVisible(true);
+		}
+		else if(e.getSource() == setProxySettings) { // proxy settings button
+			// Sthe proxy settings as given in the fields
+			String proxyHost = this.proxyhostField.getText();
+			String proxyPort = this.proxyportField.getText();
+	    	if(proxyHost.equals("") && proxyPort.equals("")) {
+	    		return;
+	    	} else {
+		    	// Handle proxy settings
+	    		// (don't need to write to propertiesFile, since proxy 
+	    		// settings are System properties)
+				java.util.Properties systemSettings = System.getProperties();
+		    	systemSettings.put("http.proxyHost", proxyHost);
+		    	systemSettings.put("http.proxyPort", proxyPort);
+		    	// give the hosts for which no proxies are required:
+		    	systemSettings.put("http.nonProxyHosts", 
+		    			this.nonProxyHostNamesField.getText()); 
+		    	System.setProperties(systemSettings);
+	    	}
+		} 
+	}
+	
+	/** Called by the instance of the QueryForm class when the user has 
+	 * pressed the queryPanel's search button to execute a query. Based on 
+	 * the user-entered values (stored in the parameter HashMap) this 
+	 * method will call Greenstone to process the query. 
+	 * @param nameValParamsMap - the query form control names with the values
+	 * the user has entered for them. Example, the pair (fqv, the query string),
+	 * where fqv is the form control name for the query term. */
+	public void performSearch(HashMap nameValParamsMap) {
+		//Container c = this.getContentPane();
+		//c.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		
+		// (1) Now let's process this query request - passing the
+		// currently selected collection and service:
+		String responseXML = dlAPIA.query(
+			colName, serviceName, nameValParamsMap);
+		
+		// (2) The search results: document identifiers are returned, 
+		// use these to construct a QueryResponseData object
+		Element responseMessage
+			= getResponseAsDOM("Search response:", responseXML);
+		queryResponseObj.setResponseData(responseMessage);
+		LOG.debug(queryResponseObj);
+		
+		DocumentNodeData[] doclist = queryResponseObj.getDocumentNodeList();
+		
+		// (3) To retrieve Title metadata, need to call with "Title"!!!!
+		// (1st letter in caps)
+		// Retrieving just metadata name=Title for ALL docs (=all docIDs)  
+		String metaResponseXML = dlAPIA.retrieveTitleMetadata(this.colName,  
+				queryResponseObj.getDocumentNodeIDs());
+		Element metaResponse 
+			= getResponseAsDOM("Meta response:", metaResponseXML);
+		queryResponseObj.setMetadataForDocuments(metaResponse);
+		
+		// doclist should now have been updated with title metadata for 
+		// each doc (docNode)
+		//for(int i = 0; i < doclist.length; i++)
+			//LOG.debug(doclist[i].show());
+		
+		// (4) Display this in the search results TreeView
+		tabbedPane.setSelectedComponent(searchPanel);
+		searchResultsDisplay.setResults(doclist);
+		searchSummary.setText(queryResponseObj.toString());
+		searchResultsDisplay.validate();
+		this.searchPanel.validate();
+		this.searchPanel.repaint();
+		
+		// set the cursor back
+		//c.setCursor(Cursor.getDefaultCursor());
+		this.setCursor(Cursor.getDefaultCursor());
+	}
+	
+	
+	/* SEARCH RELATED METHODS */
+	/** Performs a docMetadataRetrieve message request for the docNode 
+	 * iff the metadata for that docNode is not already set. 
+	 * @param docNode is the DocumentNodeData object for which all the
+	 * metadata is to be retrieved. */
+	public void retrieveAllMetadataFor(DocumentNodeData docNode) {
+		// Lazy retrieval: only retrieve metadata of docNode when required 
+		// and if metadata not already set
+		if(docNode.getMetadataList() == null 
+				|| docNode.getMetadataList().size() <= 1) 
+		{ 	// not set yet or only title set, 
+			// so do a docMetadataRetrieve for the docNode (all
+			// metadata fields retrieved):
+			String metaResponseXML = dlAPIA.retrieveDocumentMetadata(
+				this.colName, new String[] { docNode.nodeID });
+			Element metaResponse 
+				= getResponseAsDOM("Meta response", metaResponseXML);
+			
+			// Set the metadata for the docNode
+			if(this.activity == SEARCHING)
+				queryResponseObj.setMetadataForDocuments(metaResponse);
+			else if(this.activity == BROWSING)
+				browseResponseObject.setMetadataForDocuments(metaResponse);
+		} //else docNode's list of metadata already set
+	}
+	
+	/** Performs a docMetadataRetrieve message request for the docNode 
+	 * iff the nodeContent for that docNode is not already set. 
+	 * @param docNode is the DocumentNodeData object for which the content 
+	 * is to be retrieved. */
+	public void retrieveContentFor(DocumentNodeData docNode) {
+		// Lazy retrieval: only retrieve content when required.
+		// If it is not yet set, then we do the retrieval, else 
+		// our work here is done
+		if(docNode.getContent() == null) { // not set yet, so
+			// retrieve the content for the docNode
+			String contentResponseXML = dlAPIA.retrieveDocumentContent(
+					this.colName, new String[] { docNode.nodeID });
+			Element contentResponse = getResponseAsDOM(
+					"Content response:", contentResponseXML);
+									// probably when infomine is down
+			// Set the content for the docNode
+			if(this.activity==SEARCHING)
+				queryResponseObj.setContentForDocs(contentResponse);
+			else if(this.activity==BROWSING)
+				browseResponseObject.setContentForDocs(contentResponse);
+		}
+	}
+	
+	/** Performs a structureRetrieve and title metadata retrieve message- 
+	 * request for the docNode, but only iff the structure and title for  
+	 * that docNode is not already set. 
+	 * @param docNode is the DocumentNodeData object for which the title 
+	 * is to be retrieved along with the titles of all its descendants. */
+	public void retrieveTitledStructureFor(DocumentNodeData docNode) {
+		DocumentNodeData root = docNode.getRoot();
+		if(root == null) { //then its structure has not yet been set
+			// do a structure retrieve for this document:
+			String structureResponseXML = dlAPIA.retrieveDocumentStructure(
+					this.colName, new String[] { docNode.nodeID });
+			Element structureResponse = getResponseAsDOM(
+					"STRUCTURE: ", structureResponseXML);
+			
+			// Get the nodeStructure of this docNode, find its root and 
+			// from there set all the descendents
+			// Instead of the following 2 statements can also do:
+			// queryResponseObj.setStructureForDocs(structureResponse);
+			
+			Element nodeStructure = ParseUtil.getFirstDescElementCalled(
+					structureResponse, GSXML.NODE_STRUCTURE_ELEM);
+			
+			// now we set the root and its descendents using whatever
+			ResponseData responseObject = browseResponseObject; 
+					// true if(this.activity == BROWSING)
+			if(this.activity == SEARCHING)
+				responseObject = queryResponseObj;
+				
+			root = docNode.setDescendentsOfRootNode(nodeStructure, 
+					responseObject.getIDToNodeMapping());
+
+			// Now get only the DocumentNodeData elements in the root's 
+			// descendents whose titles have not yet been set
+			String[] setTitleForTheseNodeIDs = root.getDescNodeIDsAsList(true);
+			// Will be null if all titles already set! But this should not be
+			// the case if we have just set the descendents of the root node
+			if(setTitleForTheseNodeIDs != null) {
+				// Retrieve the title metadata for these and set their titles 
+				// with the response:
+				String titleMetaResponseXML = dlAPIA.retrieveTitleMetadata(
+						this.colName, setTitleForTheseNodeIDs);
+				Element titleMetaResponse = getResponseAsDOM(
+						"titleMetaResponseXML:", titleMetaResponseXML);
+				
+				// Use whatever responseObject is active to set the metadata
+				responseObject.setMetadataForDocuments(titleMetaResponse);
+			}
+		}
+	}
+	
+	/* BROWSE RELATED METHODS */
+	/** Given a ClassifierData object indicating what browsing category
+	 * was chosen, this method will retrieve all its descendants in the
+	 * hierarchy. Only the top-level descendents (children) of the 
+	 * classification will be set initially. 
+	 * @param classifier is the ClassifierData object whose children are 
+	 * to be retrieved. */
+	public void doBrowse(ClassifierData classifier) {
+		String response = dlAPIA.retrieveBrowseStructure(
+				this.colName, this.serviceName, classifier.name);
+		
+		browseResponseObject.clear();
+		Element responseMsgTag = this.getResponseAsDOM(
+				"browseResponse:", response);
+		browseResponseObject.setResponseData(responseMsgTag); //classifier.name
+		
+		LOG.debug(browseResponseObject.show());
+		
+		this.browsePanel.displayBrowseResults(browseResponseObject,
+				classifier.displayName);
+		this.browsePanel.validate();
+	}
+	
+	/** Given a ClassifierNodeData object for browsing, this method will 
+	 * set the classNode's children (previously retrieved) and retrieve 
+	 * all the children's metadata including the title.
+	 * @param classNode is the ClassifierNodeData object whose title is to
+	 * be retrieved along with the titles for its children. */
+	public void retrieveTitledStructureFor(ClassifierNodeData classNode) {
+		// we will only be setting the children in this method and retrieving
+		// the names for them, as it concerns a classifierNodeData (and not 
+		// a documentNodeData).
+		
+		classNode.setChildren(browseResponseObject.getIDToNodeMapping());
+		
+		//String rootID = browseResponseObject.getRootClassifier().nodeID;
+		
+		NodeData[] children = classNode.getChildren();
+		Vector docNodeChildren = new Vector(children.length);
+		Vector classNodeChildren = new Vector(children.length);
+		//String nodeIDs[] = new String[children.length];
+		for(int i = 0; i < children.length; i++) {
+			// don't bother setting the metadata if it was
+			// already set (check for empty metadata
+			if(children[i].getMetadataList() == null) {
+				if(children[i] instanceof ClassifierNodeData)
+					classNodeChildren.add(children[i]);
+				else if(children[i] instanceof DocumentNodeData)
+					docNodeChildren.add(children[i]);
+			}
+		}
+		String[] nodeIDs = null;
+		
+		// First set the metadata for any classifiers:
+		if(classNodeChildren.size() > 0) {
+			nodeIDs = new String[classNodeChildren.size()];
+			for(int i = 0; i < nodeIDs.length; i++)
+				nodeIDs[i] = ((NodeData)classNodeChildren.get(i)).nodeID;
+		
+			// let's just retrieve all the metadata - need to display it
+			// soon anyway
+			String response = dlAPIA.retrieveBrowseMetadata(this.colName, 
+					this.serviceName, nodeIDs);
+			Element responseXML = this.getResponseAsDOM(
+					"MetadataRetrieve response: ", response);
+			browseResponseObject.setMetadataForClassifiers(responseXML);
+						
+			for(int i = 0; i < nodeIDs.length; i++)
+				LOG.debug("Title: "
+					+ ((NodeData)classNodeChildren.get(i)).getTitle());
+		}
+		
+		nodeIDs = null;
+		// Now set the metadata for any documentNodes for which metadata
+		// has not been set yet
+		if(docNodeChildren.size() > 0) {
+			nodeIDs = new String[docNodeChildren.size()];
+			for(int i = 0; i < nodeIDs.length; i++)
+				nodeIDs[i] = ((NodeData)docNodeChildren.get(i)).nodeID;
+		
+			// let's just retrieve all the metadata - need to display it
+			// soon anyway
+			String response = dlAPIA.retrieveDocumentMetadata(
+					this.colName, nodeIDs);
+			Element responseXML = this.getResponseAsDOM(
+					"MetadataRetrieve response: ", response);
+			browseResponseObject.setMetadataForDocuments(responseXML);
+			
+			for(int i = 0; i < nodeIDs.length; i++)
+				LOG.debug("Title: "
+					+ ((NodeData)docNodeChildren.get(i)).getTitle());
+		}
+	}
+	
+	/** @return the baseURL of the active digital library interface object */
+	public String getBaseURL() {
+		return this.dlAPIA.getAssocFileBaseURL();
+	}
+	
+	/** @return the filepath of the documentNode in the active digital library */
+	public String getFilePath(DocumentNodeData docNode) {
+		return this.dlAPIA.getAssocFileBaseURL(docNode);
+	}
+	
+	/**
+	 * Changes the background colours of the client's user interface
+	 * based on what the active digital library is.
+	 * See files greenstone3/gli/classes/xml/config.xml and 
+	 * greenstone3/gli/src/org/greenstone/gatherer/Configuration.java
+	 * @param DL indicates whether the active digital library is Greenstone or  
+	 * Fedora (or neither, in which case the GUI defaults to the usual grey).
+	 * @see <a href="http://www.java2s.com/Code/Java/Swing-JFC/UIManagerresourcestotweakthelookofapplications.htm">Java UIManager tutorial</a>
+	*/
+	public void changeUIColour(int DL)
+	{	
+		ColourCombo.setColour(DL);
+		ColourCombo.changeColor(this.collBox);
+		ColourCombo.changeColor(this.collectionNameField);
+		ColourCombo.changeColor(this.serviceBox);
+		
+		// change anonymous super panels' colours:
+		ColourCombo.changeAncestorColor(this.collBox);
+		ColourCombo.changeAncestorColor(this.serviceBox);
+		
+		// change tab pane panels and their colouring
+		this.queryPanel.changeUIColour();
+		this.browsePanel.changeUIColour();
+		this.searchResultsDisplay.changeUIColour();
+	}
+	
+	/** The main method of the GS3 java-client application. It instantiates
+	 * an instance of the GS3JavaClient main window and makes it visible. */
+	public static void main(String[] args) {
+	        // set it up for logging
+		final String logPropsFile = "log4j.properties";
+		PropertyConfigurator.configure(logPropsFile);
+
+		GS3JavaClient client = new GS3JavaClient();
+		client.pack();
+		// make the main window fullscreen
+		client.setSize(Toolkit.getDefaultToolkit().getScreenSize());
+		client.setVisible(true);
+		client.setDefaultCloseOperation(EXIT_ON_CLOSE);
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/GraphPaperLayout.java	(revision 15317)
@@ -0,0 +1,314 @@
+package org.greenstone.gs3client;
+import java.awt.*;
+import java.util.Hashtable;
+
+/** 
+ * The <code>GraphPaperLayout</code> class is a layout manager that 
+ * lays out a container's components in a rectangular grid, similar
+ * to GridLayout.  Unlike GridLayout, however, components can take
+ * up multiple rows and/or columns.  The layout manager acts as a
+ * sheet of graph paper.  When a component is added to the layout
+ * manager, the location and relative size of the component are
+ * simply supplied by the constraints as a Rectangle.
+ * <p><code><pre>
+ * import java.awt.*;
+ * import java.applet.Applet;
+ * public class ButtonGrid extends Applet {
+ *     public void init() {
+ *         setLayout(new GraphPaperLayout(new Dimension(5,5)));
+ *         // Add a 1x1 Rect at (0,0)
+ *         add(new Button("1"), new Rectangle(0,0,1,1));
+ *         // Add a 2x1 Rect at (2,0)
+ *         add(new Button("2"), new Rectangle(2,0,2,1));
+ *         // Add a 1x2 Rect at (1,1)
+ *         add(new Button("3"), new Rectangle(1,1,1,2));
+ *         // Add a 2x2 Rect at (3,2)
+ *         add(new Button("4"), new Rectangle(3,2,2,2));
+ *         // Add a 1x1 Rect at (0,4)
+ *         add(new Button("5"), new Rectangle(0,4,1,1));
+ *         // Add a 1x2 Rect at (2,3)
+ *         add(new Button("6"), new Rectangle(2,3,1,2));
+ *     }
+ * }
+ * </pre></code>
+ *
+ * @author      Michael Martak
+ */
+
+public class GraphPaperLayout implements LayoutManager2 {
+    int hgap;            //horizontal gap
+    int vgap;            //vertical gap
+    Dimension gridSize;  //grid size in logical units (n x m)
+    Hashtable compTable; //constraints (Rectangles)
+    
+    /**
+     * Creates a graph paper layout with a default of a 1 x 1 graph, with no
+     * vertical or horizontal padding.
+     */
+    public GraphPaperLayout() {
+        this(new Dimension(1,1));
+    }
+    
+    /**
+     * Creates a graph paper layout with the given grid size, with no vertical
+     * or horizontal padding.
+     */
+    public GraphPaperLayout(Dimension gridSize) {
+        this(gridSize, 0, 0);
+    }
+    
+    /**
+     * Creates a graph paper layout with the given grid size and padding.
+     * @param gridSize size of the graph paper in logical units (n x m)
+     * @param hgap horizontal padding
+     * @param vgap vertical padding
+     */
+    public GraphPaperLayout(Dimension gridSize, int hgap, int vgap) {
+        if ((gridSize.width <= 0) || (gridSize.height <= 0)) {
+            throw new IllegalArgumentException(
+                "dimensions must be greater than zero");
+        }
+        this.gridSize = new Dimension(gridSize);
+        this.hgap = hgap;
+        this.vgap = vgap;
+        compTable = new Hashtable();
+    }
+    
+    /**
+     * @return the size of the graph paper in logical units (n x m)
+     */
+    public Dimension getGridSize() {
+        return new Dimension( gridSize );
+    }
+    
+    /**
+     * Set the size of the graph paper in logical units (n x m)
+     */
+    public void setGridSize( Dimension d ) {
+        setGridSize( d.width, d.height );
+    }
+    
+    /**
+     * Set the size of the graph paper in logical units (n x m)
+     */
+    public void setGridSize( int width, int height ) {
+        gridSize = new Dimension( width, height );
+    }
+    
+    public void setConstraints(Component comp, Rectangle constraints) {
+        compTable.put(comp, new Rectangle(constraints));
+    }
+    
+    /**
+     * Adds the specified component with the specified name to
+     * the layout.  This does nothing in GraphPaperLayout, since constraints
+     * are required.
+     */
+    public void addLayoutComponent(String name, Component comp) {
+    }
+
+    /**
+     * Removes the specified component from the layout.
+     * @param comp the component to be removed
+     */
+    public void removeLayoutComponent(Component comp) {
+        compTable.remove(comp);
+    }
+
+    /**
+     * Calculates the preferred size dimensions for the specified 
+     * panel given the components in the specified parent container.
+     * @param parent the component to be laid out
+     *  
+     * @see #minimumLayoutSize
+     */
+    public Dimension preferredLayoutSize(Container parent) {
+        return getLayoutSize(parent, true);
+    }
+
+    /** 
+     * Calculates the minimum size dimensions for the specified 
+     * panel given the components in the specified parent container.
+     * @param parent the component to be laid out
+     * @see #preferredLayoutSize
+     */
+    public Dimension minimumLayoutSize(Container parent) {
+        return getLayoutSize(parent, false);
+    }
+    
+    /** 
+     * Algorithm for calculating layout size (minimum or preferred). 
+     * <p>
+     * The width of a graph paper layout is the largest cell width
+     * (calculated in <code>getLargestCellSize()</code> times the number of 
+     * columns, plus the horizontal padding times the number of columns 
+     * plus one, plus the left and right insets of the target container. 
+     * <p>
+     * The height of a graph paper layout is the largest cell height
+     * (calculated in <code>getLargestCellSize()</code> times the number of 
+     * rows, plus the vertical padding times the number of rows 
+     * plus one, plus the top and bottom insets of the target container. 
+     * 
+     * @param parent the container in which to do the layout.
+     * @param isPreferred true for calculating preferred size, false for
+     *                    calculating minimum size.
+     * @return the dimensions to lay out the subcomponents of the specified
+     *         container.
+     * @see GraphPaperLayout#getLargestCellSize
+     */
+    protected Dimension getLayoutSize(Container parent, boolean isPreferred) {
+        Dimension largestSize = getLargestCellSize(parent, isPreferred);
+        Insets insets = parent.getInsets();
+        largestSize.width = ( largestSize.width * gridSize.width ) +
+            ( hgap * ( gridSize.width + 1 ) ) + insets.left + insets.right;
+        largestSize.height = ( largestSize.height * gridSize.height ) +
+            ( vgap * ( gridSize.height + 1 ) ) + insets.top + insets.bottom;
+        return largestSize;
+    }
+    
+    /** 
+     * Algorithm for calculating the largest minimum or preferred cell size.
+     * <p>
+     * Largest cell size is calculated by getting the applicable size of each
+     * component and keeping the maximum value, dividing the component's width
+     * by the number of columns it is specified to occupy and dividing the
+     * component's height by the number of rows it is specified to occupy.
+     * 
+     * @param parent the container in which to do the layout.
+     * @param isPreferred true for calculating preferred size, false for
+     *                    calculating minimum size.
+     * @return the largest cell size required.
+     */
+    protected Dimension getLargestCellSize(Container parent,
+                                           boolean isPreferred) {
+        int ncomponents = parent.getComponentCount();
+        Dimension maxCellSize = new Dimension(0,0);
+        for ( int i = 0; i < ncomponents; i++ ) {
+            Component c = parent.getComponent(i);
+            Rectangle rect = (Rectangle)compTable.get(c);
+            if ( c != null && rect != null ) {
+                Dimension componentSize;
+                if ( isPreferred ) {
+                    componentSize = c.getPreferredSize();
+                } else {
+                    componentSize = c.getMinimumSize();
+                }
+                // Note: rect dimensions are already asserted to be > 0 when the
+                // component is added with constraints
+                maxCellSize.width = Math.max(maxCellSize.width,
+                    componentSize.width / rect.width);
+                maxCellSize.height = Math.max(maxCellSize.height,
+                    componentSize.height / rect.height);
+            }
+        }
+        return maxCellSize;
+    }
+
+    /** 
+     * Lays out the container in the specified container.
+     * @param parent the component which needs to be laid out 
+     */
+    public void layoutContainer(Container parent) {
+        synchronized (parent.getTreeLock()) {
+            Insets insets = parent.getInsets();
+            int ncomponents = parent.getComponentCount();
+
+            if (ncomponents == 0) {
+                return;
+            }
+            
+            // Total parent dimensions
+            Dimension size = parent.getSize();
+            int totalW = size.width - (insets.left + insets.right);
+            int totalH = size.height - (insets.top + insets.bottom);
+
+            // Cell dimensions, including padding
+            int totalCellW = totalW / gridSize.width;
+            int totalCellH = totalH / gridSize.height;
+
+            // Cell dimensions, without padding
+            int cellW = (totalW - ( (gridSize.width + 1) * hgap) )
+                    / gridSize.width;
+            int cellH = (totalH - ( (gridSize.height + 1) * vgap) )
+                    / gridSize.height;
+                
+            for ( int i = 0; i < ncomponents; i++ ) {
+                Component c = parent.getComponent(i);
+                Rectangle rect = (Rectangle)compTable.get(c);
+                if ( rect != null ) {
+                    int x = insets.left + ( totalCellW * rect.x ) + hgap;
+                    int y = insets.top + ( totalCellH * rect.y ) + vgap;
+                    int w = ( cellW * rect.width ) - hgap;
+                    int h = ( cellH * rect.height ) - vgap;
+                    c.setBounds(x, y, w, h);
+                }
+            }
+        }
+    }
+    
+    // LayoutManager2 /////////////////////////////////////////////////////////
+    
+    /**
+     * Adds the specified component to the layout, using the specified
+     * constraint object.
+     * @param comp the component to be added
+     * @param constraints  where/how the component is added to the layout.
+     */
+    public void addLayoutComponent(Component comp, Object constraints) {
+        if (constraints instanceof Rectangle) {
+            Rectangle rect = (Rectangle)constraints;
+            if ( rect.width <= 0 || rect.height <= 0 ) {
+                throw new IllegalArgumentException(
+                    "cannot add to layout: rectangle must have positive width and height");
+            }
+            if ( rect.x < 0 || rect.y < 0 ) {
+                throw new IllegalArgumentException(
+                    "cannot add to layout: rectangle x and y must be >= 0");
+            }
+            setConstraints(comp, rect);
+        } else if (constraints != null) {
+            throw new IllegalArgumentException(
+                "cannot add to layout: constraint must be a Rectangle");
+        }
+    }
+
+    /** 
+     * Returns the maximum size of this component.
+     * @see java.awt.Component#getMinimumSize()
+     * @see java.awt.Component#getPreferredSize()
+     * @see LayoutManager
+     */
+    public Dimension maximumLayoutSize(Container target) {
+        return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
+    }
+
+    /**
+     * Returns the alignment along the x axis.  This specifies how
+     * the component would like to be aligned relative to other 
+     * components.  The value should be a number between 0 and 1
+     * where 0 represents alignment along the origin, 1 is aligned
+     * the furthest away from the origin, 0.5 is centered, etc.
+     */
+    public float getLayoutAlignmentX(Container target) {
+        return 0.5f;
+    }
+
+    /**
+     * Returns the alignment along the y axis.  This specifies how
+     * the component would like to be aligned relative to other 
+     * components.  The value should be a number between 0 and 1
+     * where 0 represents alignment along the origin, 1 is aligned
+     * the furthest away from the origin, 0.5 is centered, etc.
+     */
+    public float getLayoutAlignmentY(Container target) {
+        return 0.5f;
+    }
+
+    /**
+     * Invalidates the layout, indicating that if the layout manager
+     * has cached information it should be discarded.
+     */
+    public void invalidateLayout(Container target) {
+        // Do nothing
+    }
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryForm.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryForm.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryForm.java	(revision 15317)
@@ -0,0 +1,249 @@
+/**
+ *#########################################################################
+ * QueryForm.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client;
+
+import java.util.HashMap;
+import java.util.Vector;
+
+import org.greenstone.gs3client.data.QueryFormData;
+import org.greenstone.gsdl3.util.GSXML;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+import java.awt.Cursor;
+import java.awt.BorderLayout;
+import javax.swing.BoxLayout;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.border.TitledBorder;
+
+import java.awt.event.KeyListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+
+/**
+ * Panel that represents a Query Form based on GS3 describe response XML 
+ * messages sent by a Query Service. An inner panel will contain all the
+ * actual form controls. The form can be reset to empty which will clear
+ * its contents. Its contents can be reset to display controls appropriate
+ * to new Query Service describe response XML messages.
+ * @author ak19
+*/
+public class QueryForm extends JPanel 
+	implements ActionListener, KeyListener, ColourCombo.ColourChangeable 
+{
+	/** Handle to the running instance of the GS3JavaClient in order to have
+	 * access to its methods */
+	protected GS3JavaClient client;
+	/** Panel to contain all the form controls specific to the chosen Query 
+	 * Service. */
+	protected JPanel paramsPanel = null;
+	/** Search button that will cause the search to be executed when pressed */
+	protected JButton searchButton = null;
+	/** Query parameters specified by the query services */
+	protected QueryFormData[] paramTags = null; 
+	
+	/** Constructor that instantiates this Form's internal GUI items.
+	 * @param client - handle to the running instance of the GS3JavaClient */
+	public QueryForm(GS3JavaClient client) {
+		super(new BorderLayout());
+		this.client = client;
+		
+		// Create the search button and register listeners for button pressed 
+		// and Enter key pressed events on it.
+		searchButton = new JButton();
+		searchButton.addActionListener(this);
+		searchButton.addKeyListener(this);
+		
+		paramsPanel = new JPanel();
+		paramsPanel.setLayout(new BoxLayout(paramsPanel, BoxLayout.Y_AXIS));
+	}
+	
+	/** Call this method to empty all the form controls. This Query Form
+	 * component can then be reused. */
+	public void clear() {
+		// empty all controls
+		
+		paramsPanel.removeAll();
+		paramTags = null; //get rid of the Params data for the query
+		
+		this.removeAll();
+		this.validate();
+		this.setBorder(null);
+		this.repaint();
+	}
+	
+	/** Changes the colour of the query form and its controls to the
+	 *  current colours set in class ColourCombo. Specified by
+	 *  the ColourCombo.ColourChangeable interface. */
+	public void changeUIColour() {
+		ColourCombo.changeColor(this);
+		ColourCombo.changeColor(this.paramsPanel);
+	}
+	
+	/** Called when this QueryForm's search button is pressed: the data  
+	 * entered/controls settings specified by the user are passed to the
+	 * digital library's Query Service in order to perform the search. */
+	public void actionPerformed(ActionEvent e) {
+		this.searchButtonPressed();
+	}
+	
+	/** Defined by KeyListener interface. Does nothing. */
+	public void keyPressed(KeyEvent e) {}
+	/** Defined by KeyListener interface. Does nothing. */
+	public void keyTyped(KeyEvent e) {}
+	
+	/** Called when the searchButton was in focus and a key was pressed. If 
+	 * this key was the Enter button, then the search is performed: the data 
+	 * entered/controls settings specified by the user are passed to the
+	 * digital library's Query Service in order to perform the search. */
+	public void keyReleased(KeyEvent e) {
+		if(e.getKeyCode() == KeyEvent.VK_ENTER) {
+			this.searchButtonPressed();
+		}
+	}
+	
+	/** Called when the searchButton was clicked or when it was in focus 
+	 * and the enter key was pressed. The search is performed by passing the 
+	 * data entered/controls settings specified by the user to the digital
+	 * library's Query Service in order to perform the search. */
+	protected void searchButtonPressed() {
+		// (1) Search button pressed: obtain all the user-input from the 
+		// query form. Use these to create a HashMap of name-val pairs 
+		// representing  the parameters for the query.
+		HashMap nameValParamsMap = new HashMap();
+		for(int i = 0; i < paramTags.length; i++) {
+			QueryFormControl formControl = (QueryFormControl)paramTags[i];
+			formControl.setSelectedValue(nameValParamsMap);
+		}
+		// (2) Let the main java-client class handle the rest:
+		this.client.performSearch(nameValParamsMap);
+	}
+	
+	/** 
+	 * Sets up the the query form for display (queryPanel) given the XML of   
+	 * the response-message returned by a "describe" request sent to a 
+	 * Query Service. That is, generates the query form as specified
+	 * by the given response XML for a Query describe.
+	 * @param el - a serviceResponseXML for a describe request that specifies
+	 * how the paramsPanel should look.
+	*/
+	public void formFromQueryServiceDescribe(Element el) {
+		this.clear();
+		
+		// Display the form controls associated with the Query Servie
+		
+		// Get the service element <service></service> embedded inside message: 
+		// <message><response><service></service></message></response>
+		// service = (Element)el.getElementsByTagName("service").item(0);
+		Element service 
+			= (Element)el.getElementsByTagName(GSXML.SERVICE_ELEM).item(0);
+		if(service == null) // shouldn't be the case
+			return; // do nothing
+		Element paramList = null;
+		
+		// Some heading information for each Query service display form 
+		String nameVal = "", description = "", submit ="";
+		
+		// Get all the children. For *services*, these can only be <paramList>
+		// or <displayItemList> elements, as per the manual p.37:
+		// "Subset options for the request [sent to a service] include 
+		// paramList and displayItemList."
+		NodeList serviceInfo = service.getChildNodes();
+		for(int i = 0; i < serviceInfo.getLength(); i++){
+			Node n = serviceInfo.item(i);
+			// Skip non-element nodes
+			if(n.getNodeType() != Node.ELEMENT_NODE)
+				continue;
+			
+			Element e = (Element)n;
+			
+			// Process <displayItem> elements that are *direct* children 
+			// of <service>
+			if(e.getTagName().equals(GSXML.DISPLAY_TEXT_ELEM)) { 
+				// Retrieve values for attributes where name="name", 
+				// name="description", name="submit"
+				if(e.hasAttributes()) {
+					// get value of attribute where name=name:
+					String attribute = e.getAttribute(GSXML.DISPLAY_TEXT_NAME);
+					// now based on the attribute value set the appropriate var:
+					if(attribute.equals(GSXML.DISPLAY_TEXT_NAME))
+						// get text node of element and get its text
+						nameVal = e.getFirstChild().getNodeValue();
+					// name=description
+					else if(attribute.equals(GSXML.DISPLAY_TEXT_DESCRIPTION))
+						description = e.getFirstChild().getNodeValue();
+					else if(attribute.equals(GSXML.DISPLAY_TEXT_SUBMIT))
+						submit = e.getFirstChild().getNodeValue();// text
+				}
+			}
+			// <paramList> element which contains param elements as children
+			else if(e.getTagName().equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER))
+			{
+				paramList = e;
+			} // else skip the element
+		}
+		
+		if(paramList == null) // shouldn't be the case
+			return;
+		// Now process the parameters contained in the <paramList> element
+		
+		if(paramList != null && paramList.hasChildNodes()) {
+			NodeList nl = paramList.getChildNodes();
+			// NodeList nl = paramList.getElementsByTagName(GSXML.PARAM_ELEM);
+			if(nl != null && nl.getLength() > 0) {
+				Vector v = new Vector(nl.getLength());
+				for(int i = 0; i < nl.getLength(); i++) {
+					Node n = nl.item(i);
+					// For Element Nodes, getNodeName() returns the tag name,
+					// and it *never* returns null for *any* Node type
+					if(n.getNodeName().equals(GSXML.PARAM_ELEM)) {
+						v.add((Element)n);
+					}	
+				}
+				paramTags = new QueryFormData[v.size()];
+				for(int i = 0; i < paramTags.length; i++) {
+					// we've obtained only elements of <param> type (no 
+					// <option>s among them), so:
+					paramTags[i] = 
+						new QueryFormControl((Element)v.get(i), paramsPanel);
+				}
+				v.clear();
+				v = null;
+			}
+		}
+		
+		TitledBorder title = BorderFactory.createTitledBorder(
+				nameVal + " - " + description);
+		this.setBorder(title);
+		// add scrollpane around query form just in case the screen
+		// is too small to display all the form controls at once
+		this.add(new JScrollPane(paramsPanel), BorderLayout.CENTER);
+		this.add(searchButton, BorderLayout.SOUTH);
+		searchButton.setText(submit);
+		this.validate(); 
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/QueryFormControl.java	(revision 15317)
@@ -0,0 +1,467 @@
+/**
+ *#########################################################################
+ * QueryFormControl.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.GridBagLayout;
+import java.awt.GridBagConstraints;
+import java.util.HashMap;
+import java.util.Vector;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.border.Border;
+
+import org.greenstone.gs3client.data.QueryFormData;
+import org.greenstone.gs3client.data.QueryFormData.QueryFormParam;
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/** 
+ * Represents a control in a query form. This wrapper class is a subclass of 
+ * QueryFormParam that presents its QueryFormParam details as an appropriate 
+ * GUI item *with* label (based on the QueryFormParam's type) for display 
+ * in its own JPanel.   
+ * This wrapper class is a widget that knows to display this QueryFormParam -- 
+ * and any child &lt;param&gt;s or &lt;option&gt;s -- in its own JPanel.
+ * @author ak19
+*/
+class QueryFormControl extends QueryFormParam {
+	/** the widget that's a visual representation of this QueryFormParam */
+	protected JComponent ref;
+	/* Width in units of this form control's component 
+	 * Width only used when calculating layout for type=MULTI */
+	int width;	// 1 to 3 units: 1 for checkboxes, 2 for combos, 
+				// 3 for lists and textboxes. 0 for everything else.
+	
+	/** Constructor that creates a QueryFormControl for a &lt;param&gt; element 
+	 * @param param - a &lt;param&gt; element in a Query Service's describe 
+	 * response XML message */
+	public QueryFormControl(Element param) {
+		super(param);
+		
+		// work out the widths (else it remains at 0)
+		if(this.type.equals(GSXML.PARAM_TYPE_INTEGER)
+				|| this.type.equals(GSXML.PARAM_TYPE_BOOLEAN))
+		{
+			width = 1;
+		} else if(this.type.equals(GSXML.PARAM_TYPE_ENUM_SINGLE)
+				|| this.type.equals(GSXML.PARAM_TYPE_ENUM_MULTI)) 
+		{
+			width = 2;
+		} else if(this.type.equals(GSXML.PARAM_TYPE_STRING))
+		{
+			width = 3;
+		} else { // all other types of controls have 0 width
+			width = 0;
+		}
+	}	
+	
+	/** Constructor that creates a QueryFormControl for a &lt;param&gt; element 
+	 * inside a panel. 
+	 * @param param - a &lt;param&gt; element in a Query Service's describe 
+	 * response XML message 
+	 * @param parentPanel - the panel inside which this QueryFormControl is to 
+	 * display itself. */
+	public QueryFormControl(Element param, JPanel parentPanel) {
+		super(param);
+		createWidget(param); // This will set this.ref 
+							// In type=multi case, ref is a panel)
+		
+		// The following if statements have to be done in this order 
+		
+		// For all other values of this.type:
+		// Now, in both textfield and enum cases (but not the others that
+		// haven't been dealt with yet like INVISIBLE, FILE, ENUM, etc),
+		// add the newly created GUI obj (in ref) to the parentPanel.
+		// And attach a label if instructed to do so.
+		if(this.ref != null) {
+			JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+			panel.add(new JLabel(this.displayItem));
+			panel.add(this.ref);
+			parentPanel.add(panel);
+		}
+		
+		// this.ref is still null for MultiPanel, until now when we create it:
+		if(this.type.equals(GSXML.PARAM_TYPE_MULTI)) { 
+			createMultiPanel(param, parentPanel);
+			//width = -1;
+		}
+		
+		// finally let's change the colours - as long as ref exists
+		// (invisible QueryFormData have no ref Component, so check for 
+		// null case)
+		if(this.ref != null) {
+			ColourCombo.changeColor(this.ref.getComponents());
+			ColourCombo.changeColor(this.ref);
+			ColourCombo.changeAncestorColor(this.ref);
+		}
+	}	
+	
+	/** Creates the appropriate form control for the &lt;param&gt; element,
+	 * based on its type.
+	 * @param param - a &lt;param&gt; element in a Query Service's describe 
+	 * response XML message */
+	public void createWidget(Element param)
+	{
+		if(this.type.equals(GSXML.PARAM_TYPE_INTEGER) 
+					|| this.type.equals(GSXML.PARAM_TYPE_STRING)) 
+		{
+			createTextField();
+		}
+		else if (this.type.equals(GSXML.PARAM_TYPE_BOOLEAN)) 
+		{
+			createBooleanField();
+		}
+		else if(this.type.equals(GSXML.PARAM_TYPE_ENUM_SINGLE)
+				|| this.type.equals(GSXML.PARAM_TYPE_ENUM_MULTI)) 
+		{
+			createEnumListing(param); // either a combo or list
+		}
+	} // end method setUpWidget()
+	
+	/** Creates check box controls for the &lt;param&gt; elements whose 
+	 * types are GSXML.PARAM_TYPE_BOOLEAN. */
+	public void createBooleanField() {
+		JCheckBox checkbox = new JCheckBox();
+		if(def.equals("1"))
+			checkbox.setSelected(true);
+		this.ref = checkbox;
+	}
+
+	/** Creates text fields for the &lt;param&gt; elements whose types are
+	 * GSXML.PARAM_TYPE_STRING or GSXML.PARAM_TYPE_INTEGER). */
+	public void createTextField() {	
+		int cols = this.type.equals(GSXML.PARAM_TYPE_INTEGER) ? 4 : 15;
+		this.ref = new JTextField(cols);
+		if(!def.equals(""))
+			((JTextField)this.ref).setText(def);
+	}
+	
+	/** Creates combo boxes/drop-downs for the &lt;param&gt; elements
+	 * whose types are GSXML.PARAM_TYPE_ENUM_SINGLE and listboxes for those
+	 * whose types are GSXML.PARAM_TYPE_ENUM_MULTI. 
+	 * @param param - a &lt;param&gt; element in a Query Service's describe 
+	 * response XML message */
+	public void createEnumListing(Element param) 
+	{
+		NodeList nl = param.getElementsByTagName(GSXML.PARAM_OPTION_ELEM);
+		// If no <option> elements, we do nothing
+		if(nl != null && nl.getLength() > 0) {
+			subElements = new QueryFormData[nl.getLength()];
+			Vector selectedIndices = new Vector(subElements.length);
+			for(int i = 0; i < subElements.length; i++){
+				Element e = (Element)nl.item(i);
+				subElements[i] = new QueryFormData(e); 
+					// create list items for each <option>
+				
+				// Keep track of which options should be selected by
+				// default, by storing these indices.
+				// Don't use def.equals() but def.indexOf():
+				// i.e. select those items where this.name occurs in def,
+				// because def is a comma separated list of default values
+				if(def.indexOf(subElements[i].name) != -1) 
+					selectedIndices.add(new Integer(i));
+			}
+			// Now create the widgets
+			if(this.type.equals(GSXML.PARAM_TYPE_ENUM_MULTI)) {
+				this.ref = new JList(subElements);
+						// by default, JList is set to what we want:
+						// MULTIPLE_INTERVAL_SELECTION
+				if(!def.equals("")) {
+					int[] selIndices = new int[selectedIndices.size()];
+					for(int i = 0; i < selectedIndices.size(); i++)
+						selIndices[i] = 
+							((Integer)selectedIndices.get(i)).intValue();
+					
+					((JList)this.ref).setSelectedIndices(selIndices);
+				}
+			}
+			else { // ENUM_SINGLE and BOOLEAN get a JComboBox 
+				this.ref = new JComboBox(subElements);
+				if(!def.equals("")) { // for JCombobox, only 1 item default at a time
+					((JComboBox)this.ref).setSelectedIndex(
+							((Integer)selectedIndices.get(0)).intValue());
+				}
+			}
+		}
+	} 
+	
+	/**
+	 * A multi-panel is created for a *set* of controls that occur more than 
+	 * once.
+	 * Processes &lt;param type="multi"&gt; in a Query Service's describe 
+	 * response XML. (I.e. the type is GSXML.PARAM_TYPE_MULTI)
+	 * Complicated case: can have 'occurs' field set. And this &lt;param&gt; 
+	 * element can have multiple &lt;param&gt;s itself, each with the 'ignore' 
+	 * possibly set and each with its own &lt;option&gt; elements.
+	 * @param param - a &lt;param&gt; element in a Query Service's describe 
+	 * response XML message
+	 * @param parentPanel - the panel inside which the multipanel is to display
+	 * itself.
+	*/
+	public void createMultiPanel(Element param, JPanel parentPanel) {
+		// Create the widgets for MULTI at least once:
+		int num_occurs = occurs.equals("") ? 1 : Integer.parseInt(occurs);
+		NodeList nl = param.getElementsByTagName(GSXML.PARAM_ELEM);
+		
+		// This panel is now a multi panel: contains multiple associated
+		// widgets each in their own panels along with their labels. 
+		// All *grouped* sub <param> elements in a panel each, and these 
+		// panels on top of each other.	
+		GridBagLayout gbLayout = new GridBagLayout();
+		GridBagConstraints gbConstraints = new GridBagConstraints();
+		// fixed for all components
+		//gbConstraints.anchor = GridBagConstraints.NORTHWEST;
+		gbConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
+		gbConstraints.ipadx = 5;
+		gbConstraints.ipady = 3;
+		gbConstraints.fill = GridBagConstraints.BOTH;
+		gbConstraints.weightx = 0;
+		gbConstraints.weighty = 0;
+		JPanel panel = new JPanel(gbLayout);
+			//new GraphPaperLayout(new Dimension(nl.getLength(), num_occurs+1)));
+			// num_occurs + 1: extra row to allow for the row of headings
+		Border lineBorder = BorderFactory.createLineBorder(Color.GRAY);
+		panel.setBorder(lineBorder);
+		this.ref = panel; // this QueryFormControl objects JComp ref variable 
+		
+		// For GridBagLayout calculations
+		int[] colWidths = null; // store the width of each column
+		int colPosition = 0; // the column position of the widget in the layout 
+		
+		// Instantiating and positioning the Query Form controls 
+		if(nl != null && nl.getLength() > 0) {
+			colWidths = new int[nl.getLength()]; // to store the width of the columns
+			// For each <param> child of Element param, we create a QueryFormParam
+			// object which is stored in the subElements array
+			// We do this 'occurs' number of times (minimum 'occurs' is once) 
+			subElements = new QueryFormParam[nl.getLength() * num_occurs];
+			for(int j = 1; j <= num_occurs; j++) {
+				// Now process all <param> elements and put them into this.ref panel
+				int numParams = nl.getLength();
+				for(int i = 0; i < numParams; i++){
+					Element e = (Element)nl.item(i); // get the child
+					QueryFormControl paramEl = new QueryFormControl(e);
+					subElements[(j-1) * numParams+i] = paramEl;
+					
+					// GridBagLayout calculations					
+					if(j == 1) { // When processing the first row, store the col widths
+						colWidths[i] = paramEl.width;
+					}			
+					// Calculate the column position of the form control in the layout
+					// ColPosition of current control is the sum of the widths of all
+					// previous controls (all controls to the left of it in this row)
+					if(i > 0) {
+						// increment column position of this control by previous 
+						// widget's width 
+						colPosition += colWidths[i-1];
+					} else { // i == 0, reset colPosition to 0
+						colPosition = 0; 
+					}
+					
+					// If 'ignore' is set, check whether we should ignore the 
+					// widget at this occurs-iteration of the loop
+					if(!paramEl.ignore.equals("")) {
+						int ignorePos = Integer.parseInt(paramEl.ignore);
+						if(ignorePos != (j-1)) {
+							// occurs-iteration (outer loop) when indexed from 0 
+							// doesn't match ignorePos so can set up this widget
+							paramEl.createWidget(e);
+								// false means label not attached to widget
+							// j is row, i is col
+							this.addGridBagComponent(panel, paramEl.ref, gbLayout, 
+								gbConstraints, colPosition, j, paramEl.width, 1);
+						} 
+						// else if the outer loop iteration-index matched, 
+						// ignore widget
+					} 
+					else { // when 'ignore' member var not set, set up this widget
+						paramEl.createWidget(e);
+						this.addGridBagComponent(panel, paramEl.ref, gbLayout, 
+							gbConstraints, colPosition, j, paramEl.width, 1);
+					}
+				} // end for on subElements
+				// add each panel of grouped param elements to this multi panel
+				// this.panel.add(singlePanel);
+			} // end for on num_occurs
+			
+			// Now add a heading row: labelling each column in the multipanel:
+			// JPanel headingPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+			// get the labels from the subelements' displayElement:
+			for(int i = 0; i < subElements.length/num_occurs; i++) {
+				// Calculate the column position of the form control in the layout 
+				// ColPosition of current control is the sum of the widths of all
+				// previous controls (all controls to the left of it in this row)
+				if(i == 0) {
+					colPosition = 0;
+				} else { // i > 0
+					colPosition += colWidths[i-1];
+				}
+				JLabel colHeading = new JLabel(subElements[i].displayItem);
+				// add it to the top of this multi panel 
+				this.addGridBagComponent(panel, colHeading, 
+					gbLayout, gbConstraints, colPosition, 0, 1, 1); 
+										// col i, row 0, size (1,1)
+			}
+
+			// Add the multi panel to the parent. 
+			// First it is nested in a panel laid out with FlowLayout in order 
+			// to not have the multipanel centred in an ugly manner.
+			JPanel outerPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+			outerPanel.add(panel); // same as adding this.ref
+			parentPanel.add(outerPanel);
+		} // end if
+		
+	} // end processing <param type=multi>
+	
+	/**
+	 * The multi-panel is laid out with a GridBagLayout in order to make 
+	 * the layout more attractive (so that the form controls don't have as 
+	 * odd sizes as before when GraphPaperLayout was used).
+	 * This method sets the constraints for the given control and then adds 
+	 * it to the given JPanel.
+	 * This method is called to add a control (or heading label) to the 
+	 * multi-panel using GridBagLayout.
+	 * @param panel is the panel to add the control (or heading label) to.
+	 * @param comp is the Query Form control or heading JLabel to be laid out.
+	 * @param gbLayout is the GridBagLayout object used to lay out the panel.
+	 * @param gbConstraints is the GridBagConstraints object for the panel's
+	 * GridBagLayout.
+	 * @param col is the column value of the top-left of the control (for 
+	 * setting the GridBagLayout's gridx value).
+	 * @param row is the row value of the top-left of the control (for 
+	 * setting the GridBagLayout's gridy value).
+	 * @param w is the number of columns spanned by the control (for setting 
+	 * the GridBagLayout's gridwidth value).
+	 * @param h is the number of rows spanned by the control (for setting 
+	 * the GridBagLayout's gridheight value). 
+	*/
+	protected void addGridBagComponent(JPanel panel, JComponent comp,
+			GridBagLayout gbLayout, GridBagConstraints gbConstraints,
+		int col, int row, int w, int h) 
+	{
+		// different for all components
+		gbConstraints.gridx = col;
+		gbConstraints.gridy = row;
+		gbConstraints.gridwidth = w;
+		gbConstraints.gridheight = h;
+		
+		gbLayout.setConstraints(comp, gbConstraints);
+		panel.add(comp);
+	}
+	
+	/** If called after the form containing these param controls has been 
+	 * displayed and the user has entered/selected values (i.e. after the search 
+	 * button to execute a query has been pressed), then this method puts  
+	 * the controls' associated QueryFormParam names and the user-
+	 * entered/-selected values into the HashMap nameValsmap (= the argument).
+	 * Note that for the GSXML.PARAM_TYPE_MULTI case - where each related set 
+	 * of controls may occur several times (depending on member variable 
+	 * 'occurs') - the value entered/selected for each control that has the 
+	 * same *name* (= key into the HashMap) is added into the HashMap as
+	 * a comma-separated list associated with its name-key.
+	 * This method requires that argument nameValsmap is a non-null HashMap.
+	 * @param nameValsMap - a non-null HashMap. At the end of this method,
+	 * the nameValsMap HashMap will contain mappings from query parameter field  
+	 * names to their user-entered values (for the field's associated 
+	 * form controls).
+	*/
+	public void setSelectedValue(HashMap nameValsMap) {
+		// When setSelectedValue() is called on subElements
+		// that have their ignore member var set at any stage,
+		// their this.ref will be null, so can add "" for those cases.
+		if(this.ref == null) {
+	 		//Also the case for *ignored* ParamElementGUIs whose widgets
+	 		//never got instantiated (to do with member var 'ignore')
+	 		
+	 		//In these cases, there is no value that the user input, 
+	 		//so just add ""
+	 		if(nameValsMap.containsKey(this.name)) {
+	 			//just append to existing value for key:
+	 			String cumVal = (String)nameValsMap.get(this.name);
+	 			cumVal += ",";
+	 			nameValsMap.put(this.name, cumVal);
+	 		} else { 
+	 			// widget.type=invisible, set to default
+	 			if(this.type.equals(GSXML.PARAM_TYPE_INVISIBLE) 
+	 					&& !this.def.equals(""))
+	 				nameValsMap.put(this.name, this.def);
+	 			else //put empty string in there for now
+	 				nameValsMap.put(this.name, "");
+	 		}
+	 		return; //that's it, don't go any further
+	 	}
+	 	
+	 	// Complex type: can contain multiple child parameters/options
+	 	// Need all names that match to have associated values in 
+	 	// comma-separated list
+	 	if(this.type.equals(GSXML.PARAM_TYPE_MULTI)) {
+	 		for(int i = 0; i < subElements.length; i++) {
+ 				((QueryFormControl)subElements[i]).setSelectedValue(
+ 						nameValsMap);
+	 		}
+	 	} else if(this.type.equals(GSXML.PARAM_TYPE_ENUM_MULTI)) {
+	 		// JList
+	 		JList list = (JList)this.ref;
+	 		Object[] selectedParams = list.getSelectedValues();
+	 		for(int i = 0; i < selectedParams.length; i++) {
+	 			String value = ((QueryFormData)selectedParams[i]).name; 
+	 			if(nameValsMap.containsKey(this.name))
+	 				//append value to existing value for the same key
+	 				value = (String)nameValsMap.get(this.name) + "," + value;
+	 			nameValsMap.put(this.name, value);
+	 		}
+	 	} else if(this.type.equals(GSXML.PARAM_TYPE_ENUM_SINGLE)) {
+	 		// JCombobox
+	 		JComboBox combo = (JComboBox)this.ref;
+	 		QueryFormData selectedParam = (QueryFormData)combo.getSelectedItem();
+	 		String value = selectedParam.name; 
+	 		if(nameValsMap.containsKey(this.name)) // key exists, so append
+	 			value = (String)nameValsMap.get(this.name) + "," + value;
+	 		nameValsMap.put(this.name, value);
+	 	} else if (this.type.equals(GSXML.PARAM_TYPE_BOOLEAN)) {
+	 		JCheckBox checkbox = (JCheckBox)this.ref;
+	 		String value = "0"; //"off" 
+	 		if(checkbox.isSelected()) //boolean is "on"
+	 			value = "1"; 
+	 		if(nameValsMap.containsKey(this.name)) // key exists, so append
+	 			value = (String)nameValsMap.get(this.name) + "," + value;
+	 		nameValsMap.put(this.name, value);
+	 	} else if(this.type.equals(GSXML.PARAM_TYPE_INTEGER) 
+				|| this.type.equals(GSXML.PARAM_TYPE_STRING)) { 
+	 		// Textfield 
+	 		JTextField field = (JTextField)this.ref;
+	 		String value = field.getText();
+	 		if(nameValsMap.containsKey(this.name)) // key exists, so append
+	 			value = (String)nameValsMap.get(this.name) + "," + value;
+	 		nameValsMap.put(this.name, value);
+	 	}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/SearchResultsDisplay.java	(revision 15317)
@@ -0,0 +1,397 @@
+/**
+ *#########################################################################
+ * SearchResultsDisplay.java - part of the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+
+import javax.swing.JPopupMenu;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+import javax.swing.JEditorPane;
+import javax.swing.JList;
+import javax.swing.JLabel;
+import javax.swing.JTree;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeSelectionModel;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+
+import javax.swing.text.html.HTMLDocument;
+
+import org.apache.log4j.Logger;
+import org.greenstone.gs3client.data.DocumentNodeData;
+
+import java.net.URL;
+import java.net.MalformedURLException;
+
+/** 
+ * The Search panel inside the Java-client's tab pane that's labelled 
+ * "Search Results". This panel contains two tree views: 
+ * - one for displaying the list of search results (top-level documents or document
+ * - one for displaying the structure of document nodes selected in the list of
+ * search results.  
+ * This panel also contains an area where the selected documentNode's metadata is 
+ * displayed, and a text area where the textual or image content of a selected 
+ * documentNode is displayed. 
+ * @author ak19
+*/
+public class SearchResultsDisplay 
+	extends JPanel implements TreeSelectionListener, ColourCombo.ColourChangeable
+{	
+	/** The Logger for this class */
+	static Logger LOG = Logger.getLogger(SearchResultsDisplay.class);
+	
+	/** Access to the running instance of GS3JavaClient */
+	protected GS3JavaClient client;
+	
+	/* GUI items of this SearchResults Panel */
+	protected JTree searchResultsTree, docStructureTree;
+	protected JSplitPane docInfoPane, docInfoWithContent, treeviewSplitPane;
+	protected JEditorPane docContentEditPane;
+	protected JList metanames, metavalues;
+	/** Context menu that pops up when users right click in the browse tree area */
+	protected JPopupMenu popup;
+	
+	/** Constructor that creates the Search Panel and its internal GUI items.
+	 * @param client is the running instance of the client application through 
+	 * which its methods can be accessed. */
+	public SearchResultsDisplay(GS3JavaClient client) 
+	{
+		super(new FlowLayout(FlowLayout.LEFT)); 
+			// so the contents of this panel are not centred
+		this.client = client;
+		
+		// The panels: searchresults (with a tree), docStructure (also 
+		// contains a tree), metadataPanel (with 2 lists for metanames 
+		// and metavalues and docContentEditor to show a selected html  
+		// document's contents
+		JPanel searchResultsPanel, docStructurePanel, metadataPanel;
+		
+		this.docContentEditPane = new JEditorPane();
+		this.docContentEditPane.setEditable(false);
+		this.docContentEditPane.setContentType("text/html"); 
+				//"text/plain" to view the html markup
+		
+		searchResultsPanel = new JPanel(new BorderLayout()); 
+		docStructurePanel = new JPanel(new BorderLayout());
+		searchResultsPanel.add(
+				new JLabel("Documents returned"), BorderLayout.NORTH);
+		docStructurePanel.add(
+				new JLabel("Document structure"), BorderLayout.NORTH);
+		
+		metadataPanel = new JPanel(new BorderLayout());
+		this.metanames = new JList();
+		this.metavalues = new JList();
+		metadataPanel.add(metanames, BorderLayout.WEST);
+		metadataPanel.add(metavalues, BorderLayout.CENTER);
+		
+		JPanel metaSuperPanel = new JPanel(new BorderLayout());
+		metaSuperPanel.add(new JLabel("Metadata"), BorderLayout.NORTH);
+		metaSuperPanel.add(
+				new JScrollPane(metadataPanel), BorderLayout.CENTER);
+		
+	    // Create the searchresults tree and the docStructure tree
+		// (neither of them initialised to any meaningful nodes at present).
+		// Both trees allow only one selection at a time.
+		// Add a listener to both for when their treenode selections change.
+		// Finally add them to their respective JPanels.
+		searchResultsTree = new JTree(new DefaultMutableTreeNode(null)); 
+		searchResultsTree.getSelectionModel().setSelectionMode(
+        		TreeSelectionModel.SINGLE_TREE_SELECTION);
+        searchResultsTree.addTreeSelectionListener(this);
+        searchResultsPanel.add(new JScrollPane(searchResultsTree), 
+        		BorderLayout.CENTER);
+        
+        docStructureTree = new JTree(new DefaultMutableTreeNode(null));
+		docStructureTree.getSelectionModel().setSelectionMode(
+        		TreeSelectionModel.SINGLE_TREE_SELECTION);
+		docStructureTree.addTreeSelectionListener(this);
+		docStructurePanel.add(new JScrollPane(docStructureTree),
+				BorderLayout.CENTER);
+		// add a (rightclick) popup menu to the document structure tree:
+        popup = new JPopupMenu();
+        docStructureTree.setComponentPopupMenu(popup);
+        docStructureTree.addMouseListener(new Displays.PopupListener(
+        	popup, docStructureTree, client, this.docContentEditPane));
+		
+        // Add the docStructure and metadata panels next to each 
+		// other within a split pane
+		docInfoPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+		docInfoPane.setLeftComponent(docStructurePanel);
+		docInfoPane.setRightComponent(metaSuperPanel);
+		docInfoPane.setOneTouchExpandable(true);
+				
+		// Add that to the top of the editorpanel showing the contents of
+		// any selected document nodes
+		docInfoWithContent = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+		docInfoWithContent.setTopComponent(docInfoPane);
+		docInfoWithContent.setBottomComponent(
+				new JScrollPane(this.docContentEditPane));
+		docInfoWithContent.setOneTouchExpandable(true);
+		
+		// Add that splitpane to the right of the search results panel
+		// in a new splitpane (horizontal)
+		treeviewSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+        treeviewSplitPane.setLeftComponent(searchResultsPanel);
+        treeviewSplitPane.setRightComponent(this.docInfoWithContent);
+        treeviewSplitPane.setOneTouchExpandable(true);
+        this.add(treeviewSplitPane);
+        
+        // All the scrollviews and the splitpanes will be sized
+        // when getPreferredSize() is called on show()/setVisible()
+	}
+	
+	/** Overrode this method to resize the splitpanes within, upon resize. 
+	 * It calculates the size of this panel, as well as setting those of  
+	 * the splitpanes it contains based on the size of the parent container.
+	 * @return the preferred dimensions of this JPanel. */
+	public Dimension getPreferredSize() {
+		Dimension size = this.getParent().getSize(); //900, 500
+		int x = (int)size.getWidth() / 3;
+        int y = (int)(size.getHeight() / 5 * 2);
+        docInfoPane.setDividerLocation(x);
+        docInfoWithContent.setDividerLocation(y);
+        treeviewSplitPane.setDividerLocation(x);
+        docInfoPane.setPreferredSize(size);
+        docInfoWithContent.setPreferredSize(size);
+        treeviewSplitPane.setPreferredSize(size);
+        return size;
+	}
+	
+	/** Changes the colour of the query form and its controls to the
+	 *  current colours set in class ColourCombo. Specified by
+	 *  the ColourCombo.ColourChangeable interface. */
+	public void changeUIColour() {
+		Component[] comps = { this, this.docStructureTree, 
+			this.searchResultsTree, metanames, metavalues, popup };
+		ColourCombo.changeColor(comps);
+		
+		// ensures that the JLabel for "metadata" and the trees
+		// are coloured properly:
+		ColourCombo.changeAncestorColor(metanames); 
+		ColourCombo.changeAncestorColor(this.docStructureTree);
+		ColourCombo.changeAncestorColor(this.searchResultsTree);
+	}
+	
+	/** Clears the service-specific buttons in the browseBar and the 
+	 * service-specific display-data. The rest of the GUI (split panes, panels) 
+	 * remain as they are. Resets the contents of the widgets in this panel. */
+	public void clear() {
+		//searchResultsTree.removeAll();
+		//docStructureTree.removeAll(); // doesn't seem to emtpy tree
+		//this.metanames.removeAll(); //doesn't seem to empty the list values
+		//this.metavalues.removeAll(); //doesn't seem to empty the list values
+		
+		// empty the docStructureTree's popup menu too
+		popup.removeAll();
+				
+		// empty the trees
+		((DefaultTreeModel)searchResultsTree.getModel()).setRoot(null);
+		((DefaultTreeModel)docStructureTree.getModel()).setRoot(null);
+		// empty the metadatalists
+		final String[] empty = {""};
+		this.metanames.setListData(empty);
+		this.metavalues.setListData(empty);
+		// empty the html view area
+		this.docContentEditPane.setText("");
+	}
+	
+	/** Restructures the searchResultsTree when another search has been made, so 
+	 * that the search results contain a new list of documentNodeData objects.
+	 * @param resultDocs - the list of (new) DocumentNodeData objects that have
+	 * been returned as the results of a query/search operation. */
+	public void setResults(DocumentNodeData[] resultDocs) {
+		// Empty out whatever was in our searchResultsTree and in the
+		// other displays
+		clear();
+		
+		// Populate the searchresults tree with each node being a document
+		// that represents a different search result
+		DefaultMutableTreeNode newRoot 
+			= new DefaultMutableTreeNode();
+		for(int i = 0; i < resultDocs.length; i++)
+			newRoot.add(new DefaultMutableTreeNode(resultDocs[i]));
+		
+		DefaultTreeModel model 
+			= (DefaultTreeModel)searchResultsTree.getModel();
+		model.setRoot(newRoot);
+		// We do not want a root, without a root it is perfect for linear  
+		// display of search results (a.o.t. hierarchical display)
+		searchResultsTree.setRootVisible(false);
+		// hierarchical display of the first search result (if its root is set)
+		if(resultDocs.length > 0) 
+			// array may be empty if there were no resultdocs
+			this.restructureWithNewRoot(resultDocs[0].getRoot());
+	}
+	
+	/** Restructures the docStructureTree with a new rootNode when a different   
+	 * search result has been clicked.
+	 * @param rootDocNode - the new root DocumentNodeData whose structure is  
+	 * to be displayed in the docStructureTree. */
+	protected void restructureWithNewRoot(DocumentNodeData rootDocNode)
+	{
+		DefaultMutableTreeNode root = null;
+		if(rootDocNode != null) {
+			// Create the nodes.
+			root = new DefaultMutableTreeNode(rootDocNode);
+			Displays.createNodesForChildren(rootDocNode, root);
+		}
+		DefaultTreeModel model = (DefaultTreeModel)docStructureTree.getModel();
+			
+		docStructureTree.removeAll();
+		model.setRoot(root);
+		
+		// empty the contentpane
+		this.docContentEditPane.setText("");
+	}
+	
+	/** Part of the TreeSelectionListener interface. When this is called, an item  
+	 * has been clicked in either the searchResultsTree or the docStructureTree.  
+	 * This method displays the metadata and textual contents accordingly
+	 * of the selected documentNodeData object. */
+    public void valueChanged(TreeSelectionEvent e) {
+    	// remove any menuItems in the popup from the previously 
+    	// selected docNode
+    	popup.removeAll();
+    	    	
+    	DefaultMutableTreeNode node = null;
+    	if(e.getSource() == searchResultsTree)
+    		node = (DefaultMutableTreeNode)
+        		searchResultsTree.getLastSelectedPathComponent();
+    	else if(e.getSource() == docStructureTree)
+    		node = (DefaultMutableTreeNode)
+    			docStructureTree.getLastSelectedPathComponent();
+    	
+        if(node == null) return;
+        Object nodeInfo = node.getUserObject();
+        // after construction there's nothing in the trees, so check for that:
+        if(nodeInfo == null) return; 
+        
+		// We need to change to a Wait cursor while we load the documentNode
+		Container c = client.getContentPane();
+		c.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+		
+        DocumentNodeData docNode = (DocumentNodeData)nodeInfo;
+        
+        // If user had clicked on a searchResult:
+        if(e.getSource() == this.searchResultsTree && node.isLeaf()) {
+        	this.client.retrieveTitledStructureFor(docNode);
+            // Now it has set the root and descendents for the 
+            // selected docNode
+            DocumentNodeData root = docNode.getRoot();
+            // get the nodestructuredisplay from the client
+            // nodestructure.restructureWithNewRoot(root, docNode);
+            this.restructureWithNewRoot(root);
+            
+            // First ensure the metadata for the docNode is set
+        	client.retrieveAllMetadataFor(docNode); 
+        		// now metadata for the document is set
+        	// Now, if metadata viewable, then display the metadata
+            // for the root document node:
+            Displays.showMeta(docNode, metanames, metavalues);
+            
+        	// make the client retrieve the content for the docNode
+        	// that's clicked on, and display it in the docContentEditPane 
+        	client.retrieveContentFor(docNode);
+        	// JEditorPane can't handle Justify, it centers such paras
+        	// Therefore, left align them instead.
+        	String docContent = docNode.getContent();
+        	if(docContent != null) {
+        		docContent = docContent.replaceAll(
+        				"ALIGN=\"JUSTIFY\"", "ALIGN=\"LEFT\"");
+        	}
+        	this.docContentEditPane.setText(docContent);
+    		this.docContentEditPane.setCaretPosition(0); // set 'cursor' at top
+        }
+        
+        // If the user had clicked on any docNode - leaf or otherwise
+        // - in the docStructureTree panel:
+        else if(e.getSource() == this.docStructureTree) {
+        	// First ensure the metadata for the docNode is set
+        	client.retrieveAllMetadataFor(docNode); 
+        		// now metadata for the document is set
+        	
+        	// Display the metadata for this document node:
+        	Displays.showMeta(docNode, metanames, metavalues);
+        	
+        	// if the document has NoText set to 1 (doc has no text), then it
+        	// has an image - display this by default
+        	if(docNode.hasNoText() && node.isLeaf() /*&& docNode.canBeImage()*/) {
+        		this.docContentEditPane.setText(
+        				Displays.getImgUrlEnclosedInHtml(docNode.getImgURL()));
+        		this.docContentEditPane.setCaretPosition(0);
+        	}
+        	else { // now we know that the document must have text:
+        		// make the client retrieve the content for the docNode
+            	// that's clicked on, and display it in the docContentEditPane 
+            	client.retrieveContentFor(docNode);
+            	// Java's htmlpane does not recognise justified alignment.
+                // It displays them all centred. So replace all ALIGN="JUSTIFY" 
+            	// with ALIGN="LEFT" here. (Not in the DocumentNodeData class,
+                // because our nodeContent should not be transformed: it will
+                // display properly in browsers and other html displays).
+            	String docContent = docNode.getContent();
+            	if(docContent != null) {
+            		docContent = docContent.replaceAll(
+            				"ALIGN=\"JUSTIFY\"", "ALIGN=\"LEFT\"");
+            	}
+                 	
+            	// set the baseURL for digital libraries that use relative paths
+            	// to images and don't take care of base paths themselves
+            	// (GS3 uses the _httpdocimg_ macro to resolve relative urls)
+        		String baseURL = client.getBaseURL();
+        		// TODO: make the docNode itself workout its URL by passing
+        		// baseURL to the docNode?
+        		if(!baseURL.equals("") && docNode.getRoot() != null) { 
+    					// "" is the case where dlAPIA = gs3
+        				// where the _httpdocimg_ macro will deal with
+        				// resolving the relative urls into their full ones
+        				// We don't want to set the base and meddle with macro
+        				// for those cases.
+        			// For Fedora's case:
+        			HTMLDocument doc 
+        				= (HTMLDocument)this.docContentEditPane.getDocument();
+        			try{
+        				URL url = new URL(baseURL+docNode.getRoot().nodeID+"/");
+        				//System.err.println("url: " + url.toString());
+        				doc.setBase(url);
+        				//docContent = docContent.replaceAll("_httpdocimg_/", "");
+        				LOG.debug(docContent);
+        			}catch(MalformedURLException mex) {
+        				; //nothing to be done, leave the base as it is
+        			}
+        		}
+        		this.docContentEditPane.setText(docContent);
+        		// make sure 'cursor' (actually caret) is at the top
+            	// Don't want it to autoscroll to the bottom of the contentPane
+            	this.docContentEditPane.setCaretPosition(0);
+        	}
+        }
+		c.setCursor(Cursor.getDefaultCursor());
+    }   
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/BrowseResponseData.java	(revision 15317)
@@ -0,0 +1,132 @@
+/**
+ *#########################################################################
+ * BrowseResponseData.java - part of the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Map;
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Element;
+
+/** 
+ * Stores the data contained in an XML response message to a request for 
+ * the classification Browse structure. An object of this class can be reused
+ * after instatiation by calling setResponseData() with a new browse
+ * response XML message. This will first call clear() to clear/release 
+ * its references to all the old data.
+ * @author ak19 
+*/
+public class BrowseResponseData extends ResponseData {
+	// Inherits Map nodeIDsToNodes of (nodeID, NodeData ref) pairs which
+	// maintains the NodeData object refs in order of their insertion into 
+	// the Map (LinkedHashMap).
+	// This class keeps track of both ClassifierNode and DocumentNode data
+	// objects that are returned in response to a browse message request.
+	
+	/** Reference to the root browse classifier, which may contain further
+	 * descendent classifierNodes or documentNodes. */
+	protected ClassifierNodeData rootClassifierNode;
+	
+	/** Default constructor */
+	public BrowseResponseData() {
+		super();
+		rootClassifierNode = null;
+	}
+	
+	/** Resets the internal data members of this BrowseResponseData object of 
+	 * their values so that this BrowseResponseData can be reused for the
+	 * next Browse response message. */
+	public void clear() {
+		super.clear(); 
+			// clears Map nodeIDsToNodes of (nodeID, NodeData ref) pairs 
+		rootClassifierNode = null;
+		System.gc();
+	}
+	
+	/** Given an XML responseMessage to a request for the classification  
+	 * Browse structure, this method sets its nodeIDsToNodes member variable 
+	 * by instantiating classifierNodeData and/or documentNodeData objects   
+	 * as given in the responseMessageTag. This method will not process all 
+	 * descendents of a classifierNode, but only those that are children
+	 * of the top level classifierNode. 
+	 * The responseMessageTag contains *all the descendents* in one go. But
+	 * we don't set all the descendents, just the children of the 
+	 * rootClassifierNode. However, as we store the responseMsgTag in pieces
+	 * (each child NodeData stores the bit relevant to it), we will work out
+	 * the children of each child etc as needed.
+	 * @param responseMsgTag is the the XML DOM Element representing a browse 
+	 * response XML message. */
+	public void setResponseData(Element responseMsgTag) 
+	{	
+		this.clear();
+		// Now process the XML element responseMsgTag:
+		// First go to the nodeStructureTag in the response: should only
+		// be one, then get the first <classifierNode> therein - 
+		// (its nodeID should match with this.classifier.name, i.e.
+		// the element should refer to the rootClassifierNode.
+		Element nodeStructTag 
+			= ParseUtil.getFirstDescElementCalled(
+					responseMsgTag, GSXML.NODE_STRUCTURE_ELEM);
+		Element rootClassifierTag = ParseUtil.getFirstChildElementCalled(
+				nodeStructTag, GSXML.CLASS_NODE_ELEM);
+	
+		// create a ClassifierNodeData for the classifier object which serves
+		// as the Root of the entire classification structure:
+		this.rootClassifierNode = new ClassifierNodeData(rootClassifierTag);
+		
+		
+		if(rootClassifierNode != null) {
+			// Don't forget to put the root into the map as well:
+			this.nodeIDsToNodes.put(rootClassifierNode.nodeID, 
+					rootClassifierNode); 
+			
+			// Now obtain all *child elements* of this element (actually
+			// these will be children of the rootClassifierNode) that are   
+			// either <documentNode>s or <classifierNodes>	
+			this.rootClassifierNode.setChildren(this.nodeIDsToNodes);
+		}
+	} 
+	
+	/** Given the response message element to a metadata request on
+	 * &lt;classifierNode&gts;, this method sets those classifierNodes' metadata. 
+	 * It merely calls the the superclass' setMetadataForDocuments(messageTag, 
+	 * tagName) method to parse out data for the tagName=&lt;classifierNode&gt;. 
+	 * @param messageTag - the response message Element to a metadata
+	 * request on &lt;classifierNode&gt;s */
+	public boolean setMetadataForClassifiers(Element messageTag) {
+		return setMetadataForNodes(messageTag, GSXML.CLASS_NODE_ELEM);
+	}
+	
+	/** @return the ClassifierNode representing the top-level/root 
+	 * &lt;classifierNode&gt; in the Browse response. */
+	public ClassifierNodeData getRootClassifier() { 
+		return rootClassifierNode; 
+	}
+	
+	/** @return the hashMap of mappings from nodeIDs to DocumentNodeData 
+	 * object references */
+	public Map getIDToNodeMapping() { return nodeIDsToNodes; }
+	
+	/** Overloaded method to produce a String output of the data contained in 
+	 * this BrowseResponseMessage. It merely calls rootClassifierNode.show()
+	 * @return a String representation of the data in this BrowseResponseMessage */
+	public String show() {
+		return this.rootClassifierNode.show();
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ClassifierNodeData.java	(revision 15317)
@@ -0,0 +1,125 @@
+/**
+ *#########################################################################
+ * ClassifierNodeData.java - part of the demo-client for Greenstone 3, of 
+ * the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Vector;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.greenstone.gs3client.data.NodeData;
+import org.w3c.dom.Element;
+
+/** 
+ * ClassifierNodeData represents the information that can be stored in a   
+ * &lt;classifierNode&gt; element. A ClassifierNode may have children and
+ * further descendents of type NodeData: either of type DocumentNodeData  
+ * or type ClassifierNodeData.
+ * @author ak19
+*/
+public class ClassifierNodeData extends NodeData {
+	/** Children (of this NodeData) as given in a nodeStructure, which 
+	 * can be ClassifierNodeData or DocumentNodeData. */
+	NodeData[] childnodes = null; 
+	
+	/** Constructor that given a classifierNode element creates
+	 * a ClassifierNodeData instance to parse and store its data. 
+	 * A classifierNodeData &lt;classifierNode&gt; contains just a nodeID
+	 * and can contain children. When a response for a classifierNode's
+	 * children is returned in a &lt;nodeStructure&gt;, this can be used to 
+	 * set the children. 
+	 * This classifierNodeData object is constructed from the data 
+	 * encapsulated in a &lt;classifierNode&gt; element 
+	 * @param classifierNodeTag is the &lt;classifierNode&gt; element in a 
+	 * Greenstone3 response XML message */
+	public ClassifierNodeData(Element classifierNodeTag) {
+		super(classifierNodeTag);
+	}
+	
+	/** This method is mainly useful for setting the top-level/root 
+	 * classifierNode's name. Otherwise, can use method setMetadataList
+	 * to set the various metadata (name, values) associated with a
+	 * classifierNode.
+	 * Adds a new title to nodeMetadata as long as it is not the same 
+	 * as the previous title added. 
+	 * @param name is the previous title added */
+	public void setTitle(String name) {
+		if(nodeMetadata == null) 
+			nodeMetadata = new HashMap();
+		// the nodeMetadata hashmap exists
+		Vector values;
+		if(nodeMetadata.containsKey("Title")) {
+			values = (Vector)nodeMetadata.get("Title");
+			// check if the last value is the same as
+			// what we're trying to insert
+			String value = (String)values.get(values.size()-1);
+			if(!value.equals(name)) // don't add duplicates
+				values.add(name);
+		} else {
+			values = new Vector();
+			values.add(name);
+			this.nodeMetadata.put("Title", values);
+		}
+	}
+	
+	/** Given a map of nodeIdsToNodes, this method instantiates any
+	 * children this ClassifierNodeData object might have. This
+	 * method will set member childnodes (or leave it at none)
+	 * and update idsToNodes_map as necessary.
+	 * @param idsToNodes_map is a Hashmap of all the Node IDs to Node
+	 * objects being maintained (Classifier- or DocumentNode) */
+	public void setChildren(Map idsToNodes_map) {
+		Vector children = new Vector();
+		setChildren(children, idsToNodes_map);
+		
+		if(children.size() == 0) // then childnodes[] remains at null
+			return;
+		// else
+		childnodes = new NodeData[children.size()];
+		children.toArray(childnodes); // now childnodes[] contains what's
+									// in the Vector children
+		
+		// now update the idsToNodes_map with any new nodes
+		for(int i = 0; i < childnodes.length; i++)
+			if(!idsToNodes_map.containsKey(childnodes[i].nodeID))
+				idsToNodes_map.put(childnodes[i].nodeID, childnodes[i]);
+	}
+	
+	/** Gets the children of this node, but does not guarantee that *their*
+	 * children are set. Will return null either if this NodeData has no 
+	 * children or if this node's children are not set yet. 
+	 * @return an array of all the child Nodes of this ClassifierNode
+	 * (as per its hierarchical structure) or null if these are not yet set
+	 * or if it has no children */
+	public NodeData[] getChildren() { return childnodes; }
+	
+	/**@return a string representation of the values stored in this 
+	 * ClassifierNodeData object: outputs the nodeID and calls show() on any 
+	 * children NodeData objects. It's mainly useful for debugging purposes. */
+	public String show() {
+		StringBuffer buf = new StringBuffer(super.show());
+		buf.append(showMeta());
+		if(this.childnodes != null) {
+			for(int i = 0; i < this.childnodes.length; i++) 
+				buf.append("\n " + this.childnodes[i].show());
+		}
+		return buf.toString();
+	}	
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/CollectionData.java	(revision 15317)
@@ -0,0 +1,351 @@
+/**
+ *#########################################################################
+ * CollectionData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import java.util.Vector;
+import java.util.HashMap;
+
+
+/**
+ * CollectionData represents a Greenstone 3 collection and contains the data
+ * stored in a &lt;collection&gt;&lt;/collection&gt; element returned from a   
+ * MessageRouter's desribe response XML and a Collection describe response XML. 
+ * A CollectionData object can therefore contain services (represented by 
+ * ServiceData), a list of collection-level metadata (represented by MetaData) 
+ * and a list of plugins (represented by PluginData). 
+ * 
+ * ServiceData and PluginData are static inner classes of CollectionData. 
+ * To declare variables of these inner class types in other java files/classes,
+ * import each one: e.g. "import gs3client.CollectionData.ServiceData".
+ * Then they can be used without the outerclass' name for qualification:
+ * i.e. can then use Servicedata sv = new ServiceData(...)
+ * instead of CollectionData.ServiceData sv = new
+ * CollectionData.ServiceData(...).
+ * @author ak19
+*/
+public class CollectionData {
+	/** Stores the location of images and stuff. Not really used at present */
+	protected String url = ""; 
+	
+	/** The basic field of a collection: the name of the collection. This is
+	 * present for collection elements in all describe response messages,
+	 * whether sent from the MessageRouter or from Greenstone collections. */
+	public final String name;
+	
+	/* display items - these fields are set later with setFields() */
+	/** Display name for the Greenstone collection represented by this 
+	 * CollectionData */
+	protected String displayName;
+	/** Description of the Greenstone collection represented by this 
+	 * CollectionData */
+	protected String description;
+	
+	protected String smallIcon;
+	protected String icon;
+	
+	/** List of services supported by this collection */
+	protected ServiceData[] serviceList = null;
+	/** Collection level metadata */
+	protected MetaData[] metadataList = null;
+	/** Greenstone plugins used to build this collection with */
+	protected PluginData[] pluginList = null;
+	
+	/** 
+	 * Gets a &lt;collection&gt;&lt;/collection&gt; element as returned by the 
+	 * <b>MessageRouter's</b> describe response, with only the name field set.
+	 * @param mrCollectionTag the &lt;collection&gt;&lt;/collection&gt; element  
+	 * as returned by a describe response from the <b>MessageRouter</b>.
+	 */
+	public CollectionData(Element mrCollectionTag){
+		// <collection name="NameValue"></collection> - retrieve NameValue first
+		// We'd definitely have a name attribute, but to be on the safe side:
+		this.name = mrCollectionTag.hasAttribute(GSXML.NAME_ATT) ?
+			mrCollectionTag.getAttribute(GSXML.NAME_ATT) : "";
+	}
+	
+	/** 
+	 * Gets a &lt;collection&gt;&lt;/collection&gt; element - as returned by a 
+	 * describe response from a <b>Collection</b> - and sets the member vars using 
+	 * the data in there.
+	 * @param collectionTag is the &lt;collection&gt;&lt;/collection&gt; element  
+	 * as returned by a describe response from a <b>Collection</b>.
+	 */
+	public void setFields(Element collectionTag) {
+		// Get the basic attributes: located in <displayItem> children
+		// of collectionTag:
+		HashMap map = ParseUtil.getElementValuesForAttr(collectionTag,
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME);
+		// Variable map now contains all pairs 
+		// (name-attribute's value, displayItem's bodytext) 
+		// extracted from <displayItem>s of the parent collectionTag element
+		String temp = (String)map.get("name"); 
+		this.displayName = (temp == null || temp.equals("")) ? 
+				this.name : temp;
+		temp = (String)map.get("description");
+		this.description = (temp == null) ? "" : temp;
+		temp = (String)map.get("smallicon");
+		this.smallIcon = (temp == null) ? "" : temp;
+		temp = (String)map.get("icon");
+		this.icon = (temp == null) ? "" : temp;
+		map.clear();
+		map = null;
+		
+		// Now get the serviceList, metadataList, pluginList
+		// (1) Get all the <service></service> in <serviceList> 
+		Vector v = ParseUtil.getListElementsAsArray(collectionTag, 
+				GSXML.SERVICE_ELEM+GSXML.LIST_MODIFIER, GSXML.SERVICE_ELEM);
+		if(v != null) { // v contains individual <service></service> elements
+			serviceList = new ServiceData[v.size()];
+			for(int i = 0; i < serviceList.length; i++)
+				serviceList[i] = new ServiceData((Element)v.get(i));
+			v.clear();
+		}
+		
+		// (2) Get all the <metadata></metadata> elements in <metadataList>
+		v = ParseUtil.getListElementsAsArray(collectionTag, 
+				GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER, GSXML.METADATA_ELEM);
+		if(v != null) { // v contains individual <service></service> elements
+			metadataList = new MetaData[v.size()];
+			for(int i = 0; i < metadataList.length; i++)
+				metadataList[i] = new MetaData((Element)v.get(i));
+			v.clear();
+		}
+		
+		// (3) Get all the <plugin></plugin> elements in <metadataList>
+		// Is it necessary for the Client to keep track of the plugins 
+		// in any collection?
+		
+		v = ParseUtil.getListElementsAsArray(collectionTag, 
+				GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER, GSXML.PLUGIN_ELEM);
+		if(v != null) { // v contains individual <service></service> elements
+			pluginList = new PluginData[v.size()];
+			for(int i = 0; i < pluginList.length; i++)
+				pluginList[i] = new PluginData((Element)v.get(i));
+			v.clear();
+		}
+		v = null;
+	}		
+	
+	/** Useful when adding CollectionData objects to a JList or JCombobox.
+	 * @return the name of the collection represented by this CollectionData */
+	public String toString() { 
+		// return (displayName==null) ? name : displayName; 
+		return name;
+	}
+	
+	/** @return a String displaying the contents of this CollectionData object. 
+	 * Useful for debugging purposes.*/
+	public String show() {
+		StringBuffer buf = new StringBuffer("name: " + name);
+		buf.append(" -displayname: " + displayName);
+		buf.append(" -smallIcon: " + smallIcon);
+		buf.append(" -icon: " + icon);
+		buf.append(" -url: " + url);
+		buf.append("\nColl description: " + description + "\n");
+		
+		if(serviceList != null) {
+			buf.append("\n ServiceList:");
+			for(int i = 0; i < serviceList.length; i++) {
+				buf.append("\n service:");
+				buf.append(" " + serviceList[i].show());
+			}
+		}
+		if(metadataList != null) {
+			buf.append("\n MetadataList:");
+			for(int i = 0; i < metadataList.length; i++) {
+				buf.append("\n metadata:");
+				buf.append(" " + metadataList[i].show());
+			}
+		}
+		if(pluginList != null) {
+			buf.append("\n PluginList:");
+			for(int i = 0; i < pluginList.length; i++) {
+				buf.append("\n plugin:");
+				buf.append(" " + pluginList[i].show());
+			}		
+		}
+		return buf.toString();
+	}
+	
+	/** @return the Info string for the collection reprsented by this 
+	 * CollectionData object. */
+	public String info() { return displayName + "\n" + description; }
+	
+	/* accessor functions - to access the member fields of this CollectionData */
+	public String getName() { return name; }
+	public String getDisplayName() { return displayName; }
+	public String getDescription() { return description; }
+	public String getSmallIcon() { return smallIcon; }
+	public String getIcon() { return icon; }
+	public String getUrl(){ return url; }
+	
+	public MetaData[] getMetadataList() { return metadataList; }
+	public PluginData[] getPluginList() { return pluginList; }
+
+	/** @return the list of services supported by this collection.
+	 * @param executableServicesOnly - if true, only the list of supported query  
+	 * and browse services are returned. Otherwise, all the services in the 
+	 * collection are returned. */
+	public ServiceData[] getServiceList(boolean executableServicesOnly) {
+		if(executableServicesOnly) { // return only the query and browse services
+			ServiceData[] executableServices = null;
+			Vector v = new Vector(serviceList.length);
+			for(int i = 0; i < serviceList.length; i++) {
+				if(serviceList[i].type.equals(GSXML.SERVICE_TYPE_QUERY)
+						|| serviceList[i].type.equals(GSXML.SERVICE_TYPE_BROWSE))
+				v.add(serviceList[i]);
+			}
+			executableServices = new ServiceData[v.size()];
+			v.toArray(executableServices);
+			return executableServices;
+		} else // all services
+			return serviceList;
+	}
+	
+	/**
+	 * Only the name and type of a &lt;service&gt;&lt;/service&gt; element is 
+	 * stored, since this is all the service data available inside a collection's
+	 * response message to a describe request. And we are here dealing with 
+	 * just a CollectionData's service information (hence it's an inner class: 
+	 * CollectionData.ServiceData).
+	 */
+	public static class ServiceData {
+		/** name of the Greenstone service represented by this ServiceData object */
+		public final String name;
+		/** type attribute of &lt;service&gt;&lt;/service&gt; element.
+		 * type is optional and therefore can be empty str. */
+		public final String type; 
+		
+		/**Gets a &lt;service&gt;&lt;/service&gt; element and sets its members using 
+		 * info extracted from it
+		 * @param serviceTag is the &lt;service&gt;&lt;/service&gt; element from
+		 * which this ServiceData object is constructed. */
+		public ServiceData(Element serviceTag){
+			// we'll surely have a name attribute, but to be on the safe side:
+			this.name = serviceTag.hasAttribute(GSXML.NAME_ATT) ? 
+					serviceTag.getAttribute(GSXML.NAME_ATT) : "";
+			// Look for any lang attributes
+			this.type = serviceTag.hasAttribute(GSXML.TYPE_ATT) ?
+				serviceTag.getAttribute(GSXML.TYPE_ATT) : "";
+		}
+		
+		/** Useful when adding ServiceData objects to a JList or JCombobox
+		 * @return the name of this ServiceData, this corresponds to the name of
+		 * the Greenstone Service that this object represents. */
+		public String toString() { return name; }
+		
+		/** @return a String displaying the contents of this ServiceData object. 
+		 * Useful for debugging purposes.*/
+		public String show() {
+			StringBuffer buf = new StringBuffer("name: " + name);
+			if(!type.equals("")) 
+				buf.append(" -type: " + type);
+			buf.append("\n");
+			return buf.toString();
+		}
+	}
+	
+	/** Static inner class MetaData: can import it into other files as
+	 * "import gs3client.CollectionData.MetaData;"
+	 * In this way, can use it as if it were a regular class (a.o.t. an inner 
+	 * class). That is, don't need to prepend the outer-classname if imported
+	 * like this.
+	 * gs3client.MetaData, from which this class inherits, has name, value and 
+	 * bodyText fields. This class adds an additional language field that is 
+	 * sometimes present in a Collection's metadata information. So we include 
+	 * the language as a member variable here in case we ever need it. 
+	*/
+	public static class MetaData extends org.greenstone.gs3client.data.MetaData{
+		public final String language;
+		
+		/** Given a &lt;metadata&gt;&lt;/metadata&gt; element, constructs a 
+		 * CollectionData sets its members using info extracted from it 
+		 * @param metadataTag is the the &lt;metadata&gt;&lt;/metadata&gt; element 
+		 * whose data is used to construct this MetaData object. */
+		public MetaData(Element metadataTag){
+			super(metadataTag);
+			// Look for any lang attributes
+			this.language = metadataTag.hasAttribute("lang") ?
+				metadataTag.getAttribute("lang") : "";
+		}
+		
+		/** @return a String displaying the contents of this MetaData object. 
+		 * Useful for debugging purposes.*/
+		public String show() {
+			StringBuffer buf = new StringBuffer(super.show());
+			if(!language.equals("")) 
+				buf.append(" -lang: " + language);
+			buf.append("\n");
+			return buf.toString();
+		}
+	}
+
+	/** PluginData inner class of CollectionData, represents the data stored in 
+	 * a &lt;plugin&gt;&lt;/plugin&gt; element. This class just stores the 
+	 * Plugin's name, as well as option subelements (in variable optionnames). */
+	public static class PluginData {
+		/** name of the plugin represented by this PluginData object */
+		public final String name;
+		/** A plugin's option subelements. Variable optionnames can be empty 
+		 * (it's an optional variable). */
+		public final String[] optionnames;
+		
+		/** Gets a &lt;plugin&gt;&lt;/plugin&gt; element and sets its members 
+		 * using info extracted from it. 
+		 * @param pluginTag is the the &lt;plugin&gt;&lt;/plugin&gt; element 
+		 * whose data is used to construct this PluginData object. */
+		public PluginData(Element pluginTag){
+			this.name = pluginTag.hasAttribute(GSXML.NAME_ATT) ?
+					pluginTag.getAttribute(GSXML.NAME_ATT) : "";
+			// Look for any option subElements
+			NodeList nl = pluginTag.getElementsByTagName("option");
+			if(nl == null || nl.getLength() == 0) optionnames = null;
+			else {
+				optionnames = new String[nl.getLength()];
+				for(int i = 0; i < optionnames.length; i++) {
+					Element option = (Element)nl.item(i);
+					optionnames[i] = option.getAttribute(GSXML.NAME_ATT);
+				}
+			}
+		}
+
+		/** Useful when adding PluginData objects to a JList or JCombobox. 
+		 * @return the name of the plugin represented by this PluginData object. */
+		public String toString() { return name; }
+		
+		/** @return a String displaying the contents of this PluginData object. 
+		 * Useful for debugging purposes. */
+		public String show() {
+			StringBuffer buf = new StringBuffer("name: " + name);
+			if(optionnames != null){
+				buf.append("\n  optionnames: ");
+				for(int i = 0; i < optionnames.length; i++)
+					buf.append(optionnames[i] + " ");
+			}
+			buf.append("\n");
+			return buf.toString();
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/DocumentNodeData.java	(revision 15317)
@@ -0,0 +1,579 @@
+/**
+ *#########################################################################
+ * DocumentNodeData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Iterator;
+import java.util.Vector;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Map.Entry;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.greenstone.gsdl3.util.GSXML;
+
+
+/** 
+ * Represents the data stored in the &lt;documentNode&gt; Elements
+ * of Greenstone 3's XML response messages. A DocumentNodeData may
+ * have descendants of type DocumentNodeData. Some DocumentNodeData
+ * objects are the root of a structure, others are internal nodes or
+ * leaves. 
+ * See p.47 to p.49 in the manual.
+ * @author ak19
+ */
+public class DocumentNodeData extends NodeData {
+	/** NodeType of this DocumentNodeData: root, internal or leaf */
+	public final String nodeType;
+	/** DocType can be Hierarchical for instance */
+	public final String docType;
+	/** Rank of this DocumentNodeData if the &lt;documentNode&gt; 
+	 * Element was returned in a search result */
+	public final double rank;
+	
+	// not set initially, only set after calling  
+	// setDescendentsOfRootNode(<nodeStructure>)
+	/** Reference to this doc's root */
+	protected DocumentNodeData rootDoc = null; 
+	/** children of this node: part of &lt;nodeStructure&gt; Element */
+	protected DocumentNodeData[] childnodes = null; 
+	
+	/** A Hashmap to store &lt;nodeStructureInfo&gt; of a DocumentNodeData
+	 * (if it has any) */
+	protected HashMap nodeStructureInfo_map = null;
+	
+	/** The text content of the document */
+	protected String nodeContent = null;
+		
+	/** Given tags of the form 
+	 * &lt;documentNode nodeID="HASHac0a04dd14571c60d7fbfd.4.2"
+	 * nodeType="x" docType="y"&gt;
+	 * &lt;nodeContent>Text&lt;/nodeContent&gt;
+	 * &lt;nodeStructureInfo>&lt;info name="i" value="1" /&gt;
+	 * &lt;info name = "ii" value = "2" /&gt;&lt;/nodeStructureInfo&gt;
+	 * &lt;metadataList&gt;&lt;metadata name="a"&gt;Value
+	 * &lt;/metadata&gt;&lt;/metadataList&gt;
+	 * &lt;nodeStructure&gt;
+	 * 		&lt;documentNode ....>&lt;/documentNode&gt;
+	 * 		&lt;documentNode ....>&lt;/documentNode&gt;
+	 * &lt;/nodeStructure&gt;
+	 * &lt;/documentNode&gt;
+	 * this constructor extracts the nodeId out of it and any other fields 
+	 * that might be set in the docNodeTag &lt;documentNode&gt; element.
+	 * @param docNodeTag is an &lt;documentNode&gt; XML element to construct
+	 * this DocumentNodeData object from  
+	*/
+	public DocumentNodeData(Element docNodeTag){
+		// We'd definitely have the nodeID attribute, but to be on the safe 
+		// side:
+		super(docNodeTag);
+				
+		// this.nodeType and this.docType will be set: these attributes are
+		// there in the <documentNode> elements of all Query Responses as
+		// well as in <documentNode>s of documentStructureRetrieve responses.
+		this.nodeType = docNodeTag.hasAttribute(GSXML.NODE_TYPE_ATT) ?
+				docNodeTag.getAttribute(GSXML.NODE_TYPE_ATT) 
+				: GSXML.NODE_TYPE_ROOT; //DEFAULTING TO ROOT IF NONE SPECIFIED!
+				
+		this.docType = docNodeTag.hasAttribute(GSXML.DOC_TYPE_ATT) ?
+				docNodeTag.getAttribute(GSXML.DOC_TYPE_ATT) : "";
+				// OR default to GSXML.DOC_TYPE_SIMPLE????
+		
+		String rankVal = docNodeTag.hasAttribute(GSXML.NODE_RANK_ATT) ? 
+				docNodeTag.getAttribute(GSXML.NODE_RANK_ATT) : "0";
+		this.rank = Double.parseDouble(rankVal); 		
+				
+		// If <documentNode> has no <metadataList> child, then member variable
+		// metadataList remains null and can be set later if and as required.
+		setMetadataList(docNodeTag);
+		
+		// structureInfo either initialised if there <documentNode> has a child
+		// element called <nodeStructureInfo>, else it remains null. 
+		setNodeStructInfo(docNodeTag);
+		
+		// Sets member nodeContent (the text content of the document) to the
+		// document's text if this <documentNode> has a child <nodeContent>. 
+		// If there is no such child, nodeContent will be set to empty string. 
+		setNodeContent(docNodeTag);
+	}
+	
+	/** Given a &lt;nodeStructure&gt;&lt;/nodeStructure&gt; element returned   
+	 * from a request for the *ENTIRE* nodeStructure, this method will find the  
+	 * &lt;documentNode&gt; that is the Root (nodeType=ROOT) and from there
+	 * on proceed to set all descendent &lt;documentNode&gt;s.
+	 * If either the root or any descendent &lt;documentNode&gt;s have already 
+	 * been instantiated at any point during program execution, it will
+	 * be reused, else a new object representing that descendent/root
+	 * &lt;documentNode&gt; will be created.
+	 * The nodeIDsToDocNodes_map is a mapping of nodeIDs to existing 
+	 * documentNodeData objects, so that the DocumentNodeData objects with 
+	 * the same ID need not be instantiated where they already exist.
+	 * This method returns the rootNode if it completes successfully,
+	 * otherwise it returns null.
+	 * @param nodeStructure is the &lt;nodeStructure&gt;&lt;/nodeStructure&gt; 
+	 * element returned from a request for the *ENTIRE* nodeStructure
+	 * @param nodeIDsToDocNodes_map is the Map of node IDs to DocumentNodeData
+	 * objects being maintained
+	 * @return the root DocumentNodeData object of the &lt;documentNode&gt;s
+	 * in the &lt;nodeStructure&gt;
+	*/
+	public DocumentNodeData setDescendentsOfRootNode(Element nodeStructure, 
+			Map nodeIDsToDocNodes_map) 
+	{
+		// First find <documentNode> inside <nodeStructure> where 
+		// nodeType==ROOT. This always happens to be the first 
+		// <documentNode> child of <nodeStructure> 
+		// Use this root <docNode> to set its children and all descendents
+		// If there is no <docNode nodetype==ROOT>, return false.
+		Element rootDocNodeTag = ParseUtil.getFirstChildElementCalled(
+				nodeStructure, GSXML.DOC_NODE_ELEM);
+		
+		// These cases shouldn't occur, but to be on the safe side -
+		// Actually, this happens with project gutenberg searches: where
+		// docType and nodeType are not set and the <nodeStructure>
+		// contains no child <documentNode>. In such cases, make this
+		// documentNodeData the root.
+		if(rootDocNodeTag == null) {
+			rootDoc = this;
+			return rootDoc;
+		}
+		String type = rootDocNodeTag.getAttribute(GSXML.NODE_TYPE_ATT);
+		if(!type.equals(GSXML.NODE_TYPE_ROOT)) {
+			rootDoc = this; // Case of first <docNode> of <nodeStructure>
+			return rootDoc; // nodetype != root -> this shouldn't happen
+				// but if there's only 1 node and it's a leaf, make it
+				// the root. This actually happens in simple image collections
+				// which have no substructures containing further images
+			//return null;    
+		}
+		// We found the root node Element we want, get its NodeID,
+		// and then start processing the root node for descendents
+		String ID = rootDocNodeTag.hasAttribute(GSXML.NODE_ID_ATT) ?
+					rootDocNodeTag.getAttribute(GSXML.NODE_ID_ATT) : "";
+					
+		// try to find this ID in HashMap of already instantiated
+		// documentNodeData objects - if it exists, set children
+		// on that. If it doesn't, then create new object and set
+		// the children+descendents on that. (Creating new object
+		// will automatically add it to the hashMap
+		DocumentNodeData root = null;
+		if(nodeIDsToDocNodes_map.containsKey(ID))
+			root = (DocumentNodeData)nodeIDsToDocNodes_map.get(ID);
+		else  {
+			// not in HashMap, so create a new docNode (this will set
+			// nodeType and docType) and add it to the map
+			root = new DocumentNodeData(rootDocNodeTag);
+			nodeIDsToDocNodes_map.put(root.nodeID, root);
+		}
+		
+		this.rootDoc = root;
+		
+		// either way, we have a root node now, so set its children
+		root.setDescendents(root, rootDocNodeTag, nodeIDsToDocNodes_map); 
+					// docNodeTag of root
+		
+		return root;
+	}
+	
+	
+	/** 
+	 * Recursive method.
+	 * Called by setDescendentsOfRootNode(). Given a docNodeTag (of the Root)
+	 * which was nested within a &lt;nodeStructure&gt; element, this method sets
+	 * all the descendents of that root. This means that each documentNodeData
+	 * object in the hierarchy of the root will have its childnodes[] variable
+	 * set, iff that object is not a nodeType==LEAF. With leaves, the  
+	 * childnodes array will remain null.
+	 * The nodeIDsToDocNodes_map is a mapping of nodeIDs to existing 
+	 * documentNodeData objects, so that the DocumentNodeData objects with the
+	 * same ID need not be instantiated where they already exist.
+	 * @param root - the root element of this documentNodeData
+	 * @param docNodeTag - the &lt;documentNode&gt; XML Element of the Root
+	 * nested within a &lt;nodeStructure&gt; element
+	 * @param nodeIDsToDocNodes_map is the Map of node IDs to DocumentNodeData
+	 * objects being maintained
+	 */
+	protected void setDescendents(DocumentNodeData root, Element docNodeTag, 
+		Map nodeIDsToDocNodes_map) 
+	{
+		if(this.nodeType.equals(GSXML.NODE_TYPE_LEAF))
+				return; // no children
+		
+		Vector children = ParseUtil.getAllChildElementsCalled(
+				docNodeTag, GSXML.DOC_NODE_ELEM);
+		if(children == null) // shouldn't have to check this, as the check
+							// on nodeType==LEAF above would have been enough 
+			return; // no children, hence no descendents
+		
+		// else, obtain and instantiate DocumentNodeData objects
+		// on each of the children
+		this.childnodes = new DocumentNodeData[children.size()];
+		for(int i = 0; i < childnodes.length; i++) {
+			Element childDocNodeTag = (Element)children.get(i);
+			String ID = childDocNodeTag.hasAttribute(GSXML.NODE_ID_ATT) ?
+					childDocNodeTag.getAttribute(GSXML.NODE_ID_ATT) : "";
+			
+			if(nodeIDsToDocNodes_map.containsKey(ID))
+				childnodes[i] 
+				     = (DocumentNodeData)nodeIDsToDocNodes_map.get(ID);
+			else { //not yet in the map of documentNodeData objects, so  
+				// create a new DocumentNodeData and add it to the map 
+				childnodes[i] = new DocumentNodeData(childDocNodeTag);
+				nodeIDsToDocNodes_map.put(childnodes[i].nodeID, childnodes[i]);
+			}
+			// set the root for the descendent:
+			childnodes[i].rootDoc = root; 
+			// Now set its children and so on until all descendents indicated
+			// in the <nodestructure><documentNode /></nodestructure> have
+			// been set.
+			childnodes[i].setDescendents(
+					root, childDocNodeTag, nodeIDsToDocNodes_map);
+		}
+	}
+	
+	/* Can call these methods later as well (after constructor). If the 
+	 * docNodeTag passed to the constructor did not have these attributes, 
+	 * can set them later with a docNodeTag of the same nodeID that does
+	 * have these attributes set. */
+			
+	/** Sets structureInfo member variable &lt;nodeStructureInfo&gt; element is  
+	 * present as child of &lt;documentNode&gt;, else value of structureInfo 
+	 * remains unchanged. A &lt;docNode&gt; has no more than one child   
+	 * &lt;nodeStructureInfo&gt; in a response to a DocumentStructureRetrieve.  
+	 * However, the response can contain many such &lt;docNodes&gt;. 
+	 * See manual p.49. 
+	 * @param docNodeTag is the &lt;documentNode&gt; XML element containing
+	 * the &lt;nodeStructureInfo&gt; Element that is to be processed */
+	public void setNodeStructInfo(Element docNodeTag) {
+		NodeList nl = docNodeTag.getElementsByTagName(
+				GSXML.NODE_STRUCTURE_ELEM+GSXML.INFO_ATT);
+		if(nl.getLength() > 0) {
+			// get the first <nodeStructureInfo> (which will be the only
+			// <nodeStructureInfo> for this <docNode>
+			Element nodeStructInfoTag = (Element)nl.item(0);
+			nl = null;
+			// Get any children <info> tags and extract data-values from them
+			nl = nodeStructInfoTag.getElementsByTagName("info");
+			int size = nl.getLength(); 
+			if(size > 0) {
+				nodeStructureInfo_map = new HashMap(size);
+				for(int i = 0; i < size; i++) {
+					Element infoTag = (Element)nl.item(i); 
+					String name = infoTag.hasAttribute(GSXML.NAME_ATT) ?
+							infoTag.getAttribute(GSXML.NAME_ATT) : "";
+					String value = infoTag.hasAttribute(GSXML.VALUE_ATT) ?
+							infoTag.getAttribute(GSXML.VALUE_ATT) : "";
+					nodeStructureInfo_map.put(name, value);		
+				}
+			}
+		}
+		// in all other cases, nodeStructureInfo_map remains null
+	}	
+	
+	/** Sets member variable nodeContent with the text (if any) inside any 
+	 * &lt;nodeContent&gt;&lt;/nodeContent&gt; child element of 
+	 * &lt;documentNode&gt;, else the value of nodeContent is set to empty 
+	 * string (""). The empty string will prevent it from being retrieved again
+	 * and again (which would happen if nodeContent remained at null) if it had
+	 * already been retrieved once.
+	 * However, if the docNodeTag parameter is not the response from
+	 * a documentContentRetrieve (if it doesn't have the proper XML 
+	 * structure for that), nodeContent remains null and can be set
+	 * in future when given an appropriate docNodeTag. 
+	 * @param docNodeTag is the &lt;documentNode&gt; XML element containing
+	 * the content information for this DocumentNodeData object */
+	public void setNodeContent(Element docNodeTag) {
+		Element nodeContentTag = ParseUtil.getFirstChildElementCalled(
+				docNodeTag, GSXML.NODE_CONTENT_ELEM);
+		if(nodeContentTag != null) { //such a child tag exists
+			//obtain its child textNode and the value thereof
+			Node content = nodeContentTag.getFirstChild();
+			// content will be null if <nodeContent /> instead of 
+			// <nodeContent></nodeContent>
+			this.nodeContent 
+				=  (content == null) ? "" : content.getNodeValue();
+			
+			// Now to fix the html if it's not already proper:
+			if(nodeContent.startsWith("<Sec>")) { // remove starting <Sec>
+						// it's not a recognised tag in html
+				nodeContent = nodeContent.substring(5); 
+				nodeContent = nodeContent.trim();
+				if(nodeContent.startsWith("</")) {
+					// first closing bracket
+					int index = nodeContent.indexOf(">");
+					// remove any starting </B> or </I>
+					nodeContent =  nodeContent.substring(index+1);
+					nodeContent = nodeContent.trim();
+				}
+			}
+			// Finally, make sure it has the proper starting (and ending tags)
+			if((!nodeContent.startsWith("<html>")) 
+					|| (!nodeContent.startsWith("<HTML>"))) {
+				nodeContent = "<html><head></head><body>"
+					+ nodeContent + "</body></html>";
+			}
+		} 
+		// else leave nodeContent as null, docNodeTag was not returned 
+		// as the result of a docContentRetrieve response
+	}
+	
+	
+	/** @return the data stored in this DocumentNodeData object, all except 
+	 * the document content which can be accessed by calling toString(). 
+	 * This method is useful for debugging purposes: to view what each
+	 * field's values are. */
+	public String show() {
+		StringBuffer buf = new StringBuffer("nodeID: " + this.nodeID);
+		buf.append(" nodeType: " + this.nodeType);
+		buf.append(" docType: " + this.docType);
+		
+		if(nodeStructureInfo_map != null) {
+			buf.append("NodeStructureInfo:");
+			Iterator i = nodeStructureInfo_map.entrySet().iterator();
+			while(i.hasNext()) {
+				Entry e = (Entry)i.next();
+				buf.append("\nname: " + (String)e.getKey());
+				buf.append(" value: " + (String)e.getValue());
+			}
+		}
+		buf.append("\n");
+		buf.append(showMeta());
+		return buf.toString();
+	}
+	
+	/** @return true if the (nodeType of) this DocumentNodeData is a leaf */
+	public boolean isLeaf() { return nodeType.equals(GSXML.NODE_TYPE_LEAF); }
+	
+	/* Accessor methods */
+	/** @return the nodeType of this DocumentNodeData */
+	public String getNodeType() { return nodeType; }
+	/** @return the docType of this DocumentNodeData */
+	public String getDocType() { return docType; }
+	
+	/** @return the root of the structure of which this documentNodeData
+	 * is part (this docNodeData is either the root itself or its child
+	 * or descenedent). A null is returned if the Root docNode and its
+	 * descendents have not been set yet. */
+	public DocumentNodeData getRoot() { return this.rootDoc; }
+		
+	/** @return this document's text content (which may be empty string 
+	 * if there was none). It will return null if the nodeContent has
+	 * not been set yet. */
+	public String getContent() { return nodeContent; }
+	
+	/** @return an array of all this DocNode's children. Each childnode 
+	 * in turn, can further contain children, etc. Null is returned if
+	 * there are no childnodes or if setDescendentsOfRootNode() has not
+	 * been called (that is, if the root has not yet been set). */ 
+	public DocumentNodeData[] getDescendents() { return childnodes; }
+	
+	/** @return gets the children (NodeData) of this DocumentNodeData
+	 * but does not guarantee that their children are set. That is,
+	 * it's possible that this DocumentNodeData's children may have 
+	 * children of their own but that these may not be set yet (and
+	 * are temporarily still null). */
+	public NodeData[] getChildren() { return childnodes; }
+	
+	/** When called on a rootNode, returns an array of all the descendents' 
+	 * nodeIDs. If this object is not a rootNode, it returns null. 
+	 * Parameter onlyTheUntitled, if true, makes this method return only the   
+	 * nodeIDs of those documentNodeData descendents for whom the title has 
+	 * not yet been set.
+	 * If false, the nodeIDs of all dDcumentNodeData descendents will be
+	 * returned, regardless of whether their titles are already set. 
+	 * @param onlyTheUntitled - if true this method is only to return those 
+	 * descendants' IDs whose titles have not yet been set. If false,
+	 * all descendants' nodeIDs are returned.
+	 * @return an array of all the descendant DocumentNodeData's NodeIDs */
+	public String[] getDescNodeIDsAsList(boolean onlyTheUntitled) {
+		String[] nodeIDs = null;
+		if(this.nodeType.equals(GSXML.NODE_TYPE_ROOT)) {
+			Vector v = new Vector();
+			if(!onlyTheUntitled || this.getTitle() == null)
+				v.add(this.nodeID); // add root only if its title not yet set
+			descNodeIDsAsList(v, this, onlyTheUntitled);
+			if(v.size() > 0) {
+				nodeIDs = new String[v.size()];
+				v.toArray(nodeIDs);
+			} // else if v.size() == 0, this method will return null
+		}
+		return nodeIDs;
+	}
+	
+	/** Recursive method that adds all the nodeIDs of the descendents
+	 * of DocumentNodeData parent into the Vector v.
+	 * If parameter onlyTheUntitled=true, then only the nodeIDs of the
+	 * untitled DocumentNodeData descendents are added in. Otherwise,
+	 * all descendents' nodeIDs are.
+	 * @param v is the Vector being populated with descendant documentNodeData's
+	 * IDs.
+	 * @param parent is the parent DocumentNodeData node currently being
+	 * considered in this recursion step.
+	 * @param onlyTheUntitled should be true if only those descendant 
+	 * DocumentNodeData objects that don't yet have a title need to be returned. 
+	 * If false, it returns all descendants' nodeIDs in the Vector v. */
+	protected static void descNodeIDsAsList(Vector v, 
+			DocumentNodeData parent, boolean onlyTheUntitled) 
+	{
+		// Recursion
+		// Base case:
+		if(parent.childnodes == null)
+			return; 
+		for(int i = 0; i < parent.childnodes.length; i++) {
+			// Now comes step that does actual processing:
+			
+			// if only asking for NodeIDs of descendents whose titles
+			// aren't set yet, then: 
+			if(!onlyTheUntitled || parent.childnodes[i].getTitle() == null)
+				v.add(parent.childnodes[i].nodeID); 
+				// above if-stmt should add the desc nodeID for either 
+				// - all descendents (if onlyTheUntitled=true); or  
+				// - otherwise, only for those whose title is not set yet
+			
+			// Recursion step:
+			DocumentNodeData.descNodeIDsAsList(
+					v, parent.childnodes[i], onlyTheUntitled); 
+		}
+	}
+	
+	/** @return true if this documentNode's root is associated with the
+	 * ImagePlug or PagedImgPlug. 
+	 * @see <a href="http://wiki.greenstone.org/wiki/gsdoc/tutorial/en/scanned_image_collection.htm">The scanned image collection, for names of Plugin metadata values PagedImgPlug and ImagePlug</a> */
+	public boolean canBeImage() {
+		if(this.rootDoc == null) {
+			return false;
+		}
+		// else 
+		if(!this.rootDoc.nodeMetadata.containsKey("Plugin")) {
+			return false; // this shouldn't happen: 
+					// I think every root has Plugin meta
+		}
+		// else
+		Vector values = (Vector)this.rootDoc.nodeMetadata.get("Plugin");
+		String plugin = (String)values.get(0);
+		
+		final String imagePlug = "PagedImgPlug";
+		final String pagedImgPlug = "ImagePlug";
+		if(plugin.equals(pagedImgPlug) || plugin.equals(imagePlug)) 
+			return true;
+		else 
+			return false;
+	}
+	
+	/** @return value of "notext" metadata field, if any. If true, this 
+	 * indicates that the document is purely an image. Otherwise it indicates
+	 * that there is both a text view and an image view associated with this
+	 * document. */
+	public boolean hasNoText() {
+		if(this.nodeMetadata == null)
+			return false; // deal with any odd cases
+		
+		if(!this.nodeMetadata.containsKey("NoText"))
+			return false; // no NoText metadata, so it probably has text
+		Vector values = (Vector)this.nodeMetadata.get("NoText");
+		String noText = (String)values.get(0);
+		int val = Integer.parseInt(noText);
+		return (val == 1); // 0 if it has text, 1 if indeed it has no text 
+	}
+		
+	/** @return the image url stored in the "srcicon" metadata field, if any. */
+	public String getImgURL() {
+		if(this.nodeMetadata == null)
+			return ""; // deal with any odd cases
+		
+		if(!this.nodeMetadata.containsKey("srclink"))
+			return "";
+		Vector values = (Vector)this.nodeMetadata.get("srclink");
+		String imgTag = (String)values.get(0);
+		// now we got <a href="somelink">; extract just the "somelink" portion
+		int startindex = imgTag.indexOf('\"');
+		int endindex = imgTag.lastIndexOf('\"');
+		imgTag = imgTag.substring(startindex, endindex+1);
+		
+		// remove the macro - if present - and replace it with the 
+		// assocFilePath mentioned in the document's root's metadata
+		startindex = imgTag.indexOf('[');
+		if(startindex != -1 && imgTag.contains("assocfilepath")) {
+			if(this.rootDoc == null) // need root doc to get assocfilepath
+				return "";
+			// else
+			endindex = imgTag.indexOf(']');
+			imgTag = imgTag.substring(0, startindex) 
+				+ getAssocFilePath()
+				+ imgTag.substring(endindex+1, imgTag.length());
+		}
+		return imgTag;
+	}
+	
+	/** @return the Source metadata value which represents the image file
+	 *  name. Returns "" if this DocumentNodeData is not a root or does not
+	 *  have Source meta. */
+	public String getImgName() {
+		if(this.rootDoc == null)
+			return "";
+		// else
+		if(!this.nodeMetadata.containsKey("Source"))
+			return "";
+		// else
+		Vector values = (Vector)this.nodeMetadata.get("Source");
+		return (String)values.get(0);
+	}
+	
+	/** @return the vector of values for metadata name "gsdlassocfile": a vector
+	 *  of MetaPairs(filename, mimetype).
+	 * An empty vector is returned for all docNodes other than the root. And the 
+	 * root too need not always have associated files listed in its metadata. */
+	public Vector getAssociatedFileNames() {
+		Vector v = new Vector();
+		final char COLON = ':';
+		if(this.nodeMetadata.containsKey("gsdlassocfile")) {
+			Vector assocFileNames = (Vector)nodeMetadata.get("gsdlassocfile");
+			for(int i = 0; i < assocFileNames.size(); i++) {
+				// assocFileNames are stored in format "cover.jpg:image/jpeg:"
+				// need to split these to separate the name from the mimetype
+				String filename = (String)assocFileNames.get(i);
+				int firstColon = filename.indexOf(COLON); 
+				String mimetype = filename.substring(
+					firstColon+1, filename.lastIndexOf(COLON));
+				filename = filename.substring(0, firstColon);
+				Pair p = new Pair(filename, mimetype);
+				// (we're not going to be sorting these pairs, so we make 
+				// no use of each Pair's Comparable nature)
+				v.add(p);
+			}
+		}
+		return v; // returns empty vector if no gsdlassocfile metadata
+	}
+	
+	/** @return the root document's assocfilepath metadata field, if any. 
+	 * This will indicate the directory path where the associated images
+	 * and other files are stored. */
+	public String getAssocFilePath() {
+		if(this.rootDoc == null)
+			return "";
+		// else, check for rootDoc having "assocfilepath" metadata:
+		if(!rootDoc.nodeMetadata.containsKey("assocfilepath"))
+			return "";
+		Vector values = (Vector)rootDoc.nodeMetadata.get("assocfilepath");
+		return (String)values.get(0);
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/MetaData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/MetaData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/MetaData.java	(revision 15317)
@@ -0,0 +1,76 @@
+/**
+ *#########################################################################
+ * MetaData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Element;
+
+/** 
+ * Stores the name, value and value of body textnode of a simple &lt;metadata&gt;
+ * element. &lt;metadata name="str" value="str"&gt;bodyvalue&lt;/metadata&gt; 
+ * @author ak19
+*/
+public class MetaData {
+	/* Data fields in a &lt;metadata&gt; element */
+	/** Name attribute of a &lt;metadata&gt; */
+	public final String name;
+	/** Value attribute of a &lt;metadata&gt; - this may or may not be there */
+	public final String value; 
+	/** Text node content of a &lt;metadata&gt; - the textnode may be empty, in
+	 * which case this will be set to "" */
+	public final String bodyText;
+	
+	/** Constructor that creates a MetaData object from a 
+	 * &lt;metadata&gt;&lt;/metadata&gt; element by setting its members fields 
+	 * using info extracted from the element. 
+	 * @param metadataTag is the &lt;metadata&gt; element whose data is used
+	 * to construct this MetaData object */
+	public MetaData(Element metadataTag){
+		// we'd definitely have a name attribute, but to be safe:
+		this.name = metadataTag.hasAttribute(GSXML.NAME_ATT) ?
+				metadataTag.getAttribute(GSXML.NAME_ATT) : "";
+		//value need to be present		
+		this.value = metadataTag.hasAttribute(GSXML.VALUE_ATT) ?
+				metadataTag.getAttribute(GSXML.VALUE_ATT) : "";
+				
+		// Look for any values nested inside <metadata></metadata>:
+		if(metadataTag.hasChildNodes()) 
+					// && metadataTag.getFirstChild() != null
+			// get its textnode's text:
+			this.bodyText = metadataTag.getFirstChild().getNodeValue(); 
+		else this.bodyText = "";
+	}
+	
+	/** @return the name of this Metadata object. Useful when adding MetaData
+	 * objects to a JList or JCombobox */
+	public String toString() { return name; }
+	
+	/** @return a String displaying the contents of this MetaData object. 
+	 * Useful for debugging purposes.*/
+	public String show() {
+		StringBuffer buf = new StringBuffer("name: " + name);
+		if(!value.equals("")) 
+			buf.append(" -value: " + value);
+		if(!bodyText.equals("")) 
+			buf.append(" -bodyText: " + bodyText);
+		return buf.toString();
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/NodeData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/NodeData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/NodeData.java	(revision 15317)
@@ -0,0 +1,220 @@
+/**
+ *#########################################################################
+ * NodeData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import java.util.Vector;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.greenstone.gs3client.data.ClassifierNodeData;
+import org.greenstone.gsdl3.util.GSXML;
+
+/** 
+ * Abstract superclass NodeData can represent either a the information in
+ * a &lt;classifierNode&gt; (stored in a ClassifierNodeData object) or in a
+ * &lt;documentNode&gt; (stored in a DocumentNodeData object).
+ * @author ak19 
+*/
+public abstract class NodeData {
+	/** The unique nodeID identifying this documentNode or classificationNode */
+	public final String nodeID;
+	
+	/** Since we are setting the descendents lazily (only setting the children
+	 * each time), we have a little flag to indicate whether this node has
+	 * any children. */
+	public final boolean hasChildren;
+	/** stores this NodeData's tag element: can be either 
+	 * &lt;documentNode&gt; or &lt;classifierNode&gt; */
+	protected final Element nodeTag; 
+	
+	/** Map of the metadata (name, value) pairs of this document- 
+	 * or classifier-node */
+	protected Map nodeMetadata = null;
+
+	/** @return an array of the children of this NodeData, however such a
+	 * structure may be stored internally by a NodeData subclass. */
+	public abstract NodeData[] getChildren();
+	
+	/** Constructor that extracts the nodeID value from the given nodeTag:
+	 * &lt;classifierNode nodeID = "x" /&gt; 
+	 * or &lt;documentNode nodeID = "x" /&gt; */
+	public NodeData(Element nodeTag) {
+		this.nodeTag = nodeTag; // store this node's tag information. Useful
+					// for when we are setting the children of this NodeData
+		this.hasChildren = this.nodeTag.hasChildNodes();
+		
+		// We'd definitely have the nodeID attribute, but to be on the safe 
+		// side, check it's there first:
+		this.nodeID = nodeTag.hasAttribute(GSXML.NODE_ID_ATT) ?
+			nodeTag.getAttribute(GSXML.NODE_ID_ATT) : "";
+	}	
+	
+	/** 
+	 * Sets member metadataList if there is a &lt;metadataList&gt; subelement in
+	 * docNodeTag: first get the &lt;metadataList&gt; then its &lt;metadata&gt; 
+	 * children 
+	 * @param nodeTag is a documentNode or classifierNode XML Element that
+	 * contains metadata information which is used to set this NodeData object's
+	 * metadata (if there are any, the HashMap nodeMetadata will be set). */
+	public void setMetadataList(Element nodeTag) {
+		NodeList metaList = nodeTag.getElementsByTagName(
+				GSXML.METADATA_ELEM);
+		// will return empty metaList collection if there's none, so check for
+		// size instead of null:
+		int size = metaList.getLength(); 
+		if(size > 0) {
+			if(nodeMetadata == null) // if we check for this, can call 
+						// setMetadataList() on this DocNodeData obj many times 
+						// - each time with different <metadata> name-val pairs
+				nodeMetadata = new HashMap(size);
+			for(int i = 0; i < size; i++) {
+				// we know each is an element, as we got all desc elements
+				// of this <documentNode> that are <metadata>
+				Element meta = (Element)metaList.item(i); 
+				String name = meta.getAttribute(GSXML.NAME_ATT);
+				Node e = meta.getFirstChild(); 
+				// If not null, e should be a textNode now: get its value
+				String bodyText = (e == null) ? "" : (String)e.getNodeValue();
+				// nodeMetadata.put(name, bodyText);
+				if(nodeMetadata.containsKey(name)) {
+					// key already exists, get the array of values mapping to that
+					// metadata name (= key)
+					Vector values = (Vector)nodeMetadata.get(name);
+					// check if the last value is the same as
+					// what we're trying to insert
+					String value = (String)values.get(values.size()-1);
+					if(!value.equals(bodyText)) // don't add duplicates
+						// append the new metadata value to the vector v:
+						values.add(bodyText);
+				} else { // create a new (key, val) pair by creating a new vector 
+					// (= value) mapping to the new key
+					Vector values = new Vector();
+					values.add(bodyText);
+					nodeMetadata.put(name, values);
+				}
+			}
+		}
+	}
+	
+	/** Called when setting descendents lazily: only the children of this
+	 * node are set. We don't care to setDescendents now, will set it later
+	 * when necessary. 
+	 * @param v is an empty/non-null Vector which will, at method's end, contain  
+	 * all the Document- or ClassifierNodeData objects that are children of
+	 * this NodeData object. */
+	protected void setChildren(Vector v, Map idsToNodes_map) 
+	{
+		// first get all child elements of type docNode or classifierNode:
+		NodeList children = nodeTag.getChildNodes();
+		if(children.getLength() == 0)
+			return; // no children, this.childnodes remains at null
+		
+		int size = children.getLength();
+		for(int i = 0; i < size; i++) {
+			Node n = children.item(i);
+			// For Element-nodes, getNodeName() returns the tag name.
+			// It *never* returns null for *any* Node type
+			if(n.getNodeName().equals(GSXML.CLASS_NODE_ELEM)) {
+				Element nodeElementTag = (Element)n;
+				if(!nodeElementTag.hasAttribute(GSXML.NODE_ID_ATT))
+					continue; // should not ever be the case
+					// skip any element that does not have a nodeID Attr
+				
+				String id = nodeElementTag.getAttribute(GSXML.NODE_ID_ATT);
+				if(!idsToNodes_map.containsKey(id)) 
+					v.add(new ClassifierNodeData(nodeElementTag));
+				else
+					v.add(idsToNodes_map.get(id));
+			} else if(n.getNodeName().equals(GSXML.DOC_NODE_ELEM)) {
+				Element nodeElementTag = (Element)n;
+				if(!nodeElementTag.hasAttribute(GSXML.NODE_ID_ATT))
+					continue; // should not ever be the case
+					// skip any element that does not have a nodeID Attr
+				
+				String id = nodeElementTag.getAttribute(GSXML.NODE_ID_ATT);
+				if(!idsToNodes_map.containsKey(id))
+					v.add(new DocumentNodeData(nodeElementTag));
+				else
+					v.add(idsToNodes_map.get(id));
+			} // else: tends to be an empty textNode ("#text"), skip that
+		}
+	}
+	
+	/** @return a hashmap of this document's metadata (name, val) pairs.
+	 * A null is returned if the nodeMetadata has not been set yet. */
+	public Map getMetadataList() { return nodeMetadata; }
+	
+
+	/** @return the title of this docNodeData object, if any is set. If it's 
+	 * not been set yet (title metadata not yet set, a null is returned. */
+	public String getTitle() {
+		// Each metadata (like Title) may be an array of values. 
+		// Here we return the first title in the array.
+		if(this.nodeMetadata != null && this.nodeMetadata.containsKey("Title")) 
+		{ 	// we know there's a title key now 
+			
+			Vector v = (Vector)this.nodeMetadata.get("Title");
+			return (String)v.get(0); // return first Title element 
+		} 
+		else return null; // when nodeMetadata == null or no Title key
+	}
+	
+	/** @return the title of this docNodeData object, if any.
+	 * Otherwise the nodeID is returned.
+	 * This method is useful for displaying this docNodeData object as a 
+	 * node in a JTree. Some meaningful displayable value is returned, 
+	 * unlike getTitle() which returns a null if title is not set yet. */
+	public String toString() { 
+		String title = getTitle(); 
+		return (title == null) ? this.nodeID : title;
+	}
+	
+	/** @return the details contained in this NodeData object.
+	 * Useful for debugging purposes. */
+	public String show() { return this.nodeID; }
+	
+	/** @return a String representation of the contains of the 
+	 * nodeMetadata list (useful for debugging purposes). */
+	public String showMeta() {
+		StringBuffer buf = new StringBuffer();
+		if(nodeMetadata != null && !nodeMetadata.isEmpty()) {
+			buf.append("Metadata:\n");
+			Set entrySet = nodeMetadata.entrySet();
+			Iterator i = entrySet.iterator();
+			while(i.hasNext()) {
+				Entry entry = (Entry)i.next(); // Map.Entry
+				buf.append("   name: " + (String)entry.getKey() + " values: ");
+				Vector values = (Vector)entry.getValue();
+				for(int j = 0; j < values.size(); j++)
+					buf.append((String)values.get(j) + ", ");
+				buf.append("\n");
+			}
+		}
+		return buf.toString();
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/Pair.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/Pair.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/Pair.java	(revision 15317)
@@ -0,0 +1,73 @@
+/**
+ *#########################################################################
+ * Pair.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Vector;
+
+/** Pair is a simple utility class to represent two associated String values.
+ * For instance, a Metadata (name, value) pair to be displayed in either  
+ * SearchResultsDisplay or BrowseDisplay's metanames and metavalues
+ * JLists. (These two classes can be found in org.greenstone.gs3client.)
+ * A Comparator--like the one provided by org.greenstone.gs3client.Displays' 
+ * inner class MetadataComparator--is necessary to ensure that the "natural  
+ * ordering" of any List of metadata Pairs will be as required. This class
+ * does not implement Comparable so that it may be used for other purposes
+ * than storing ordered Metadata pairs, which is why using an external
+ * Comparator to provide the sorting facility is more useful. 
+ * @author ak19 */
+public class Pair {
+	/** first item of the Pair */
+	public final String first;
+	/** second item of the Pair */
+	public final String second;
+	
+	/** Constructor that creates a Pair from two String values. 
+	 * @param a - the value for the first item of the Pair 
+	 * @param b - the value for the second item of the Pair. */
+	public Pair(String a, String b) {
+		first = a;
+		second = b;
+	}
+	
+	/** Given a Vector of Pairs, returns an array of all the first
+	 * values of each Pair.
+	 * @return all the first fields in a Vector of pairs as an array. */
+	public static String[] getFirst(Vector pairs) {
+		String[] firsts = new String[pairs.size()];
+		for(int i = 0; i < pairs.size(); i++) {
+			Pair p = (Pair)pairs.get(i);
+			firsts[i] = p.first;
+		}
+		return firsts;
+	}
+	
+	/** Given a Vector of Pairs, returns an array of all the second
+	 * values of each Pair.
+	 * @return all the second fields in a Vector of pairs as an array. */
+	public static String[] getSecond(Vector pairs) {
+		String[] seconds = new String[pairs.size()];
+		for(int i = 0; i < pairs.size(); i++) {
+			Pair p = (Pair)pairs.get(i);
+			seconds[i] = p.second;
+		}
+		return seconds;
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ParseUtil.java	(revision 15317)
@@ -0,0 +1,190 @@
+/**
+ *#########################################################################
+ * ParseUtil.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.HashMap;
+import java.util.Vector;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+
+// Perhaps can use GSXML.extractParams() for at least half of this and 
+// GSXML.getChildByTagName() for the other? 
+// -> No, extractParams() only extracts <ParamList> child elements <param>s. 
+// Then it returns a hashmap of (name, value) pairs.
+// And getChildByTagName returns any Node, not the Element we want.
+/** 
+ *	Some useful, general response XML message parsing functions 
+ *	for the JavaClient's data classes.
+ *  @author ak19
+*/
+public class ParseUtil {
+	/** 
+	 * @param tag is the XML element from which the body text value will 
+	 * be extracted.
+	 * @return the bodyText nested within the tag element, if any. Otherwise, this 
+	 * method returns empty String. */
+	public static String getBodyTextValue(Element tag) {
+		Node textNode = tag.getFirstChild();
+		return (textNode == null) ? "" : textNode.getNodeValue();
+	}
+	
+	/**
+	 * @param el is the element whose child elements are returned.
+	 * @param childrenName is the name of the child elements to be extracted and
+	 * returned.
+	 * @return a vector containing all child elements of parent that are 
+	 * called childrenName. Returns null if there are no such child elements.
+	*/
+	public static Vector getAllChildElementsCalled(Element el, 
+			String childrenName) 
+	{
+		Vector v = null;
+		if(el.hasChildNodes()) {
+			NodeList nl = el.getChildNodes();
+			// Get only those of its direct children that are called 
+			// <childrenName>
+			v = new Vector(nl.getLength());
+			for(int i = 0; i < nl.getLength(); i++) {
+				Node n = nl.item(i);
+				// For Element Nodes, getNodeName() returns the tag name,
+				// and it *never* returns null for *any* Node type
+				if(n.getNodeName().equals(childrenName)) {
+					v.add((Element)n);
+				}	
+			} 
+		}
+		return v;
+	}
+	
+	/**
+	 * Given an xml element ('parent'), it looks through its direct children 
+	 * to find the &lt;listElementName&gt; tag and extracts each child called
+	 * &lt;childElementName&gt; element from it. These are all added into a Vector
+	 * which is returned.
+	 * @param parent is the XML element from which the specified descendant 
+	 * elements are identified and returned.
+	 * @param listElementName is the name of the child element of parent that we
+	 * are looking for, whose child elements will be returned.  
+	 * @return a vector of Element items, all children &lt;childelementName&gt; of   
+	 * the <b>first</b> &lt;listElementName&gt; child of parameter called parent.
+	*/
+	public static Vector getListElementsAsArray(Element parent,
+			String listElementName, String childElementName)
+	{
+		NodeList nl = parent.getElementsByTagName(listElementName);
+		if(nl.getLength() > 0) {
+			 // ensure <listELementName> has children, if so, get its children 
+			 Element eList = (Element)nl.item(0); // first <listElementName>
+			 return getAllChildElementsCalled(eList, childElementName);
+		}
+		return null;
+	}
+	
+	/**
+	 *	Method that returns the first child element of parent whose tagname is 
+	 *	childElementName.
+	 *	@param parent is the element whose child element (if called 
+	 *	childElementName) is returned.
+	 *	@param childElementName is the name of the child element to look for in
+	 *	parent. 
+	 *	@return the first *child* element of &lt;parent&gt; that is 
+	 *	&lt;childElementName&gt;. Null is returned if there are none. 
+	*/
+	public static Element getFirstChildElementCalled(Element parent,
+			String childElementName)
+	{
+		// find all <childElementName>s, children of parent
+		NodeList nl = parent.getChildNodes();
+		// Find and return first <childElementName>, if any
+		for(int i = 0; i < nl.getLength(); i++) {
+			Node n = nl.item(i);
+			if(n.getNodeName().equals(childElementName))	
+				// now we know n is an Element *and* is the one we want
+				return (Element)n; 
+		}
+		return null;
+	}
+	
+	/**
+	 *	Method that returns the first descendant element of parent whose tagname 
+	 *	is descElementName.
+	 *	@param parent is the element whose descendant element (if called 
+	 *	descElementName) is returned.
+	 *	@param descElementName is the name of the descendant element to look for
+	 *	in parent.
+	 *	@return the first <b>descendant</b> element of &lt;parent&gt; that is 
+	 *	&lt;descElementName&gt;. Null is returned if there are none. 
+	*/
+	public static Element getFirstDescElementCalled(Element parent,
+			String descElementName)
+	{
+		// find all <descElementName>s
+		NodeList nl = parent.getElementsByTagName(descElementName);
+		if(nl.getLength() > 0) // then return first <descElementName>
+			 return (Element)nl.item(0); // we know it's an element 
+		return null; // else
+	}
+	
+	/** 
+	 * Given an Element &lt;parentEl&gt;, finds all direct child elements called
+	 * &lt;elName&gt; that have an attribute named attrName:
+	 * &lt;elName attrName=value&gt;bodytext&lt;/elName&gt;
+	 * This is particularly useful for extracting info for those cases where 
+	 * elName=&lt;displayItem&gt; and where the attrName is "name".
+	 * @param parentEl is the parent element whose children are searched
+	 * @param elName is the name to search for among the child elements of parentEl
+	 * @param attrName is the name of the attribute to look for in the child 
+	 * element (of parentEl) whose tag name is elName.
+	 * @return a Hashmap of all the (value, body) instances found.
+	*/
+	public static HashMap getElementValuesForAttr(Element parentEl, 
+			String elName, String attrName) 
+	{
+		HashMap map = new HashMap(10);
+		NodeList nl = parentEl.getChildNodes();
+		if(nl == null || nl.getLength() == 0)
+			return map;
+		for(int i = 0; i < nl.getLength(); i++) {
+			Node n = nl.item(i); 
+			// Look for all <elName> children of <parentEl>
+			if(n.getNodeName().equals(elName)){ // processing all <elName>s
+				// Retrieve value of all attributes named attrName in
+				// <elName attrName=value>bodytext</elName>
+				// and the body of the element
+				Element e = (Element)n; // we now know it's an element and the
+										// one we want
+				if(e.hasAttribute(attrName)){
+					// Get the value for the attribute named attrName
+					// and put it as the key in a map entry
+					// The associated map entry's value is the *bodytext*
+					// of the element <elName>bodytext</elName>
+					String bodytext = e.hasChildNodes() ?
+						e.getFirstChild().getNodeValue() : "";
+					map.put(e.getAttribute(attrName), bodytext);
+				}	
+			}
+		}
+		return map;
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryFormData.java	(revision 15317)
@@ -0,0 +1,185 @@
+/**
+ *#########################################################################
+ * QueryFormData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+// Currently in this file: 
+// Two struct-like classes - QueryFormData and QueryFormParam (subclass of 
+// QueryFormData) which is a static inner class of QueryFormData.
+
+/** 
+ *	Class QueryFormData represents the &lt;param&gt; and &lt;option&gt; elements 
+ *	that can appear in a &lt;paramList&gt; tag in the xml response returned by 
+ *	a describe request sent to *Query* Service (e.g. FieldQuery, TextQuery).Its 
+ *	subclass QueryFormParam more fully represents the &lt;param&gt; elements, but
+ *	this class covers the data shared by &lt;param&gt; and &lt;option&gt; elements.
+ *  @author ak19
+ */
+public class QueryFormData {
+	/** Constant for the "occurs" attribute name */
+	public static final String OCCURS_ATT = "occurs";
+	/** Name of the parameter or option this QueryFormData represents */
+	public final String name;
+	/** DisplayItem text content of the parameter or option this 
+	 * QueryFormData represents */
+	public final String displayItem;
+		
+	/** 
+	 * Contructor to create a QueryFormData object from &lt;param&gt; 
+	 * or &lt;option&gt; elements of a Query response XML message.
+	 * @param param the &lt;param&gt; or &lt;option&gt; tag for which a
+	 * QueryFormData object is constructed, from the data the element contains.
+	 * */
+	public QueryFormData(Element param) {
+		this.name = param.getAttribute(GSXML.NAME_ATT);
+		displayItem = extractDisplayItem(param);
+	}
+	
+	/** 
+	 * Given an element, extracts the text value from the first direct child 
+	 * element that is a &lt;displayItem&gt; element and returns this.
+	 * @param param the &lt;param&gt; or &lt;option&gt; tag from which the data 
+	 * is extracted.
+	 * @return the text content of the displayItem in the &lt;param&gt; tag
+	*/
+	protected String extractDisplayItem(Element param) {
+		// Now find the displayItem value for this Param element
+		// by cycling through childnodes of this element
+		NodeList nl = param.getChildNodes();
+		boolean found = false;
+		for(int i = 0; !found && i < nl.getLength(); i++){
+			Node n = nl.item(i);
+			if(n.getNodeType() != Node.ELEMENT_NODE) 
+				continue;
+			// else
+			Element e = (Element)n;
+			if(e.getTagName().equals(GSXML.DISPLAY_TEXT_ELEM)) {
+				// get the value in the body of this <displayItem> element
+				if(e.hasChildNodes()) // some <displayItem> contain no text
+					return e.getFirstChild().getNodeValue().trim(); // text node
+				else return "";
+			}
+		}
+		return "";
+	}
+	
+	/**
+	 * @return this object's displayItem string. This is also what is 
+	 * displayed when this object is added as a list items into a 
+	 * JComboBoxes or JList. 
+	*/
+	public String toString() { return displayItem; }
+	
+	/** @return a display String of the member values of this QueryFormData 
+	 * object for debugging purposes */
+	public String show() { 
+		return "name: " + name + " displayItem: " + displayItem;
+	}
+	
+	/** 
+	 *	Static inner class QueryFormParam is a subclass of QueryFormData and 
+	 *	uniquely represents the data that can be contained in any &lt;param&gt; 
+	 *	tag of the xml response that's returned when a describe request is sent to 
+	 *	a Query Service. As such, a QueryFormParam can contain further 
+	 *	QueryFormData (&lt;param&gt; or &lt;option&gt; elements) which are stored 
+	 *	as subElements of this QueryFormParam.
+	*/
+	public static class QueryFormParam extends QueryFormData {
+		/* Members to store data specific to a &lt;param&gt; tag */
+		/** type attribute of &lt;param&gt; tag */
+		public final String type;
+		/** default attribute of &lt;param&gt; tag */
+		public final String def; // any default value
+		
+		// Following fields set only for type=multi (else they're set to ""):
+		/** occurs attribute of &lt;param&gt; tag specifies how often the 
+		 * widget occurs */
+		public final String occurs; 
+		/** ignore attribute of &lt;param&gt; tag specifies whether this param 
+		 * will be ignored at ignore=pos */
+		public final String ignore;  
+				
+		/** A &lt;param&gt; element in a Query response XML message can contain  
+		 * children that are &lt;param&gt; or &lt;option&gt;. 
+		 * subElements therefore stores an array of QueryFormData to represent
+		 * these. 
+		 * &lt;param&gt; CAN (need not) contain &lt;options&gt;s and/or more 
+		 * &lt;param&gt;s. If subElements is null, it obviously has no child 
+		 * &lt;param&gt;s. */
+		protected QueryFormData[] subElements = null; 
+		
+		/**
+		 * Constructor that creates a QueryFormParam object from the data 
+		 * contained in a &lt;param&gt;element of a Query response XML message.
+		 * @param param is an entire &lt;param&gt;element - the one currently being 
+		 * processed.
+		*/
+		public QueryFormParam(Element param) {
+			super(param);
+			this.type = param.getAttribute(GSXML.TYPE_ATT);
+			
+			if(param.hasAttribute(GSXML.DEFAULT_ATT))
+				def = param.getAttribute(GSXML.DEFAULT_ATT);
+			else def = "";
+					
+			if(param.hasAttribute(OCCURS_ATT)) // no GSXML constant defined for this
+				occurs = param.getAttribute(OCCURS_ATT);
+			else occurs = "";
+			
+			if(param.hasAttribute(GSXML.PARAM_IGNORE_POS_ATT))
+				ignore = param.getAttribute(GSXML.PARAM_IGNORE_POS_ATT);
+			else ignore = "";
+		}
+		
+		/** Read-only accessor for this QueryFormParam object's subElements 
+		 * @return an array of this QueryFormParam's children QueryFormData objects  
+		 * (representing options or params). Null is returned if there are none. */
+		public QueryFormData[] getSubElements() { return subElements; }
+		
+		/** @return a display String of the member values of this QueryFormParam 
+		 * for debugging purposes */
+		public String show() { 
+			StringBuffer buf = new StringBuffer(super.show());
+			buf.append(" type: ");
+			buf.append(type);
+			buf.append(" def: ");
+			buf.append(def.equals("") ? "-" : def);
+			buf.append(" occurs: ");
+			buf.append(occurs.equals("")? "-" : occurs);
+			
+			if(subElements == null) {
+				buf.append("\n");
+				return buf.toString();
+			}
+			// else 
+			for(int i = 0; i < subElements.length; i++) {
+				buf.append("\n     ");
+				buf.append(subElements[i].show());
+			}
+			buf.append("\n");
+			return buf.toString();
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/QueryResponseData.java	(revision 15317)
@@ -0,0 +1,398 @@
+/**
+ *#########################################################################
+ * QueryResponseData.java - part of the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Vector;
+import java.util.HashMap;
+
+import org.w3c.dom.Element;
+import org.greenstone.gsdl3.util.GSXML;
+
+
+// 2 classes in file: public-access QueryResponseData and TermData, 
+// the second is a static inner class of the first.
+
+/**
+ * Represents the data fields that may be present in a response
+ * to a Query-process request. Specifically, this class keeps track of 
+ * all the DocumentNodes returned in response to a query request.
+ * It inherits Map nodeIDsToNodes of (nodeID, NodeData ref) pairs which
+ * maintains the NodeData object refs in order of their insertion into
+ * the Map (LinkedHashMap).
+ * !!! QueryResponseData will only store DocumentNodeData object refs in
+ * the nodeIDsToNodes Map. 
+ * An object of this class can be reused after instatiation by calling 
+ * setResponseData() with a new query response XML message. This will 
+ * first call clear() to clear/release its references to all the old data.
+ * @author ak19
+*/
+public class QueryResponseData extends ResponseData {
+	/* Storing information returned about the results of a query 
+	 * in a Query response XML message */
+	protected String numDocsMatched;
+	protected String numDocsReturned;
+	protected String queryField; // store it just in case we ever need it
+	protected TermData[] termList;
+	/** Metadata of the query's response - not a documentNode's metadata! */
+	protected HashMap metadataList;
+	
+	/** Default constructor */
+	public QueryResponseData() {
+		super();
+		metadataList = new HashMap();
+	}
+
+	/** Resets the internal data members of this QueryResponseData object of 
+	 * their values so that this QueryResponseData can be reused for the
+	 * next Query response message. */
+	public void clear() {
+		super.clear(); // clears Map nodeIDsToNodes of (nodeID, NodeData ref) pairs 
+		
+		this.metadataList.clear();
+		termList = null;
+		numDocsMatched = numDocsReturned = queryField = "";
+		System.gc();
+	}
+	
+	/** Given the response to a query message (XML with root &lt;message&gt; 
+	 * or &lt;response&gt; tag), a QueryResponseData object is created 
+	 * to store all the document Identifiers and document data returned
+	 * as well as information about the terms that were searched on.
+	 * Furthermore, metadata such as the number of Docs that matched and 
+	 * were returned (if any such are present in the response-message) 
+	 * are also stored.
+	 * It first performs a clear to empty its data members and then fills
+	 * them with the new Query response message's data.
+	 * @param responseMessageTag is the XML DOM Element representing a query 
+	 * response XML message.
+	*/
+	public void setResponseData(Element responseMessageTag) {
+		this.clear(); // clear anything stored from prev search
+		
+		Element listTag = ParseUtil.getFirstDescElementCalled(
+				responseMessageTag, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		if(listTag == null)
+			return; // should not be the case, unless search term was empty
+					// have to go back and deal with that separately
+		Vector v = ParseUtil.getAllChildElementsCalled(listTag, 
+					GSXML.DOC_NODE_ELEM);
+		if(v != null) {
+			for(int i = 0; i < v.size(); i++) {
+				DocumentNodeData docNode 
+					= new DocumentNodeData((Element)v.get(i));
+				nodeIDsToNodes.put(docNode.nodeID, docNode);
+			}
+			v.clear();
+			v = null;
+		}
+		listTag = null;
+		
+		// Get any term elements there might be - there may be none for
+		// some queries' responses
+		listTag = ParseUtil.getFirstDescElementCalled(responseMessageTag, 
+				GSXML.TERM_ELEM+GSXML.LIST_MODIFIER);
+		if(listTag != null) {
+			v = ParseUtil.getAllChildElementsCalled(listTag, 
+					GSXML.TERM_ELEM);	
+			if(v != null) {
+				termList = new TermData[v.size()];
+				for(int i = 0; i < termList.length; i++)
+					termList[i] = new TermData((Element)v.get(i));
+				v.clear();
+				v = null;
+			}
+			listTag = null;
+		}
+		
+		// Get any metadata elements there might be - there may be none 
+		// for some queries' responses
+		listTag = ParseUtil.getFirstDescElementCalled(responseMessageTag, 
+				GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
+		if(listTag != null) {
+			v = ParseUtil.getAllChildElementsCalled(
+					listTag, GSXML.METADATA_ELEM);	
+			if(v != null) {
+				// metadataList = new HashMap(v.size());
+				for(int i = 0; i < v.size(); i++) {
+					//create a new metadata object
+					MetaData meta = new MetaData((Element)v.get(i));
+					//add the metadata object into the HashMap keyed by its name
+					metadataList.put(meta.name, meta);
+				}
+				v.clear();
+				v = null;
+			}
+			listTag = null;
+		
+			// DIFFERENT FROM MANUAL: in GS3, the value of these metadata.names
+			// are set in the body-text, not set as an attribute-value.
+			// That means, Metadata.value is not what we want, but
+			// Metadata.bodyText
+			MetaData m = (MetaData)metadataList.get("numDocsMatched");
+			this.numDocsMatched = (m == null) ? "" : m.bodyText;
+			m = (MetaData)metadataList.get("numDocsReturned");
+			this.numDocsReturned = (m == null) ? "" : m.bodyText;
+			m = (MetaData)metadataList.get("query");
+			this.queryField = (m == null) ? "" : m.bodyText;
+		} else { //empty metadataList
+			this.numDocsMatched = this.numDocsReturned = this.queryField = "";
+		}
+	}
+	
+	/* Accessor methods */
+	/* Information on the search results/query-response: */
+	/** @return the number of matching documents for the query information */
+	public String getNumDocsMatched() { return numDocsMatched; }
+	/** @return the number of documents returned for the query information */
+	public String getNumDocsReturned() { return numDocsReturned; }
+	/** @return the query field information */
+	public String getQueryField() { return queryField; }
+	
+	/** @return the list of termData (search terms along with frequency
+	 * information, etc.) */
+	public TermData[] getTermList() { return termList; }
+	
+	
+	/** Given an nodeID, returns the DocumentNodeData object with that nodeID
+	 * if any. Otherwise, null is returned. 
+	 * Superclass has method getNodeForID that returns NodeData instead.
+	 * This is just a convenience method.
+	 * @param ID is the nodeID of the DocumentNodeData to be returned. 
+	 * @return the DocumentNodeData object for the given ID or null if not
+	 * present. */
+	public DocumentNodeData getDocNodeForID(String ID) {
+		return (DocumentNodeData)nodeIDsToNodes.get(ID);
+	}
+	
+	/** @return an array of the DocumentNodeData objects of the documents
+	 * returned by the executed Query Response and stored in this 
+	 * QueryResponseData object. I.e. the documentNodes of the documents in
+	 * the search results.
+	 * In cases of an error (such as not being able to connect to a collection  
+	 * like Infomine) this method may return an empty array (length = 0)  
+	 * if docIDsToDocNodes is empty! */
+	public DocumentNodeData[] getDocumentNodeList() {
+		DocumentNodeData[] docNodeList 
+			= new DocumentNodeData[nodeIDsToNodes.size()];
+		nodeIDsToNodes.values().toArray(docNodeList);
+			// populates docNodeList[]
+		return docNodeList;
+	}
+	
+	/** @return an array of the IDs of the list of documentNodes maintained
+	 * by this QueryResponseData object (the documentNodes of the documents' 
+	 * in the search results). 
+	 * In cases of an error (such as not being able to connect to collection 
+	 * such as Infomine) this method may return an empty array (length = 0) 
+	 * if docIDsToDocNodes is empty! */
+	public String[] getDocumentNodeIDs() {
+		String[] docNodeIDs = new String[nodeIDsToNodes.size()];
+		nodeIDsToNodes.keySet().toArray(docNodeIDs);
+			// above statement has now populated docNodeIDs[]
+		return docNodeIDs;
+	}
+	
+	/** @return metadata of the query's response. This includes values such  
+	 * as numDocsMatched, numDocsReturned, query. This does not return any 
+	 * document's metadata! */
+	public String getMetaValueForName(String name) {
+		Object o = metadataList.get(name);
+		if(o != null) {
+			MetaData m = (MetaData)o;
+			return m.bodyText;
+		}
+		return "";
+	}
+	
+	/** This method can be called after a DocumentStructureRetrieve request 
+	 * (for the entire structure of all/many of its documents) has returned  
+	 * a response. Given the response message (XML) element, this method 
+	 * attempts to set the document structure for all the documentNodeData
+	 * objects it has, using the nodeStructure tags in the 
+	 * response-message-XML. But only those documentNodeData whose nodeIDs  
+	 * are mentioned in the response-message-XML are actually set!
+	 * This method returns a null vector if the responseMessage XMl does not 
+	 * contain any &lt;documentNodeList&gt; element with &lt;documentNode&gt;s 
+	 * each with &lt;nodeStructure&gt; children. 
+	 * Otherwise it returns a Vector of all the rootNodes of the list of
+	 * docNodes that this QueryResponseData object maintains. */
+	public Vector setStructureForDocs(Element messageTag) {
+		Element docList = ParseUtil.getFirstDescElementCalled(
+				messageTag, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		if(docList == null)
+			return null;
+		
+		// Get only child <docNode> elements of <docList>, don't get
+		// all descendent <docNode>s here!
+		Vector docNodes = ParseUtil.getAllChildElementsCalled(
+				docList, GSXML.DOC_NODE_ELEM);
+		if(docNodes == null)
+			return null;
+		
+		Vector rootNodes = new Vector(docNodes.size());
+		for(int i = 0; i < docNodes.size(); i++) {
+			Element docNode = (Element)docNodes.get(i);
+			// Now find the documentNodeData for which we are going to set
+			// its nodeStructure and fow which we're going to find the root
+			String id = (String)docNode.getAttribute(GSXML.NODE_ID_ATT);
+			DocumentNodeData document 
+				= (DocumentNodeData)this.nodeIDsToNodes.get(id);
+			
+			// get the <nodeStructure> element
+			Element nodeStructure = ParseUtil.getFirstDescElementCalled(
+					docNode, GSXML.NODE_STRUCTURE_ELEM);
+			if(nodeStructure == null || document == null)
+				continue; // skip to look at next docNode
+			// else
+			// nodeStructure should contain exactly one child: the root doc
+			document.setDescendentsOfRootNode(nodeStructure, nodeIDsToNodes);
+			
+			// Now add the root of that document to our vector rootNodes 
+			rootNodes.add(document.getRoot());
+		}
+		return rootNodes;
+	}
+
+	
+	/** @return some summary info on how the search went. This may include
+	 * how many documents matched the query, and how many of them have been
+	 * returned. With mult-term queries, the frequencies of each separate 
+	 * term is also returned for display. */
+	public String toString() {
+		// When running a Form Search on collection gs3mgppdemo through the  
+		// browser at http://localhost:8080/greenstone3/
+		// and searching on terms "snail" and "water", the output is like:
+		// "Word count:snail: 433, water: 608
+		// 11 documents matched the query. (11 documents returned.)"
+		// Snail and water are TermData.names, and 433 and 608 are the 
+		//frequencies in which those terms occurred in the collection
+		
+		StringBuffer buf = new StringBuffer();
+		if(this.termList != null) {
+			buf.append("Word count: ");
+			for(int i = 0; i < termList.length; i++)
+				buf.append(termList[i] + ", "); // calls toString on TermData
+			// get rid of final comma-space and replace with newline
+			buf.replace(buf.length()-2, buf.length(), "\n");
+		}
+		if(!this.numDocsMatched.equals("")) {
+			buf.append(this.numDocsMatched);
+			buf.append(" document(s) matched the query.");
+		}
+		if(!this.numDocsReturned.equals("")) {
+			buf.append(" (");
+			buf.append(this.numDocsReturned);
+			buf.append(" document(s) returned.)");
+		}
+		return buf.toString();
+	}
+	
+	/** Static inner class Term represents a &lt;term&gt; XML element 
+	 * (these are nested in a &lt;termList&gt;) - see manual p. 45:
+	 * &lt;term name="str" numDocsMatched="int" freq="int" field="int" stem="int"/&gt;
+	 * 	  &lt;equivTermList&gt;
+	 * 		&lt;term name="str" numDocsMatched="int" freq="int" /&gt;
+	 *      &lt;term name="str" numDocsMatched="int" freq="int" /&gt;
+	 *      ...
+	 * 	  &lt;/equivTermList&gt;
+	 * &lt;/term&gt;
+	 * Can import this class as import gs3client.QueryResponseData.TermData
+	 * and can then use it just as "TermData" (don't need fully qualified name). 
+	*/
+	public static class TermData {
+		/* Information about the TermData */
+		public final String name;
+		public final String numDocsMatch;
+		public final String freq;
+		
+		// Member fields that might not always be set (may be ""):
+		public final String field; 
+		public final String stem;
+		
+		/** The terms nested inside an &lt;equivTermList&gt; */
+		protected TermData[] equivTermList; 
+		
+		/** Constructs a Term object to represent the &lt;term&gt; element passed
+		 * in here as an argument. Given a &lt;term&gt;&lt;/term&gt; element, it 
+		 * sets this object's members. 
+		 * @param termTag is a &lt;term&gt;&lt;/term&gt; element */
+		public TermData(Element termTag) {
+			this.name = termTag.hasAttribute(GSXML.NAME_ATT) ?
+					termTag.getAttribute(GSXML.NAME_ATT) : "";
+			this.field = termTag.hasAttribute("field") ?
+					termTag.getAttribute("field") : "";
+			this.stem = termTag.hasAttribute("stem") ?
+					termTag.getAttribute("stem") : "";		
+			this.freq = termTag.hasAttribute("freq") ?
+					termTag.getAttribute("freq") : "";
+				//Integer.parseInt(termTag.getAttribute("freq")) : 0;
+			this.numDocsMatch = termTag.hasAttribute("numDocsMatch") ?
+					termTag.getAttribute("numDocsMatch") : "";
+				//Integer.parseInt(termTag.getAttribute("numDocsMatch")) : 0;
+			
+			setEquivTermList(termTag);	
+		}
+		
+		/** Uses the &lt;equivTermList&gt;...&lt;/equivTermList&gt; tag, 
+		 * which may cotnain more TermData. 
+		 * @param termTag is a &lt;term&gt;&lt;/term&gt; element that may
+		 * contain a &lt;equivTermList&gt;...&lt;/equivTermList&gt; element */
+		public void setEquivTermList(Element termTag) {
+			Element equivList = ParseUtil.getFirstChildElementCalled(
+					termTag, "equivTerm"+GSXML.LIST_MODIFIER);
+			if(equivList != null) {
+				Vector equivTerms = ParseUtil.getAllChildElementsCalled(
+						equivList, GSXML.TERM_ELEM); // <term> children
+				if(equivTerms != null) {
+					equivTermList = new TermData[equivTerms.size()];
+					for(int i = 0; i < equivTermList.length; i++)
+						equivTermList[i] = new TermData(
+								(Element)equivTerms.get(i));
+				}
+			}
+		}
+		
+		/** @return any list of &lt;equivTermList&gt;...&lt;/equivTermList&gt; 
+		 * TermData maintained by this TermData object. Null if there are none. */
+		public TermData[] getEquivTermList() { return equivTermList; }
+		
+		// Frequency is always a number
+		/** @return a String representation of this TermData: the name
+		 * and frequency */
+		public String toString() { return this.name + ": " + this.freq; }
+		
+		/** @return a String displaying the member contents of this TermData.
+		 * Useful for debugging purposes. */
+		public String show() {
+			StringBuffer buf = new StringBuffer("name: " + this.name);
+			buf.append(" numDocsMatched: " + this.numDocsMatch);
+			buf.append(" freq: " + freq);
+			buf.append(" field: " + field);
+			buf.append(" stem: " + stem + "\n");
+			if(equivTermList != null) {
+				buf.append("EquivTermList:\n");
+				for(int i = 0; i < equivTermList.length; i++)
+					buf.append("    " + equivTermList[i].show() + "\n");
+			}
+			return buf.toString();
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/data/ResponseData.java	(revision 15317)
@@ -0,0 +1,171 @@
+/**
+ *#########################################################################
+ * ResponseData.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.data;
+
+import java.util.Vector;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.greenstone.gsdl3.util.GSXML;
+
+/** 
+ * Represents the data in a response XML message that is returned as
+ * either a Browse or Query (Search) request.
+ * Subclasses therefore are BrowseResponseData and QueryResponseData. 
+ * This class maintains a Map of (nodeID, NodeData ref) pairs
+ * representing the resulting &lt;classifierNode&gt;s and &lt;documentNode&gt;s
+ * that can be returned when executing a SINGLE browse or query request. 
+ * @author ak19
+*/
+public abstract class ResponseData {
+	/** map of (nodeIDs, references to associated NodeData) pairs, 
+	 * stored in the order they are contained in the response XML messages 
+	 * (the order in which data objects are parsed and created for them) */
+	protected Map nodeIDsToNodes;
+	
+	/** Subclasses must implement this method to parse the 
+	 * &lt;message&gt;&lt;response&gt;&lt;/response&gt;&lt;/message&gt;
+	 * that is returned upon executing a browse or query request.
+	 * At the end of this method, the Map nodeIDsToNodes will contain
+	 * any DocumentNodeData or ClassifierNodeData objects described
+	 * in the responseMsgTag. 
+	 * @param responseMsgTag the XMl response message Element whose data will
+	 * be parsed and stored in the ResponseData subclass */
+	public abstract void setResponseData(Element responseMsgTag);
+	
+	/** Default constructor, creates the nodeIDsToNodes map */
+	public ResponseData() {
+		// A LinkedHashMap maintains documents in the order they were inserted
+		// This is what we want for the docIdsToDocNodes mapping, because the
+		// documents are returned in ranked order.
+		// TreeMap does not work, as it compares based on keys=docNodIDs here.
+		// And creating a Comparator for a TreeMap does not work either,
+		// because the compare() method of Comparator is given two keys and so
+		// needs to access the docIdsToDocNodes map to retrieve the 
+		// documentNodeData obj for the parameter keys (nodeIDs) to access the 
+		// rank member var of the documentNodeData objects in order to do the
+		// comparison. However, that is a problem when ordering!
+		nodeIDsToNodes = new LinkedHashMap();
+	}
+	
+	/** Clears/resets this ResponseData object of all data, so that it can be  
+	 * reused to process future Browse and Query requests. In this case, it 
+	 * merely clears the internal Map nodeIDsToNodes. Subclasses may need to 
+	 * clear other variables. */
+	public void clear() { this.nodeIDsToNodes.clear(); }
+	
+	
+	/** @return the Map of mappings from nodeIDs to NodeData object references */
+	public Map getIDToNodeMapping() { return nodeIDsToNodes; }
+	
+	/** Given an nodeID, returns the NodeData object with that nodeID,
+	 * if any. Otherwise, null is returned. Subclass might want to add
+	 * a different method that converts this to DocumentNodeData type.
+	 * @param ID is the nodeID whose NodeData object is requested */
+	public NodeData getNodeForID(String ID) {
+		return (NodeData)nodeIDsToNodes.get(ID);
+	}
+
+	/** After a DocumentContentRetrieve request for one or more documents 
+	 * has returned a response, this method - when given the response XML - 
+	 * will set the nodeContents of each document in the response (as long
+	 * as those documents already have an associated DocumentNodeData
+	 * object instantiated, which should/would always be the case).
+	 * @param messageTag is the DocumentContentRetrieve XML response message 
+	 * containing the document contents for one or more documentNodes */
+	public void setContentForDocs(Element messageTag) {
+		NodeList docNodeTags = messageTag.getElementsByTagName(
+				GSXML.DOC_NODE_ELEM);
+		int size = docNodeTags.getLength();
+		if(size == 0) // no <documentNode> in <message> to set the content for
+			return; 
+		
+		for(int i = 0; i < size; i++) {
+			Element docNodeTag = (Element)docNodeTags.item(i);
+			String id = (String)docNodeTag.getAttribute(GSXML.NODE_ID_ATT);
+			
+			// Find the associated DocumentNodeData object 
+			// in the map of documentNodeData objects
+			DocumentNodeData doc 
+				= (DocumentNodeData)this.nodeIDsToNodes.get(id);
+			if(doc == null) //no such document: shouldn't happen
+				continue; // skip to look at next docNode
+			
+			doc.setNodeContent(docNodeTag);
+		}
+	}	
+	
+	/** This method can be called after a DocumentMetadataRetrieve request 
+	 * has returned a response. Given the response message (XML) element,
+	 * this method attempts to set the metadata for all the documentNodeData
+	 * objects it has, using the metadata tags in the response-message-XML. 
+	 * This method returns false if the responseMessage XMl does not contain
+	 * any &lt;documentNodeList&gt; elements. 
+	 * @param NODE_ELEM can be either GSXML defined constant for 
+	 * &lt;ClassifierNode&gt; or &lt;DocumentNode&gt;
+	 * @param messageTag is the DocumentMetadataRetrieve XML response message 
+	 * containing the metadata for one or more documentNodes/classifierNodes
+	 * as specified by NODE_ELEM */
+	protected boolean setMetadataForNodes(Element messageTag, 
+			final String NODE_ELEM) 
+	{
+		// get the <documentNodeList> 
+		Element docList = ParseUtil.getFirstDescElementCalled(
+				messageTag, NODE_ELEM+GSXML.LIST_MODIFIER);
+		if(docList == null)
+			return false; // if no <documentNodeList>, then we can't process
+						// (shouldn't have got here)
+		
+		// for each <documentNode>'s nodeID attribute's value, get the 
+		// documentNodeData reference, and set its metadataList using
+		// its <docNode> tag
+		Vector docNodesWithMetaInfo = ParseUtil.getAllChildElementsCalled(
+				docList, NODE_ELEM);
+		if(docNodesWithMetaInfo == null)
+			return false; // no <documentNode> children, so no metadata to set
+		for(int i = 0; i < docNodesWithMetaInfo.size(); i++) {
+			Element docNodeTag = (Element)docNodesWithMetaInfo.get(i);
+			if(!docNodeTag.hasAttribute(GSXML.NODE_ID_ATT))
+				continue; // shouldn't be the case
+			String nodeID = docNodeTag.getAttribute(GSXML.NODE_ID_ATT);
+			NodeData docNode 
+				= (NodeData)nodeIDsToNodes.get(nodeID);
+			if(docNode != null) // can only set the meta if there is a
+					// docNode with this nodeID in our docIDsToDocNodes
+				docNode.setMetadataList(docNodeTag);
+		}
+		return true;
+	}
+	
+	/** This method sets the metadata for one or even all &lt;documentNode&gt; 
+	 * data objects contained in the Map nodeIDsToNodes, using the &lt;message&gt; 
+	 * element parameter (which is returned upon a documentMetadataRetrieve 
+	 * request. Metadata for &lt;classifierNodes&gt; are not set with this method. 
+	 * It merely calls the setMetadataForDocuments(messageTag, tagName) 
+	 * method to parse out data for the tagName=&lt;documentNode&gt;.
+	 * @param messageTag is the DocumentMetadataRetrieve XML response message 
+	 * containing the metadata for one or more documentNodes */
+	public boolean setMetadataForDocuments(Element messageTag) {
+		return setMetadataForNodes(messageTag, GSXML.DOC_NODE_ELEM);
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/DigitalLibraryServicesAPIA.java	(revision 15317)
@@ -0,0 +1,239 @@
+/**
+ *#########################################################################
+ * DigitalLibraryServicesAPIA.java - part of the demo-client for 
+ * Greenstone 3, of the Greenstone digital library suite from the New 
+ * Zealand Digital Library Project at the  * University of Waikato, 
+ * New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.dlservices;
+
+import java.util.Map;
+import org.greenstone.gs3client.data.DocumentNodeData;
+
+/** Interface that defines the digital library methods that need to be
+ * provided by a digital library that's going to be incorporated into the 
+ * Greenstone Java-Client, so that the client may be able to use/access 
+ * its functionality. 
+ * 
+ * Note that the Strings returned by all defined methods -- with the exception  
+ * of getLanguage() -- represent Greenstone3 XML response messages, as defined 
+ * in the Greenstone3 manual. 
+ * These methods do not throw exceptions, but rather embed any error information
+ * in the XML Strings returned, as is done in Greenstone3 XML response 
+ * messages. 
+ * 
+ * The final 'A' of DigitalLibraryServicesAPIA stands for Access, as the  
+ * methods defined here are to give access to a digital library's repository. 
+ * @author ak19
+*/
+public interface DigitalLibraryServicesAPIA {
+	/** The properties file containing the initial digital library connection
+	 * settings which get displayed in the connection dialog fields */
+	public static final java.io.File propertiesFile 
+		= new java.io.File("gs3democlient.properties");
+	
+	/** If there's a dialog, then the CancelException can be used to indicate
+	 * that the user cancelled out of it rather than having seen it through.
+	*/
+	public class CancelException extends Exception {
+		public CancelException() { super(); }
+		public CancelException(String message) { super(message); }
+		public CancelException(Throwable cause) { super(cause); }
+		public CancelException(String message, Throwable cause) { 
+			super(message, cause); 
+		}
+	}
+	
+	//public static String displayName = "<insert DL name>";
+	
+	/** @return the name of this digital library for displaying in the client */
+	public String getDisplayName();
+	
+	/*@return the URL of the server - this would generally form the basis of the 
+	 * overall url location of where associated files are stored. */
+	//public String getBaseURL();
+	
+	/** @return the overall directory path for associated files (not including
+	 * the document's nodeID/pid). This can be used to formulate the base url of 
+	 * JEditorPane's HTML documents. If the documents from any digital library 
+	 * do not contain relative paths, or otherwise deal with the resolution of
+	 * relative urls themselves, then return "" from here. */
+	public String getAssocFileBaseURL();
+	
+	/* @return any string prefixed to associated files like images. This will
+	 * generally be "", but in Fedora's case, associated images of the 
+	 * Greenstone documents stored in there start with "FG". */
+	//public String getAssocFilePrefix();
+	
+	/** @return the directory path to the associated files of the given document 
+	 * node. For instance, the base url of a JEditorPane's HTML documents can be 
+	 * set to this. */
+	public String getAssocFileBaseURL(DocumentNodeData docNode);
+	
+	/** Sets the preferred language (code) for metadata and other content to be
+	 * returned on request messages. If the preferred language is not available,
+	 * the implementation may choose to send English back instead, or failing
+	 * that, send the data in any other available language. 
+	 * @param language has to be a language code as recognised by Greenstone3
+	 * (the language codes used by W3C probably). E.g. "en" for English. */
+	public void setLanguage(String language);
+	
+	/** Gets the language that's set as the preferred language. 
+	 * @return the language code as recognised by Greenstone3 (which are the 
+	 * language codes used by W3C probably). E.g. "en" for English. */
+	public String getLanguage();
+
+	/** @return Greenstone3 XML describe response message with information
+	 * about collections contained and services (and any serviceRacks) supported
+	 * by the Digital library. */
+	public String describe();
+	
+	/** @return Greenstone3 XML describe response message originating from a
+	 * collection, describing the collection (display items) as well as
+	 * listing any services supported specifically by the collection. 
+	 * @param collection is the name of the collection to be described */
+	public String describeCollection(String collection);
+	
+	/** @return Greenstone3 XML describe response message originating from a
+	 * collection's service, describing the service (display items). 
+	 * @param collection is the name of the collection to be described
+	 * @param service is the name of the collection's service to be described */
+	public String describeCollectionService(String collection, String service);
+	
+	/** @return Greenstone3 XML describe response message originating from a
+	 * general (non-collection specific) service, describing the requested 
+	 * service (for example with GS3 display items). 
+	 * @param service is the name of the collection's service to be described */
+	public String describeService(String service);
+
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of all the documents indicated by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose  
+	 * metadata is requested */
+	public String retrieveDocumentMetadata(String collection, String[] docIDs);
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of the document denoted by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose metadata is 
+	 * requested */
+	public String retrieveDocumentMetadata(String collection, String docID);
+
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the documents denoted by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose titles 
+	 * are requested */
+	
+	public String retrieveTitleMetadata(String collection, String[] docIDs);
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the document denoted by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose titles is 
+	 * requested */
+	public String retrieveTitleMetadata(String collection, String docID);
+	
+	/**	@return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the documents indicated by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose (text)
+	 * contents are requested */
+	public String retrieveDocumentContent(String collection, String[] docIDs);
+	
+	/**	@return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the document indicated by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose (text)
+	 * content is requested */
+	public String retrieveDocumentContent(String collection, String docID);
+
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML
+	 * containing the document structure of the documents indicated by docIDs: 
+	 * this means all their descendents 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentStructure(String collection, String[] docIDs);
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing the document structure of the document indicated by docID: 
+	 * this means all its descendents 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose hierarchical
+	 * structure is requested*/
+	public String retrieveDocumentStructure(String collection, String docID); 
+
+	// UNUSED by the client, but still a very useful method:
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the documents denoted by 
+	 * docs where only the requested documents and their direct children are  
+	 * returned. 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentChildren(String collection, String[] docIDs);
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the document denoted by 
+	 * docID where only the document and its direct children are returned. 
+	 * @param collection is the name of the collection 
+	 * @param docID is an document identifier of the document whose hierarchical
+	 * structure is requested */
+	public String retrieveDocumentChildren(String collection, String docID);
+	
+	/**	@return a String representing Greenstone3 ClassifierBrowse XML 
+	 * giving the entire *structure* of the classification denoted by 
+	 * classifierID (including the structures of document descendents of 
+	 * the classifier). 
+	 * @param classifierID is of the form CL# where the number (#) marks
+	 * out structured sections like CL1.1.3 or CL2 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the browse service (=ClassifierBrowse usually) 
+	*/
+	public String retrieveBrowseStructure(
+			String collection, String service, String classifierID);
+
+	/**	@return a String representing Greenstone3 
+	 * ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+	 * all the subclassifiers denoted by nodeIDs. 
+	 * @param nodeIDs is of the form CL#.# where the number (#) marks
+	 * out structured sections like CL2.1.3. NodeIDs are generally subsections
+	 * of top-level classifierNodes (CL#, e.g. CL3). 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the Browse's MetadataRetrieve service 
+	 * (usually the browse service is ClassifierBrowse, in which case it always
+	 * has a retrieve service called ClassifierBrowseMetadataRetrieve) */
+	public String retrieveBrowseMetadata(
+			String collection, String service, String[] nodeIDs);
+	
+	/**	@return a String representing Greenstone3 XML for a query process
+	 * response returning the results for the query denoted by parameter
+	 * nameValParamsMap.
+	 * @param nameValParamsMap is a Map of name and value pairs for all the
+	 * query field data values. The names match the field names that
+	 * describeCollectionService() would have returned for the query service. 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the query service
+	 * This method is only ever called when any of the services in the digital 
+	 * library described themselves as type=query. Therefore any digital
+	 * libraries that have no query services, can just return emtpy message 
+	 * strings (or even "") since this method will never be called on them 
+	 * anyway. */
+	public String query(String collection, String service, 
+			Map nameValParamsMap);
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/FedoraServicesAPIA.java	(revision 15317)
@@ -0,0 +1,208 @@
+/**
+ *#########################################################################
+ * FedoraServicesAPIA.java - part of the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.dlservices;
+
+import java.util.Map;
+import org.greenstone.gs3client.data.DocumentNodeData;
+import org.greenstone.fedora.services.*;
+
+/** 
+ * FedoraServicesAPIA implements DigitalLibraryServicesAPIA for enabling the 
+ * Java-client to access a Fedora repository of Greenstone digital objects. 
+ * This is made possible by its use of the FedoraGS3.jar file's functionality, 
+ * as made available through the FedoraGS3Connection class. 
+ * @author ak19 
+*/
+public class FedoraServicesAPIA extends FedoraGS3Connection 
+	implements DigitalLibraryServicesAPIA
+{
+	/** Default constructor */
+	public FedoraServicesAPIA() throws Exception {
+		super(DigitalLibraryServicesAPIA.propertiesFile);
+	}
+
+	/** @return the name of this digital library for displaying in the client */
+	public String getDisplayName() {
+		return "Fedora";
+	}
+
+	/** @return the directory path to the associated files of the given document 
+	 * node.  For instance, the base url of a JEditorPane's HTML documents can be 
+	 * set to this. */
+	public String getAssocFileBaseURL(DocumentNodeData docNode) {
+		return super.getAssocFileBaseURL() 
+			+ super.getDocPIDFromDocID(docNode.nodeID) + "/";
+	}
+	
+	/** @return Greenstone3 XML describe response message with information
+	 * about collections contained and services (and any serviceRacks) supported
+	 * by the Digital library. */
+	public String describe() {
+		return this.getCollectionList();
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of all the documents indicated by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose  
+	 * metadata is requested */
+	public String retrieveDocumentMetadata(String collection, String[] docIDs) {
+		return this.getDocumentMetadata(docIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of the document denoted by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose metadata is 
+	 * requested */
+	public String retrieveDocumentMetadata(String collection, String docID) {
+		return this.getDocumentMetadata(docID);
+	}
+
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the documents denoted by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose titles 
+	 * are requested */
+	public String retrieveTitleMetadata(String collection, String[] docIDs) {
+		return this.getTitleMetadata(docIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the document denoted by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose titles is 
+	 * requested */
+	public String retrieveTitleMetadata(String collection, String docID) {
+		return this.getTitleMetadata(docID);
+	}
+
+	
+	/**	@return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the documents indicated by docIDs 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose (text)
+	 * contents are requested */
+	public String retrieveDocumentContent(String collection, String[] docIDs) {
+		return this.getContent(docIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the document indicated by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose (text)
+	 * content is requested */
+	public String retrieveDocumentContent(String collection, String docID) {
+		return this.getContent(docID);
+	}
+
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML
+	 * containing the document structure of the documents indicated by docIDs: 
+	 * this means all their descendents 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentStructure(String collection, String[] docIDs) {
+		return this.getDocumentStructure(docIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing the document structure of the document indicated by docID: 
+	 * this means all its descendents 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose hierarchical
+	 * structure is requested*/
+	public String retrieveDocumentStructure(String collection, String docID) {
+		return this.getDocumentStructure(docID);
+	}
+
+	// UNUSED by the client, but still a very useful method:
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the documents denoted by 
+	 * docs where only the requested documents and their direct children are  
+	 * returned. 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentChildren(String collection, String[] docIDs) {
+		return this.getChildren(docIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the document denoted by 
+	 * docID where only the document and its direct children are returned. 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose hierarchical
+	 * structure is requested */
+	public String retrieveDocumentChildren(String collection, String docID) {
+		return this.getChildren(docID);
+	}
+	
+	/**	@return a String representing Greenstone3 ClassifierBrowse XML 
+	 * giving the entire *structure* of the classification denoted by 
+	 * classifierID (including the structures of document descendents of 
+	 * the classifier). 
+	 * @param classifierID is of the form CL# where the number (#) marks
+	 * out structured sections like CL1.1.3 or CL2 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the browse service (=ClassifierBrowse usually)
+	*/
+	public String retrieveBrowseStructure(
+			String collection, String service, String classifierID) 
+	{
+		return this.browse(collection, classifierID);
+	}
+
+	/**	@return a String representing Greenstone3 
+	 * ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+	 * all the subclassifiers denoted by nodeIDs. 
+	 * @param nodeIDs is of the form CL#.# where the number (#) marks
+	 * out structured sections like CL2.1.3. NodeIDs are generally subsections
+	 * of top-level classifierNodes (CL#, e.g. CL3). 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the Browse's MetadataRetrieve service 
+	 * (usually the browse service is ClassifierBrowse, in which case it always
+	 * has a retrieve service called ClassifierBrowseMetadataRetrieve) */
+	public String retrieveBrowseMetadata(
+			String collection, String service, String[] nodeIDs) 
+	{
+		return this.browseMetadataRetrieve(nodeIDs);
+	}
+	
+	/**	@return a String representing Greenstone3 XML for a query process
+	 * response returning the results for the query denoted by parameter
+	 * nameValParamsMap.
+	 * @param nameValParamsMap is a Map of name and value pairs for all the
+	 * query field data values. The names match the field names that
+	 * describeCollectionService() would have returned for the query service. 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the query service
+	 * This method is only ever called when any of the services in the digital 
+	 * library described themselves as type=query. Therefore any digital
+	 * libraries that have no query services, can just return emtpy message 
+	 * strings (or even "") since this method will never be called on them 
+	 * anyway. */
+	public String query(String collection, String service, 
+			Map nameValParamsMap) 
+	{	
+		return super.query(collection, service, nameValParamsMap);
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3ServicesAPIA.java	(revision 15317)
@@ -0,0 +1,592 @@
+/**
+ *#########################################################################
+ * GS3ServicesAPIA.java - part of the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.dlservices;
+
+import javax.swing.JOptionPane;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.rpc.ServiceException;
+import org.xml.sax.SAXException;
+
+import org.greenstone.gs3client.data.DocumentNodeData;
+
+import org.apache.log4j.Logger; //Import log4j classes
+import java.util.Properties;
+
+/** 
+ * GS3ServicesAPIA does two things:
+ * - it implements DigitalLibraryServicesAPIA for enabling the Java-client 
+ * to access Greenstone's repository of collections and documents. It 
+ * makes this possible through use of Greenstone 3's web services. 
+ * - it inherits from GS3WebServicesQBRAPI, which means it inherits all the
+ * methods that deal with invoking the Greenstone 3 web services 
+ * functionality (through use of Apache Axis' Service and Call objects). 
+ * It therefore provides an equivalent method to each Greenstone 3 web 
+ * service operation, even if some of these web service operations are 
+ * never called by the Java-client and therefore not prescribed by the 
+ * DigitalLibraryServicesAPIA interface.
+ * @author ak19 
+*/
+public class GS3ServicesAPIA extends GS3WebServicesQBRAPI 
+	implements DigitalLibraryServicesAPIA 
+{
+	/** The Logger for this class */
+	static Logger LOG = Logger.getLogger(GS3ServicesAPIA.class);
+	
+	/** Storing language settings for requests and responses*/
+	protected String language;
+	
+	/** Displays a dialog to get user input for the location of the Greenstone 3  
+	 * web services' WSDL file */
+	public GS3ServicesAPIA() 
+ 		throws ServiceException, MalformedURLException, 
+ 			ParserConfigurationException, IOException, Exception 
+ 	{
+		 this(showWsdlInputDialog());
+	}
+	
+	/** GS3ServicesAPIA constructor, which, given the url to the wsdl file, 
+	 * finds either service and port or the service's endpoint of the GS3 Web 
+	 * Services and instantiates the associated Service and Call objects. 
+	 * @param wsdlURLName - location of the WSDL for Greenstone 3's 
+	 * web services */
+    public GS3ServicesAPIA(String wsdlURLName) 
+    	throws ServiceException, MalformedURLException, 
+    		ParserConfigurationException, IOException, SAXException
+    {	
+    	super(wsdlURLName);
+    	// Very important to initialise member language to some value, in
+    	// this case, it is set to "" (which Greenstone takes as English).
+    	this.language = ""; 
+    }
+
+    /** Static method that displays a dialog requesting the user to 
+     * input the location of Greenstone 3 web services' WSDL file. 
+     * @return a String representing the URL location of Greenstone 3 web 
+     * services' WSDL file */
+    public static String showWsdlInputDialog() 
+    	throws Exception 
+    {
+    	String wsdlURL = "";
+    	Properties properties = new Properties();
+    	
+    	// set default values from any properties file 
+    	try {
+    		if(DigitalLibraryServicesAPIA.propertiesFile.exists()) { 
+    			properties.load(new java.io.FileInputStream(
+    				DigitalLibraryServicesAPIA.propertiesFile));
+    		}
+    	} catch(Exception e) { 
+    		LOG.warn("Exception loading properties from file " 
+    			+ DigitalLibraryServicesAPIA.propertiesFile 
+    			+ ": " + e);
+    	} 
+    	
+		// Show the dialog and get input for the wsdlURL property
+    	// It will display GS3WebServicesQBRAPI.defaultWsdlURL in the input 
+    	// field if it can not find a wsdlURL property in the propertiesFile
+    	wsdlURL = JOptionPane.showInputDialog(
+			"Please enter the URL for the GS3 Web Services wsdl file",
+			properties.getProperty("wsdlURL", GS3WebServicesQBRAPI.defaultWsdlURL)
+		); 
+		if(wsdlURL == null) { // cancel pressed
+			throw new CancelException(
+				"User cancelled out of connecting to GS3 Web Services");
+		} else { // if ok clicked, update properties with the input value
+			properties.setProperty("wsdlURL", wsdlURL);
+		}
+		
+		// Store the user-entered URL for future use, so it is loaded next time
+		try {
+			java.io.FileOutputStream out = new java.io.FileOutputStream(
+					DigitalLibraryServicesAPIA.propertiesFile); 
+	    	properties.store(out, "GS3ServicesAPIA");
+	    	out.close();
+		} catch(Exception e) { 
+	    	LOG.warn("Exception writing properties to file " 
+	    			+ DigitalLibraryServicesAPIA.propertiesFile 
+	    			+ ": " + e);
+		} 
+		return wsdlURL;
+    }
+   
+	//************DigitalLibraryServicesAPIA METHOD IMPLEMENTATIONS************//
+	/** @return the name of this digital library for displaying in the client */
+	public String getDisplayName() {
+		return "Greenstone3";
+	}
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract. 
+	 * Sets the preferred language (code) for metadata and other content to be
+	 * returned on request messages. If the preferred language is not available,
+	 * the implementation may choose to send English back instead, or failing
+	 * that, send the data in any other available language. 
+	 * @param language has to be a language code as recognised by Greenstone3
+	 * (the language codes used by W3C probably). E.g. "en" for English. */
+	public void setLanguage(String language) { this.language = language; }
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * Gets the language that's set as the preferred language. 
+	 * @return the language code as recognised by Greenstone3 (which are the 
+	 * language codes used by W3C probably). E.g. "en" for English. */
+	public String getLanguage() { return language; }
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract. 
+	 * @return the overall directory path for associated files (not including
+	 * the document's nodeID/pid). This can be used to *formulate* the base url 
+	 * of JEditorPane's HTML documents. If the documents from any digital library 
+	 * do not contain relative paths, or otherwise deal with the resolution of
+	 * relative urls themselves, then return "" from here. */
+	public String getAssocFileBaseURL() { return ""; }
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return the directory path to the associated files of the given document 
+	 * node.  For instance, the base url of a JEditorPane's HTML documents can be 
+	 * set to this. */
+	public String getAssocFileBaseURL(DocumentNodeData docNode) {
+		return "_httpdocimg_/"; // for now. 
+		// TODO:
+		/*DocumentNodeData root = docNode.getRoot();
+		if(root != null)
+			return root.getAssocFilePath();
+		else return "";*/
+	}
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract
+	 * @return Greenstone3 XML describe response message originating from 
+	 * the Message Router, describing the Collections, ServiceRacks
+	 * and Services supported by the Message Router for all collections. */
+	public String describe() {
+		return this.describe(language, "");
+	}
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection to be described.  
+	 * @return Greenstone3 XML describe response message originating from a
+	 * collection, describing the collection (display items) as well as
+	 * listing any services supported specifically by the collection. 
+	*/
+	public String describeCollection(String collection) {
+		return this.describeCollection(collection, language, "");
+	}
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection to be described.
+	 * @param service is the name of the collection's service to be described.
+	 * @return Greenstone3 XML describe response message originating from a
+	 * collection's service, describing the service (display items). 
+	*/
+	public String describeCollectionService(String collection, String service) {
+		return this.describeCollectionService(collection, service, language, "");
+	}
+	
+	/** Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param service is the name of the collection's service to be described. 
+	 * @return Greenstone3 XML describe response message originating from a
+	 * general (non-collection specific) service, describing the requested 
+	 * service (for example with GS3 display items). 
+	*/
+	public String describeService(String service) {
+		return this.describeService(service, language, "");
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection.
+	 * @param docIDs is an array of document identifiers of documents whose (text)
+	 * contents are requested.
+	 * @return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the documents indicated by docIDs 
+	*/
+	public String retrieveDocumentContent(String collection, String[] docIDs)  {
+		return this.retrieveDocumentContent(collection, language, docIDs);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection. 
+	 * @param docID is the document identifier of the document whose (text)
+	 * content is requested.
+	 * @return a String representing Greenstone3 DocumentContentRetrieve XML 
+	 * containing the document contents of the document indicated by docID 
+	*/
+	public String retrieveDocumentContent(String collection, String docID) {
+		return this.retrieveDocumentContent(collection, language, 
+				new String[]{ docID });
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection. 
+	 * @param docIDs is an array of document identifiers of documents whose  
+	 * metadata is requested. 
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of all the documents indicated by docIDs 
+	*/
+	public String retrieveDocumentMetadata(String collection, String[] docIDs) {
+		return this.retrieveAllDocumentMetadata(collection, language, docIDs);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection. 
+	 * @param docID is the document identifier of the document whose metadata is 
+	 * requested.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing all the metadata of the document denoted by docID 
+	*/
+	public String retrieveDocumentMetadata(String collection, String docID) {
+		return this.retrieveAllDocumentMetadata(collection, language, 
+				new String[] { docID });
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @param collection is the name of the collection. 
+	 * @param docIDs is an array of document identifiers of documents whose titles 
+	 * are requested 
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the documents denoted by docIDs 
+	*/
+	public String retrieveTitleMetadata(String collection, String[] docIDs) {
+		final String[] titleMetaName = {"Title"};
+		return this.retrieveDocumentMetadata(collection, language, docIDs, 
+				titleMetaName);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing only the title metadata of the document denoted by docID 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose titles is 
+	 * requested */
+	public String retrieveTitleMetadata(String collection, String docID) {
+		final String[] titleMetaName = {"Title"};
+		return this.retrieveDocumentMetadata(collection, language, 
+				new String[] { docID }, titleMetaName);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML
+	 * containing the document structure of the documents indicated by docIDs: 
+	 * this means all their descendants 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentStructure(String collection, String[] docIDs) {
+		return this.retrieveEntireDocumentStructure(collection, language, docIDs);
+	}
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing the document structure of the document indicated by docID: 
+	 * this means all its descendants 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose hierarchical
+	 * structure is requested*/
+	public String retrieveDocumentStructure(String collection, String docID) {
+		return this.retrieveEntireDocumentStructure(collection, language, 
+				new String[] { docID });
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the documents denoted by 
+	 * docs where only the requested documents and their direct children are  
+	 * returned. 
+	 * @param collection is the name of the collection 
+	 * @param docIDs is an array of document identifiers of documents whose
+	 * hierarchical structures are requested */
+	public String retrieveDocumentChildren(String collection, String[] docIDs) {
+		return this.retrieveDocumentStructure(collection, collection, docIDs, 
+				new String[] { "children" }, null);
+	} 
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 DocumentMetadataRetrieve XML 
+	 * containing a view of the document structure of the document denoted by 
+	 * docID where only the document and its direct children are returned. 
+	 * @param collection is the name of the collection 
+	 * @param docID is the document identifier of the document whose hierarchical
+	 * structure is requested */
+	public String retrieveDocumentChildren(String collection, String docID) {
+		return this.retrieveDocumentStructure(collection, collection, 
+				new String[] { docID }, new String[] { "children" }, null);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 ClassifierBrowse XML 
+	 * giving the entire *structure* of the classification denoted by 
+	 * classifierID (including the structures of document descendants of 
+	 * the classifier). 
+	 * @param classifierID is of the form CL# where the number (#) marks
+	 * out structured sections like CL1.1.3 or CL2 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the browse service (=ClassifierBrowse usually)
+	*/
+	public String retrieveBrowseStructure(
+			String collection, String service, String classifierID) 
+	{
+		String[] classifierIDs = { classifierID }; 
+		return this.browseDescendants(collection, service, 
+				language, classifierIDs );
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 
+	 * ClassifierBrowseMetadataRetrieve XML giving all the metadata for
+	 * all the subclassifiers denoted by nodeIDs. 
+	 * @param nodeIDs is of the form CL#.# where the number (#) marks
+	 * out structured sections like CL2.1.3. NodeIDs are generally subsections
+	 * of top-level classifierNodes (CL#, e.g. CL3). 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the Browse's MetadataRetrieve service 
+	 * (usually the browse service is ClassifierBrowse, in which case it always
+	 * has a retrieve service called ClassifierBrowseMetadataRetrieve) */
+	public String retrieveBrowseMetadata(
+			String collection, String service, String[] nodeIDs) 
+	{
+		return this.retrieveAllBrowseMetadata(collection, service, 
+				language, nodeIDs);
+	}
+	
+	/**	Part of the GS3 Java-Client's DigitalLibraryServicesAPIA interface 
+	 * contract.
+	 * @return a String representing Greenstone3 XML for a query process
+	 * response returning the results for the query denoted by parameter
+	 * nameValParamsMap.
+	 * @param nameValParamsMap is a Map of name and value pairs for all the
+	 * query field data values. The names match the field names that
+	 * describeCollectionService() would have returned for the query service. 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the query service
+	*/
+	public String query(String collection, String service, Map nameValParamsMap) 
+	{
+		return this.query(collection, service, language, nameValParamsMap);
+	}
+		
+	/*public static void main(String args[]) {
+		try{
+			GS3ServicesAPIA ws = new GS3ServicesAPIA();
+			
+			// (1) trying 4 describe methods
+			System.out.println(ws.describe("", ""));
+			System.out.println(ws.describeCollectionOrServiceRack("gs2mgppdemo", "", ""));
+			System.out.println(ws.describeCollectionService("gs2mgppdemo", "AdvancedFieldQuery", "", ""));
+			System.out.println(ws.describeService("AddItem", "", ""));
+			
+			
+			// (2) try 3 query methods (simplerFieldQuery twice) + getFieldNameMappings()
+			Map map = new HashMap();
+			map.put("maxDocs", "100");
+			map.put("level", "Sec");
+			map.put("accent", "1");
+			map.put("matchMode", "some");
+			map.put("fqf", "ZZ,ZZ,ZZ,ZZ");
+			map.put("case", "1");
+			map.put("sortBy", "1");
+			map.put("fqv", "snail,water,,");
+			
+			String response = ws.query("gs2mgppdemo", "FieldQuery", "", map);
+			System.out.println("Regular query: " + response);
+			
+			System.out.println("Field mappings: " + ws.getFieldNameMappings());
+			response = ws.simplerFieldNameQuery(
+					"gs2mgppdemo", "FieldQuery", "", map);
+			System.out.println("response:\n" + response);
+			
+			// trying the same with special field names
+			map.clear();
+
+			map.put("maxDocs", "100");
+			map.put("level", "Sec");
+			map.put("accent", "on");
+			map.put("matchMode", "some");
+			map.put("fields", "all fields,all fields,all fields,all fields");
+			map.put("case", "on");
+			map.put("sortBy", "on");
+			map.put("values", "snail,water,,");
+			
+			response = ws.simplerFieldNameQuery(
+					"gs2mgppdemo", "FieldQuery", "", map);
+			System.out.println("response:\n" + response);
+			
+			// trying query - array version
+			String[] names = {"maxDocs", "level", "accent", "matchMode", "fqf",
+					"case", "sortBy", "fqv"};
+			String[] values = {"100", "Sec", "1", "some", "ZZ,ZZ,ZZ,ZZ",  
+					"1", "1", "snail,water,,"};
+			System.out.println(ws.query("gs2mgppdemo", "FieldQuery", "", names, values));
+			
+			
+			// (3) try 2 browse
+			System.out.println("describe browse:\n" 
+					+ ws.describeCollectionService("gs2mgppdemo", "ClassifierBrowse", "", ""));
+
+			System.out.println("browse children of CL1-CL4:\n" +
+					ws.browse("gs2mgppdemo", "ClassifierBrowse", "", 
+					new String[]{"CL1", "CL2", "CL3", "CL4"}, new String[]{"children"}));
+			
+			System.out.println("browse descendants of CL2.3:\n" +
+					ws.browseDescendants("gs2mgppdemo", "ClassifierBrowse", "", 
+					new String[]{"CL2.3"}));
+			
+			
+			// (4) try 2 DocStructure
+			System.out.println("retrieve ancestors and children structure of HASH016193b2847874f3c956d22e.4:\n" +
+					ws.retrieveDocumentStructure("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4"}, 
+							new String[]{"ancestors", "children"}, new String[]{"numSiblings"}));
+							
+			
+			System.out.println("retrieve entire structure of HASH016193b2847874f3c956d22e.4.1:\n" +
+					ws.retrieveEntireDocumentStructure(
+							"gs2mgppdemo", "", new String[]{"HASH016193b2847874f3c956d22e.4.1"}));
+			
+			
+			// (5) try the 1 DocumentContent retrieve
+			System.out.println("retrieve content of HASH016193b2847874f3c956d22e.4:\n" +
+					ws.retrieveDocumentContent("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4", "HASH016193b2847874f3c956d22e.4.1", 
+							"HASH016193b2847874f3c956d22e.4.2"}));
+			
+			
+			// (6) try 2 DocumentMeta
+			System.out.println("retrieve title meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+					ws.retrieveDocumentMetadata("gs2mgppdemo", "", 
+					new String[]{"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+					"HASH016193b2847874f3c956d22e.4.3"}, new String[]{"Title"}));
+			
+			System.out.println("retrieve all meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+					ws.retrieveAllDocumentMetadata("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4",
+							"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+						"HASH016193b2847874f3c956d22e.4.3"}));
+			
+			// (7) try 2 BrowseMeta
+			System.out.println("retrieve all browse meta of CL1, CL2, CL2.1, CL3:\n" +
+					ws.retrieveAllBrowseMetadata("gs2mgppdemo", "", "", 
+					new String[]{"CL1", "CL2",
+					"CL2.1", "CL3"}));
+			
+			System.out.println("retrieve Title, hastxt browse meta of CL1, CL2, CL2.1, CL3:\n" +
+					ws.retrieveBrowseMetadata("gs2mgppdemo", "", "", 
+					new String[]{"CL1", "CL2","CL2.1", "CL3"}, new String[]{"Title", "hastxt"}));
+			
+			// (8) try process:
+			String requestXMLMessage = "<message>"
+				+ "<request lang='' to='gs2mgppdemo/ClassifierBrowseMetadataRetrieve' type='process' uid=''>"
+			    + "<paramList>" + "<param name='metadata' value='Title' />"
+			    + "<param name='metadata' value='hastxt' /></paramList>"
+			    + "<classifierNodeList><classifierNode nodeID='CL1' /><classifierNode nodeID='CL2' />"
+			    + "<classifierNode nodeID='CL2.1' /><classifierNode nodeID='CL3' /></classifierNodeList>"
+			    + "</request></message>";
+			System.out.println(ws.process(requestXMLMessage));
+			
+			
+			// (9) activate, deactivate and the 2 reconfigures
+			System.out.println("activate:\n" + ws.activate("collection", "gs2mgppdemo"));
+			System.out.println("deactivate:\n" + ws.deactivate("site", "site1"));
+			System.out.println("configure MR:\n" + ws.reconfigure());
+			System.out.println("configure:\n" + ws.reconfigure("collectionList"));
+			
+			// (10) 1 format 
+			System.out.println("format:\n" + ws.format("gs2mgppdemo", "FieldQuery", ""));
+			
+			// (11) 2 processType: build/NewCollection, build/ImportCollection
+			System.out.println("describe build/NewCollection:\n" 
+					+ ws.describeService("build/NewCollection", "", ""));
+					
+			Map params = new HashMap(10);
+			params.put("creator", "me@home");
+			params.put("collName", "the demo collection");
+			params.put("collShortName", "demo");
+			
+			System.out.println("processType build/NewCollection:\n" 
+					+ ws.processTypeService("build/NewCollection", "", params));
+			
+			params.clear(); 
+			params.put("collection", "demo");
+			System.out.println("processType build/ImportCollection:\n" 
+					+ ws.processTypeService("build/ImportCollection", "", params));
+
+			// (12) Test status(), if possible
+			System.out.println("status:\n" + ws.status("build/NewCollection", "", "1"));
+		
+			
+			// (13) One applet-type service:
+			//Map params = new HashMap(10);
+			params.clear();
+			params.put("pc", "1");
+			params.put("pptext", "health");
+			params.put("pfe", "0");
+			params.put("ple", "10");
+			params.put("pfd", "0");
+			params.put("pld", "10");
+			params.put("pfl", "0");
+			params.put("pll", "10");
+			System.out.println("appletTypeService:\n"
+					+ ws.appletTypeService("gs2mgppdemo", "PhindApplet", "query", params));
+			// no PhindApplet service deployed in gs2mgppdemo anymore, so maybe that's
+			// why it doesn't work. The request matches what's in the manual (p.50) though.
+			
+			
+			// (14) One enrich service:
+			params.clear();
+			params.put("annotationType", "Date,Location");
+			String[] nodeIDs = {"HASHac0a04dd14571c60d7fbfd"};
+			String[] nodeContents = { "FOOD AND AGRICULTURE ORGANIZATION OF THE UNITED NATIONS\n"
+				+ "Rome 1986\nP-69\nISBN 92-5-102397-2\nFAO 1986"};
+			System.out.println("enrich:\n"
+					+ ws.enrich("GatePOSTag", "en", params, nodeIDs, nodeContents));
+			// no GatePOSTag service deployed in gs2mgppdemo anymore, so maybe that's
+			// why it doesn't work. The request matches what's in the manual (p.50) though.		
+			
+			// (16) try help
+			System.out.println(ws.help());
+			System.out.println(ws.help("describe"));
+			
+		}catch(Exception e) {
+			System.out.println("Problem accessing service\n" + e.getMessage());
+			e.printStackTrace();
+		} 
+	}*/
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3client/dlservices/GS3WebServicesQBRAPI.java	(revision 15317)
@@ -0,0 +1,874 @@
+/**
+ *#########################################################################
+ * GS3WebServicesAPI.java - part of the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3client.dlservices;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Vector;
+import java.util.Map;
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.rpc.ServiceException;
+
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.axis.encoding.XMLType;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import org.apache.log4j.Logger; //Import log4j classes
+
+/** 
+ * GS3WebServicesQBRAPI deals with invoking the Greenstone 3 web services 
+ * functionality through use of Apache Axis' Service and Call objects. 
+ * Each Greenstone 3 web service operation has an equivalent method here 
+ * that invokes it, even if some of these web service operations are never 
+ * called by the Java-client and therefore not prescribed by the 
+ * DigitalLibraryServicesAPIA interface. 
+ * @author ak19
+*/
+public class GS3WebServicesQBRAPI {
+	/** The Logger for this class */
+	static Logger LOG = Logger.getLogger(GS3WebServicesQBRAPI.class);
+	
+	/** The value that the input dialog's field wsdlURL will default
+	 * to if there is (no properties file and) no wsdlURL property */
+	public static final String defaultWsdlURL =
+		"http://localhost:9090/greenstone3/services/QBRSOAPServerlocalsite?wsdl";
+	
+	// Service and Call objects
+	/** Axis Service object for connecting to invoking Greenstone 3's WebServices
+	 * using its WSDL file */
+	protected Service service; 
+	/** Axis Call object for invoking Greenstone 3's WebServices
+	 * using its WSDL file */
+	protected Call call;
+	
+	//maybe unnecessary to store these?
+	/** port Name of Greenstone 3's WebServices, as given in the WSDL file */
+	protected String portName;
+	/** namespace of Greenstone 3's WebServices, as given in the WSDL file */
+	protected String namespace;
+	/** service Name of Greenstone 3's WebServices, as given in the WSDL file */
+	protected String serviceName;
+	/** Url of the Greenstone 3 WebServices' WSDL  */
+	protected String wsdlURLName;
+	
+	
+	/** GS3ServicesAPIA constructor, that given the url to the wsdl file, finds 
+	 * either service and port or the service's endpoint of the GS3 Web Services 
+	 * and instantiates the associated Service and Call objects. 
+	 * @param wsdlURLName - location of the WSDL URL for Greenstone 3's 
+	 * web services */
+    public GS3WebServicesQBRAPI(String wsdlURLName) 
+    	throws ServiceException, MalformedURLException, 
+    		ParserConfigurationException, IOException, SAXException
+    {	
+    	this.wsdlURLName = wsdlURLName;
+    	try {
+    		// (1) Try assuming that the wsdlFile URL name is of the form
+    		// http://<host>:<port>/greenstone3/services/QBRSOAPServerlocalsite?wsdl
+        	// (http://localhost:9090/greenstone3/services/QBRSOAPServerlocalsite?wsdl)
+            // then the namespace, serviceName and portName are *likely* to be:
+            // - namespace: http://localhost:9090/greenstone3/services/QBRSOAPServerlocalsite
+            // - serviceName: QBRSOAPServerlocalsiteService
+            // - portName: QBRSOAPServerlocalsite
+    		this.namespace = wsdlURLName;
+        	int index = namespace.indexOf("?wsdl");
+        	if(index != -1)
+        		namespace = namespace.substring(0, index);
+        	//namespace = "http://gsdl3.greenstone.org";
+        	
+        	this.portName = namespace; 
+    		index = portName.lastIndexOf('/');
+    		if(index != -1)
+    			portName = portName.substring(index+1, portName.length());
+    		
+    		this.serviceName = portName + "Service";
+    		
+    		service = new Service(wsdlURLName, new QName(namespace, serviceName));
+    		call = (Call)service.createCall(new QName(namespace, portName));
+    	
+    	} catch(ServiceException e) {
+    		// If we're here, then (1) didn't work. Need to do it the long way
+    		// (2) Let's read from the wsdl file and try working out the 
+    		// <service> and <port> elements. Some of these have their own  
+    		// prefixes: <wsdl:service> and <wsdl:port>, so we need to 
+    		// take that into account.
+    		
+    		// Read from the wsdl file at the URL. There's two ways:
+    		// EITHER:
+    			//HttpURLConnection wsdlCon = (HttpURLConnection) wsdlURL.openConnection();
+    			//InputStreamReader reader = new InputStreamReader(wsdlCon.getInputStream());
+    		// OR:
+        	URL wsdlURL = new URL(wsdlURLName);
+    		InputStreamReader reader = new InputStreamReader(wsdlURL.openStream());
+    		
+    		// Turn the String xml response into a DOM tree:
+    		DocumentBuilder builder = 
+    				DocumentBuilderFactory.newInstance().newDocumentBuilder();
+    		Document doc 
+    			= builder.parse(new InputSource(reader));
+    		Element documentElement = doc.getDocumentElement();
+    		reader.close();
+    		    		
+    		// local element names (without any namespace prefixes)
+			final String SERVICE = "service"; 
+			final String PORT = "port";
+			
+			// Search for <(any namespace prefix:)service> elements:
+			// Note that the API method 
+    		// Element.getElementsByTagNameNS("*", SERVICE) 
+			// does not return anything because our documentElement is not 
+    		// created with DOM Level 2 but DOM Level 1. It won't work therefore. 
+			// See the API for Element, spefically for method getElementsByTagNameNS.
+			Vector v = getElementsByTagNameNS(documentElement, "*", SERVICE);
+			if(v.size() == 0) 
+				throw new ServiceException(
+						"No <(namespace:)"+SERVICE+"> defined in wsdl");
+			Element serviceEl = (Element)v.get(0);
+						
+			// search for <(any namespace prefix:)port> elements:
+			v = getElementsByTagNameNS(serviceEl, "*", PORT);
+			if(v.size() == 0)
+				throw new ServiceException("No <(namespace:)"+PORT
+					+"> defined in wsdl for <(namespace:)service>");
+			Element portEl = (Element)v.get(0); //otherwise
+			
+			final String nameAtt = "name";
+			final String targetNamespace = "targetNamespace";
+			this.serviceName = serviceEl.hasAttribute(nameAtt) ? 
+					serviceEl.getAttribute(nameAtt) : "";
+			this.portName = portEl.hasAttribute(nameAtt) ? 
+					portEl.getAttribute(nameAtt) : "";
+    		
+			// reset the namespace, we'll manually try to find it
+			this.namespace = ""; 
+			// generally namespace is an attribute of the root element 
+			// of the wsdl doc
+    		if(documentElement.hasAttribute(targetNamespace))
+    			this.namespace = documentElement.getAttribute(targetNamespace);
+    		
+    		if(this.namespace.equals("")) { // we'll still keep looking
+	    		NodeList nl = documentElement.getChildNodes();
+	    		for(int i = 0; i < nl.getLength(); i++) {
+	    			Node n = nl.item(i);
+	    			if(n.getNodeType() == Node.ELEMENT_NODE) {
+	    				Element el = (Element)n;
+	    				if(el.hasAttribute(targetNamespace))
+	    					this.namespace = el.getAttribute(targetNamespace);
+	    			}
+	    		}
+    		}
+    		
+    		// If any of targetNamespace, <service> or <port> were not found,
+    		// look for endpointLocation and create empty service and call objects
+    		if(namespace.equals("") || serviceName.equals("") || portName.equals("")) {
+    			LOG.debug("Namespace " + namespace + "; service " 
+    				+ serviceName + "; port " + portName);
+    			LOG.debug("Create empty service and call");
+    			boolean found = false;
+    			// Try to locate the <(wsdl)soap:address> tag.
+        		final String SOAP_ADDRESS = "soap:address";
+        		final String LOCATION = "location";
+    			String endpointLocation = "";
+    			// The following method returns all descendent Elements of document element
+    			// where the element's tagname *ends* on SOAP_ADDRESS
+    			v = getElementsByTagNameNS(portEl, "*", SOAP_ADDRESS);
+    			if(v.size() > 0) { //there should be 1 and only 1 such
+    				Element soapAddressEl = (Element)v.get(0);
+    				if(soapAddressEl.hasAttribute(LOCATION)) {
+    					endpointLocation = soapAddressEl.getAttribute(LOCATION);
+    					found = true;
+    				}
+    			}
+    			if(!found) { // haven't found endpointLocation, try brute force
+    				// Look through all port's *element* children to find some element 
+    				// with attribute "location". That could then be the service endpoint...
+    				NodeList nl = portEl.getChildNodes();
+    				for(int i = 0; !found && i < nl.getLength(); i++) {
+    					Node n = nl.item(i); 
+    					if(n.getNodeType() == Node.ELEMENT_NODE) {
+    						Element el = (Element)n; // we know it's an element
+    						if(el.hasAttribute(LOCATION)) {
+    							endpointLocation = el.getAttribute(LOCATION);
+    							found = true; // found the service endpoint
+    						}
+    					}
+    				}
+    			}
+    			if(!found) { // still not found any service endpoint
+    				throw new ServiceException(
+    					"Unable to find service endpoint address. " +
+    					"No <(soap:address) location=\"endpoint\" /> in wsdl file"
+    				);
+    			}
+    			service = new Service();
+    			call = (Call)service.createCall();
+    			call.setTargetEndpointAddress(endpointLocation);
+    		} else { // if we had found namespace, serviceName and portName
+    			LOG.debug("Namespace " + namespace + "; service " 
+    					+ serviceName + "; port " + portName);
+    			LOG.debug("Found service, port and namespace");
+    			service = new Service(wsdlURL, new QName(namespace, serviceName));
+    			call = (Call)service.createCall(new QName(namespace, portName));
+    		}
+    	} // end catch stmt, which can itself throw ServiceExceptions
+    }
+  
+    /** Static method that gets all the descendant elements of a portion of XMl  
+     * within the same namespace as indicated by parameters namespacePrefix and 
+     * localName.
+     * @param namespacePrefix - a String for the namespacePrefix to search for.
+     * This can be the wildcard * for any/allnamespaces.
+     * @param localName - the suffix of the namespaceprefix. For instance, localName
+     * "soap" will return elements that have the tag wsdlsoap.
+     * @param parentElement - the XML element whose descendants will be returned if
+     * their element names conform to the specified namespacePrefix and localName
+     * parameters.
+     * @return a Vector of all descendant elements whose namespace-qualfied tag
+     * names are as specified by the parameters namespacePrefix and localName.
+     * Had to implement my own getElementsByTagNameNS() method since the original
+	 * Element.getElementsByTagNameNS() does not work for Elements created using
+	 * DOM level 1 (such as with document.createElement()). See the API for Element.
+	 * This method is slightly more generic, as it returns all descendent elements
+	 * in a vector where the element name is prefixed by "namespacePrefix" (which 
+	 * need not be a namespace uri at all) and is suffixed by an equally arbitrary
+	 * String called localName.
+	 * If "*" is passed instead of namespacePrefix, this method will ignore any 
+	 * prefixes and check only for element names that end on the suffix localName.
+	 * 
+	 * Old versions of this method had all the same functionality in one method, 
+	 * but it was not so optimised (several if-statement checks would have been executed an unnecessary
+	 * number of times. This (current) version is split into 3 methods: this one
+	 * and two helper functions that deal with the case where namespacePrefix can
+	 * be anything and where it is particularly specified.*/
+	protected static Vector getElementsByTagNameNS(Element parentElement, 
+			String namespacePrefix, String localName)
+	{
+		Vector v = new Vector();
+		if(namespacePrefix.equals("*"))
+			getElementsByTagNameSuffix(parentElement, localName, v);
+		else // namespacePrefix is specified as something particular
+			getElementsByTagNameNS(parentElement, namespacePrefix, localName, v);
+		return v;
+	}
+	
+	/** Recursive method.
+	 * At method's end, Vector v will contain those descendent elements of 
+	 * parentElement where the element's name is suffixed by/ends with parameter
+	 * localName.
+	 * Related to local method getElementsByTagNameNS(). Deals with the case
+	 * where any and all (namespace)Prefix of an element is accepted, but where
+	 * an element name's suffix should match with the given localName. 
+	 * @param parentElement us the XML element whose descendants are to be 
+	 * retrieved by the given TagNameSuffix.
+	 * @param localName is the tagName suffix to retrieve the descendants of 
+	 * parentElement by. 
+	 * @param v is a Vector of all the previously retrieved elements  whose tag
+	 * names are suffixed by localName. This Vector is appended to by recursive 
+	 * calls to this method. */
+	protected static void getElementsByTagNameSuffix(Element parentElement, 
+			String localName, Vector v) 
+	{
+		NodeList allTags = parentElement.getChildNodes();
+		for(int i = 0; i < allTags.getLength(); i++) {
+			Node n = allTags.item(i);
+			if(n.getNodeType() == Node.ELEMENT_NODE) {
+				Element e = (Element)n;
+				if(e.getNodeName().endsWith(localName))
+					v.add(e);
+				if(e.hasChildNodes()) // recursive call on all children
+					getElementsByTagNameSuffix(e, localName, v);
+			}
+		}
+	}
+	
+	/** At method's end, Vector v will contain those descendent elements of 
+	 * parentElement where the element's name is prefixed by namespacePrefix 
+	 * and suffixed by localName. 
+	 * Related to local method getElementsByTagNameNS(). Deals with the case
+	 * where a particular (namespace)Prefix of an element and suffix (localname)
+	 * are given and an element's name should match both prefix and suffix. 
+	 * @param parentElement is the XML element whose descendants are to be
+	 * retrieved by the given TagNameSuffix.
+	 * @param namespacePrefix is the namespace prefix to look for in the 
+	 * descendants of parentElement that will be collected in Vector v.
+	 * @param localName is the tagName suffix to look for in the descendants of 
+	 * parentElement that will be collected in Vector v. 
+	 * @param v is a Vector of all the previously retrieved elements whose tag
+	 * names are prefixed by namespacePrefix and suffixed by localName. 
+	 * This Vector is appended to by recursive calls to this method. */
+	protected static void getElementsByTagNameNS(Element parentElement, 
+			String namespacePrefix, String localName, Vector v) 
+	{
+		NodeList allTags = parentElement.getChildNodes();
+		for(int i = 0; i < allTags.getLength(); i++) {
+			Node n = allTags.item(i);
+			if(n.getNodeType() == Node.ELEMENT_NODE) {
+				Element e = (Element)n;
+				if(e.getNodeName().endsWith(localName) 
+						&& e.getNodeName().startsWith(namespacePrefix))
+					v.add(e);
+				if(e.hasChildNodes()) // recursive call on all children
+					getElementsByTagNameNS(e, namespacePrefix, localName, v);
+			}
+		}
+	}
+	
+    /** @return the namespace of the wsdl file. */
+    public String getNamespace() { return namespace; }
+    /** @return the web service's serviceName without the namespace */
+    public String getService() { return serviceName; }
+    /** @return the web service's portName without the namespace */
+    public String getPort() { return portName; }
+    /** @return the the URL of the wsdl file. */
+    public String getWsdl() { return wsdlURLName; }
+   	
+	//*****************GS3 WEB SERVICE INVOCATION RELATED******************//
+    /** Helper method. Uses the Call object to invoke the operation (already
+     * set prior to calling invokeWith()) with the given parameters. */
+	protected String invokeWith(Object[] params) {
+		// the GS3 web service methods all return a String:
+		call.setReturnType( XMLType.XSD_STRING );
+		try {
+			// now call the web service and pass it the parameters
+			String response = (String) call.invoke(params);
+			return response;
+		} catch(Exception e) {
+			return "ERROR trying to invoke web service - in " 
+				+ this.getClass().getName() 
+				+ " invokeWith(Object[] params):\n" + e;
+		} finally { // always executed (before return statement/upon completion,
+				// regardless of whether an exception occurs or not:
+			
+			// after invoking, remove all params so that next call to a web 
+			// service starts at initial state (no parameters from last time)
+			call.removeAllParameters(); 
+		}
+	}
+	
+	/** Helper method. Adds a string parameter by the name of paramName to
+	 * the Call object. 
+	 * @param paramName - the name of the String parameter to add to the call 
+	 * object */
+	protected void addStringParam(String paramName) {
+		 call.addParameter( paramName, 
+				 XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN );
+	}
+	
+	/** Helper method. Adds an array parameter by the name of arrayParamName 
+	 * to the Call object. 
+	 * @param arrayParamName - the name of the Array parameter to add to the  
+	 * Call object */
+	protected void addArrayParam(String arrayParamName) {
+		 call.addParameter( arrayParamName, 
+				 XMLType.SOAP_ARRAY, javax.xml.rpc.ParameterMode.IN );
+	}
+	
+	/* (1) DESCRIBE MESSAGES, manual pages 35-41 */
+	/** Describe request message sent to the Message Router.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a> 
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For the Message Router this can be collectionList, serviceClusterList, 
+	 * serviceList, siteList */
+	public String describe(String lang, String subsetOption) {
+		call.setOperationName( "describe" ); //method name is "describe"
+		
+		addStringParam("lang"); //first param called "lang"
+	    addStringParam("subsetOption"); //second param called "subsetOption"
+	    
+	    return invokeWith(new Object[] {lang, subsetOption});
+	}
+	
+	/** For sending Describe messages to ServiceClusters.
+	 * @param serviceCluster is the name of the Service Cluster that this describe 
+	 * request is sent to. 
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Service Clusters this can be metadataList, serviceList, displayItemList.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 */
+	public String describeServiceCluster(String serviceCluster, 
+			String lang, String subsetOption) 
+	{
+		call.setOperationName( "describeServiceCluster" );
+		
+		addStringParam("serviceCluster"); 
+		addStringParam("lang");
+	    addStringParam("subsetOption"); 
+	    
+	    return invokeWith(new Object[] { serviceCluster, lang, subsetOption });
+	}
+	
+	/** For sending Describe messages to Collections.
+	 * @param collection is the name of the Collection that this describe request 
+	 * is sent to. 
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Collections this can be metadataList, serviceList and displayItemList.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 */
+	public String describeCollection(
+			String collection, String lang, String subsetOption) 
+	{
+		call.setOperationName( "describeCollection" );
+		
+		addStringParam("collection"); 
+		addStringParam("lang");
+	    addStringParam("subsetOption"); 
+	    
+	    return invokeWith(new Object[] { collection, lang, subsetOption });
+	}
+		
+	/**
+	 * For sending a describe message to a Collection's Service.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>  
+	 * @param collection is the name of the Collection whose service 
+	 * this describe request is sent to.
+	 * @param service is the name of the Service (of that collection) to
+	 * which this describe request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Services this can be paramList, displayItemList */
+	public String describeCollectionService(String collection, String service, 
+			String lang, String subsetOption) 
+	{
+		call.setOperationName( "describeCollectionService" );
+		
+		addStringParam("collection");
+		addStringParam("service");
+		addStringParam("lang");
+	    addStringParam("subsetOption"); 
+	    
+	    return invokeWith(new Object[] {collection, service, lang, subsetOption});
+	}
+	
+	/** 
+	 * For sending a describe message to a Service hosted by the Message Router 
+	 * (no collection).
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a> 
+	 * @param service is the name of the MessageRouter's Service to which this 
+	 * describe request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Services this can be paramList, displayItemList */
+	public String describeService(String service, String lang, String subsetOption)
+	{
+		call.setOperationName( "describeService" );
+		
+		addStringParam("service");
+		addStringParam("lang");
+	    addStringParam("subsetOption"); 
+	    
+	    return invokeWith(new Object[] {service, lang, subsetOption});
+	} 
+	
+	/* (2) Process-type message, QUERY-TYPE SERVICES - p.45 */
+	/** For executing a (process-type message) query-type service.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>
+	 * @param collection is the name of the Collection whose query service this  
+	 * query-process request is sent to. If "", then the Message Router is assumed.
+	 * @param service is the name of the Query Service (of that collection) to  
+	 * which  this request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param nameToValsMap is a Map of the (fieldname, value) pairs for the 
+	 * parameters of the query. The field names should be those recognised by 
+	 * Greenstone 3. That is, the names must exist for the (Collection-)Service Query that this 
+	 * message is sent To (as given in 'to' argument). 
+	 * For names of arguments, 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments</a>
+	 * @see <a href="http://mail-archives.apache.org/mod_mbox/ws-axis-user/200204.mbox/%3C8292F8C4CF63574395CE71CADF765EC30CF46D@neuman.espial.com%3E">How to use XMLType.SOAP_MAP</a>
+	*/
+	public String query(String collection, String service, 
+			String lang, Map nameToValsMap)
+	{		
+		call.setOperationName( "query" );
+		addStringParam("collection");
+		addStringParam("service");
+		addStringParam("lang");
+		call.addParameter("nameToValsMap", XMLType.SOAP_MAP, 
+			java.util.Map.class, javax.xml.rpc.ParameterMode.IN);
+		return invokeWith(new Object[]{collection, service, lang, nameToValsMap});
+	}	
+		
+	/* (3) RETRIEVE PROCESS METHODS - pp.47-49 */
+	/** (a) DocumentContentRetrieve request sent to a collection's 
+	 * DocumentContentRetrieve service (p.48)
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 48</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentContentRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * content ought to be retrieved.
+	*/
+	public String retrieveDocumentContent(
+			String collection, String lang, String[] docNodeIDs) 
+	{
+		call.setOperationName( "retrieveDocumentContent" );
+		
+		addStringParam("collection");
+		addStringParam("lang");
+		addArrayParam("docNodeIDs");
+	    
+	    return invokeWith(new Object[] {collection, lang, docNodeIDs});
+	}
+	
+	/** (b) DocumentStructureRetrieve request sent to a collection's 
+	 * DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+	 * the entire document structure.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentStructureRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * entire structure ought to be retrieved.
+	*/
+	public String retrieveEntireDocumentStructure(String collection, 
+			String lang, String[] docNodeIDs) 
+	{
+		call.setOperationName( "retrieveEntireDocumentStructure" );
+		
+		addStringParam("collection");
+		addStringParam("lang");
+		addArrayParam("docNodeIDs");
+	    
+	    return invokeWith(new Object[] {collection, lang, docNodeIDs});
+	}
+	
+	/** DocumentStructureRetrieve request sent to a collection's 
+	 * DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+	 * the specified part of the document's structure.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentStructureRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved. 
+	 * @param structure specifies what structure information needs to
+	 * be retrieved. The values can be one or more of ancestors, parent, 
+	 * siblings, children, descendents (NOTE SPELLING), entire.
+	 * @param info - for specifying extra information to be retrieved. 
+	 * Possible values for info parameters are numSiblings, siblingPosition, 
+	 * numChildren.
+	*/
+	public String retrieveDocumentStructure(String collection, String lang,
+			String[] docNodeIDs, String[] structure, String[] info)
+	{
+		call.setOperationName( "retrieveDocumentStructure" );
+		
+		addStringParam("collection");
+		addStringParam("lang");
+		addArrayParam("docNodeIDs");
+		addArrayParam("structure");
+		addArrayParam("info");
+	    
+	    return invokeWith(new Object[] {
+	    		collection, lang, docNodeIDs, structure, info});
+	}
+	
+	/** (c) DocumentMetadataRetrieve request sent to a collection's 
+	 * DocumentMetadataRetrieve service to retrieve all of a document's metadata. 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentMetadataRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved. 
+	*/
+	public String retrieveAllDocumentMetadata(String collection, String lang,
+			String[] docNodeIDs) 
+	{
+		call.setOperationName( "retrieveAllDocumentMetadata" );
+		
+		addStringParam("collection");
+		addStringParam("lang");
+		addArrayParam("docNodeIDs");
+	    
+	    return invokeWith(new Object[] {collection, lang, docNodeIDs});
+	}
+	
+	/** DocumentMetadataRetrieve service to retrieve some specific 
+	 * metadata values of a document. (Manual on page 47.)
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentContentRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved.
+	 * @param metaNames is a list of metadata names which are requested  
+	 * to be fetched for the specified documents. 
+	*/
+	public String retrieveDocumentMetadata(String collection, String lang,
+			String[] docNodeIDs, String[] metaNames)
+	{
+		call.setOperationName( "retrieveDocumentMetadata" );
+		
+		addStringParam("collection");
+		addStringParam("lang");
+		addArrayParam("docNodeIDs");
+		addArrayParam("metaNames");
+	    
+	    return invokeWith(new Object[] {collection, lang, docNodeIDs, metaNames});
+	}
+	
+	/** Retrieve all classification Metadata for browsing (sent to the 
+	 * ClassifierBrowseMetadataRetrieve service).
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a>
+	 * @param collection is the name of the Collection whose 
+	 * ClassifierBrowseMetadataRetrieve service is called 
+	 * @param categoryName - name of the browsing category, usually
+	 * ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse) 
+	 * @param lang is the language of the display content in the response 
+	 * @param nodeIDs is the list of document or classifier NodeIDs 
+	 * for which the metadata ought to be retrieved.
+	*/
+	public String retrieveAllBrowseMetadata(String collection, 
+			String categoryName, String lang, String[] nodeIDs) 
+	{
+		call.setOperationName( "retrieveAllBrowseMetadata" );
+		
+		addStringParam("collection");
+		addStringParam("categoryName");
+		addStringParam("lang");
+		addArrayParam("nodeIDs");
+	    
+	    return invokeWith(new Object[] {collection, categoryName, lang, nodeIDs});
+	}
+	
+	/**  ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+	 * metadata values of a document. 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a> 
+	 * @param collection is the name of the Collection whose 
+	 * ClassifierBrowseMetadataRetrieve service is called
+	 * @param categoryName - name of the browsing category, usually
+	 * "ClassifierBrowse". (If left as "", then it defaults to ClassifierBrowse) 
+	 * @param lang is the language of the display content in the response 
+	 * @param nodeIDs is the list of document or classifier NodeIDs 
+	 * for which the metadata ought to be retrieved.
+	 * @param metaNames is a list of metadata names which are requested  
+	 * to be fetched for the specified documents or classifiers */
+	public String retrieveBrowseMetadata(String collection, String categoryName,  
+			String lang, String[] nodeIDs, String[] metaNames) 
+	{
+		call.setOperationName( "retrieveBrowseMetadata" );
+		
+		addStringParam("collection");
+		addStringParam("categoryName");
+		addStringParam("lang");
+		addArrayParam("nodeIDs");
+		addArrayParam("metaNames");
+		
+	    return invokeWith(new Object[] {collection, categoryName, lang, 
+	    		nodeIDs, metaNames});
+	}
+	
+	/* (4) Classifier BROWSE PROCESS METHODS */
+	/** To send a browse request for all the descendants of a classifier node.
+	 * Useful for getting the entire structure of a top-level 
+	 * &lt;classificationNode&gt;.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a>
+	 * @param collection is the name of the Collection whose browse Classifier
+	 * Browse Service is called
+	 * @param browseService is the name of the (Classifier) Browse Service (of 
+	 * the given collection) to which this request message is sent. 
+	 * @param lang is the language of the display content in the response 
+	 * @param classifierNodeIDs is an array of classifierNodeIDs for which the
+	 * structures ought to be retrieved.
+	*/
+	public String browseDescendants(String collection, String browseService, 
+			String lang, String[] classifierNodeIDs) 
+	{
+		call.setOperationName( "browseDescendants" );
+		
+		addStringParam("collection");
+		addStringParam("browseService");
+		addStringParam("lang");
+		addArrayParam("classifierNodeIDs");
+	    
+	    return invokeWith(new Object[] {
+	    		collection, browseService, lang, classifierNodeIDs});
+	}
+	
+	/** To send a browse request for specific parts of a classifier node 
+	 * (children, ancestors, descendants). Useful for getting specific parts
+	 * of the structure of a top-level &lt;classificationNode&gt;.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a>
+	 * @param collection is the name of the Collection whose browse Classifier
+	 * Browse Service is called
+	 * @param browseService is the name of the (Classifier) Browse Service (of 
+	 * the given collection) to which this request message is sent. 
+	 * @param lang is the language of the display content in the response 
+	 * @param classifierNodeIDs is the list of classifierNodeIDs for which the
+	 * structure ought to be retrieved.
+	 * @param structureParams the list of parameters indicating what structure 
+	 * information is requested. Accepted values are ancestors, parent, siblings,
+	 * children, descendants.
+	*/
+	public String browse(String collection, String browseService, String lang, 
+			String[] classifierNodeIDs, String[] structureParams)
+	{
+		call.setOperationName( "browse" );
+		
+		addStringParam("collection");
+		addStringParam("browseService");
+		addStringParam("lang");
+		addArrayParam("classifierNodeIDs");
+	    addArrayParam("structureParams");
+	    
+	    return invokeWith(new Object[] {collection, browseService, lang, 
+	    		classifierNodeIDs, structureParams});
+	}
+		
+	/** @return a help string for listing all the web service methods. */
+	public String help() {
+		call.setOperationName( "help" );
+		return invokeWith(new Object[] {});
+	}
+	
+	/** @param methodname is the name of the method to be described.  
+	 * @return a help string for the given method, explaining what the method
+	 * does, what parameters it expects and their types and what it returns.
+	*/
+	public String helpWithMethod(String methodname) {
+		call.setOperationName( "helpWithMethod" );
+		addStringParam("methodname");
+		return invokeWith(new Object[] {methodname});
+	}
+	
+	public static void main(String args[]) {
+		try{
+			GS3WebServicesQBRAPI ws = new GS3WebServicesQBRAPI(GS3ServicesAPIA.showWsdlInputDialog());
+			
+			// (1) trying 4 describe methods
+			System.out.println(ws.describe("", ""));
+			System.out.println(ws.describeCollection("gs2mgppdemo", "", ""));
+			// ? //System.out.println(ws.describeServiceCluster("gs2mgppdemo", "", ""));
+			System.out.println(ws.describeCollectionService("gs2mgppdemo", "AdvancedFieldQuery", "", ""));
+			System.out.println(ws.describeService("AddItem", "", ""));
+			
+			// (2) try 3 query methods (simplerFieldQuery twice) + getFieldNameMappings()
+			HashMap map = new HashMap();
+			map.put("maxDocs", "100");
+			map.put("level", "Sec");
+			map.put("accent", "1");
+			map.put("matchMode", "some");
+			map.put("fqf", "ZZ,ZZ,ZZ,ZZ");
+			map.put("case", "1");
+			map.put("sortBy", "1");
+			map.put("fqv", "snail,water,,");
+			
+			String response = ws.query("gs2mgppdemo", "FieldQuery", "", map);
+			System.out.println("Regular query: " + response);
+			
+			
+			// (3) try 2 browse
+			System.out.println("describe browse:\n" 
+					+ ws.describeCollectionService("gs2mgppdemo", "ClassifierBrowse", "", ""));
+
+			System.out.println("browse children of CL1-CL4:\n" +
+					ws.browse("gs2mgppdemo", "ClassifierBrowse", "", 
+					new String[]{"CL1", "CL2", "CL3", "CL4"}, new String[]{"children"}));
+			
+			System.out.println("browse descendants of CL2.3:\n" +
+					ws.browseDescendants("gs2mgppdemo", "ClassifierBrowse", "", 
+					new String[]{"CL2.3"}));
+			
+			// (4) try 2 DocStructure
+			System.out.println("retrieve ancestors and children structure of HASH016193b2847874f3c956d22e.4:\n" +
+					ws.retrieveDocumentStructure("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4"}, 
+							new String[]{"ancestors", "children"}, new String[]{"numSiblings"}));
+							
+			
+			System.out.println("retrieve entire structure of HASH016193b2847874f3c956d22e.4.1:\n" +
+					ws.retrieveEntireDocumentStructure(
+							"gs2mgppdemo", "", new String[]{"HASH016193b2847874f3c956d22e.4.1"}));
+			
+			
+			// (5) try the 1 DocumentContent retrieve
+			System.out.println("retrieve content of HASH016193b2847874f3c956d22e.4:\n" +
+					ws.retrieveDocumentContent("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4", "HASH016193b2847874f3c956d22e.4.1", 
+							"HASH016193b2847874f3c956d22e.4.2"}));
+			
+			
+			// (6) try 2 DocumentMeta
+			System.out.println("retrieve title meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+					ws.retrieveDocumentMetadata("gs2mgppdemo", "", 
+					new String[]{"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+					"HASH016193b2847874f3c956d22e.4.3"}, new String[]{"Title"}));
+			
+			System.out.println("retrieve all meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+					ws.retrieveAllDocumentMetadata("gs2mgppdemo", "", 
+							new String[]{"HASH016193b2847874f3c956d22e.4",
+							"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+						"HASH016193b2847874f3c956d22e.4.3"}));
+			
+			// (7) try 2 BrowseMeta
+			System.out.println("retrieve all browse meta of CL1, CL2, CL2.1, CL3:\n" +
+					ws.retrieveAllBrowseMetadata("gs2mgppdemo", "", "", 
+					new String[]{"CL1", "CL2",
+					"CL2.1", "CL3"}));
+			
+			System.out.println("retrieve Title, hastxt browse meta of CL1, CL2, CL2.1, CL3:\n" +
+					ws.retrieveBrowseMetadata("gs2mgppdemo", "", "", 
+					new String[]{"CL1", "CL2","CL2.1", "CL3"}, new String[]{"Title", "hastxt"}));
+			
+			// (8) try help
+			System.out.println(ws.help());
+			System.out.println(ws.helpWithMethod("describe"));
+			
+			/*
+			// need to make <something>SOAPServer's "properties" member variable public 
+			// before these can be tested:
+			System.out.println("Calling webservices HELP:\n" + org.greenstone.gs3services.QBRSOAPServer.help());
+			java.util.Enumeration props = org.greenstone.gs3services.QBRSOAPServer.properties.keys();
+			while(props.hasMoreElements()){
+				String methodName = (String)props.nextElement();
+				System.out.println(//"method: " + methodName + "\n" + 
+					org.greenstone.gs3services.QBRSOAPServer.helpWithMethod(methodName));
+			}
+			System.out.println("Calling webservices HELP:\n" + org.greenstone.gs3services.AdminSOAPServer.help());
+			java.util.Enumeration props = org.greenstone.gs3services.AdminSOAPServer.properties.keys();
+			while(props.hasMoreElements()){
+				String methodName = (String)props.nextElement();
+				System.out.println(//"method: " + methodName + "\n" + 
+					org.greenstone.gs3services.AdminSOAPServer.helpWithMethod(methodName));		
+			}*/
+				
+		}catch(Exception e) {
+			System.out.println("Problem accessing service\n" + e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/AdminSOAPServer.java	(revision 15317)
@@ -0,0 +1,367 @@
+package org.greenstone.gs3services;
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.greenstone.gsdl3.core.MessageRouter;
+import org.greenstone.gsdl3.util.GSFile;
+import org.greenstone.gsdl3.util.GSXML;
+import org.greenstone.gsdl3.util.GlobalProperties;
+import org.greenstone.gsdl3.util.XMLConverter;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * A beginning to the AdminSOAPServer class which will contain management/admin 
+ * related web services such as adding new documents, creating, building and 
+ * importing collections and configuring Greenstone modules.
+ * 
+ * NOTE: to run this class, the folder containing this web service class' 
+ * properties helpFile should be on the classpath.
+*/
+public class AdminSOAPServer {
+	/** The Logger for this class */
+	private static Logger LOG = Logger.getLogger(AdminSOAPServer.class);
+	
+	/** Error message loading helpFile. Remains at "" if everything is fine */
+	protected static String helpErrormessage = "";
+	/** Properties map with mappings from methodname to help 
+	 * description string */
+	protected static Properties properties;
+	/** The help properties file describing the web service operations */
+	protected static String helpFile = "AdminWebServicesHelp.properties";
+	
+	// static code block to initialise the help Properties from the helpFile
+	static {
+		properties = new Properties();
+		// load the properties file from a location with respect to the 
+		// the Web Service .class file
+		InputStream input = null;
+		try {	
+			// load the properties file from a location with respect to the 
+			// the Web Service .class file
+			input = AdminSOAPServer.class.getClassLoader().getResourceAsStream(
+					helpFile);
+			if(input == null) {
+				helpErrormessage = "Cannot find file " + helpFile + " to load.";
+				LOG.warn(helpErrormessage);
+			} else {
+				properties.load(input);
+				input.close();
+			}
+		} catch(Exception e) {
+			helpErrormessage = "Exception loading properties from help file " 
+				+ helpFile + "\n" + e.getMessage();
+			LOG.warn("Exception loading properties from help file " 
+				+ helpFile + "\n" + e.getMessage());
+		}
+	}
+	
+	/** site_name the MessageRouter works with, here set to "localsite" */
+	protected String site_name = "localsite";
+
+	/** Message Router object to pass requests messages to and which 
+	 * will process them.*/
+	protected MessageRouter mr = null;
+	
+	/** Container Document to create XML Nodes */
+	protected Document doc=null;
+	/** A converter class to parse XML and create Docs */
+	protected XMLConverter converter=null;
+	
+	/** Constructor that initializes the web services' MessageRouter object 
+	 * Reads from GlobalProperties to get gsdl3_home and set the sitename. */
+	public AdminSOAPServer() {
+	    String gsdl3_home = GlobalProperties.getGSDL3Home();
+		if (gsdl3_home == null || gsdl3_home.equals("")) {
+		    LOG.error(
+		    	"Couldn't access GSDL3Home from GlobalProperties.getGSDL3HOME,"
+		    	+ "can't initialize the SOAP Server.");
+		    return;
+		}
+		
+		String site_home = GSFile.siteHome(gsdl3_home, this.site_name);
+		
+		File site_file = new File(site_home);
+		if (!site_file.isDirectory()) {
+		    LOG.error("The site directory "+site_file.getPath()
+		    	+" doesn't exist. Can't initialize the SOAP Server.");
+		    return;
+		} 
+		this.converter = new XMLConverter();
+		this.doc = this.converter.newDOM();
+		
+		mr = new MessageRouter();
+		mr.setSiteName(this.site_name);
+		mr.configure();
+    }
+	
+//	 (5) Status-type messages, manual pages 42, 43
+	/** Sends a status-type message to poll the status of a process that was   
+	 * initiated but which may not yet have terminated.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 42, 43</a>
+	 * @param to - the processing service to send this status message to.
+	 * @param language - the preferred language of the display content in the 
+	 * response.  
+	 * @param pid - the process id of the process whose status is requested.
+	*/
+	public String status(String to, String language, String pid) {
+		// Create message element: <message></message>
+		Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);
+		// <message><request lang="en" to="" type="status" uid="" /></message>
+		Element request = GSXML.createBasicRequest(this.doc,
+			GSXML.REQUEST_TYPE_STATUS, to, language, "");
+		
+		// create the <paramlist></paramlist> element of param elements:  
+		Element paramList = this.doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		paramList.appendChild(GSXML.createParameter(this.doc, "pid", pid));
+		
+		// now finish constructing the request message:
+		request.appendChild(paramList);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	// (6) System-type messages, manual pages 41, 42 
+	/** Sends a configure system-type message to configure all of the Message Router.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a>
+	*/
+	public String reconfigureMessageRouter() {
+		return this.reconfigure(""); // subset=MessageRouter="", type=configure
+			// Not applicable: systemModuleName="", systemModuleType=""
+			//return this.system("", GSXML.SYSTEM_TYPE_CONFIGURE, subset, "", "");
+	}
+	
+	/** Sends a configure system-type message to configure the Message Router.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a>
+	 * @param subset - the particular subset of the module which is to be 
+	 * reconfigured. For a collection/serviceRack it can be metadataList, 
+	 * serviceList. For the MessageRouter this can be siteList, collectionList, 
+	 * clusterList, serviceList
+	*/
+	public String reconfigure(String subset) {
+		// type=configure
+		// Not applicable: systemModuleName="", systemModuleType=""
+		return this.system(GSXML.SYSTEM_TYPE_CONFIGURE, subset, "", "");
+	}
+	
+	/** Sends a (re-)activate system-type message to activate a Greenstone module.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a>
+	 * @param systemModuleName - name of the module to be (re-)activated.
+	 * @param systemModuleType - type of the module. For instance, this may be
+	 * site or collection.
+	*/
+	public String activate(String systemModuleType, String systemModuleName) 
+	{
+		// type=activate
+		// Not applicable: subset=""
+		return this.system(GSXML.SYSTEM_TYPE_ACTIVATE, "", 
+				systemModuleType, systemModuleName);
+	}
+	
+	/** Sends a deactivate system-type message to activate a Greenstone module.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pp. 13, 41, 42</a>
+	 * @param systemModuleName - name of the module to be deactivated.
+	 * @param systemModuleType - type of the module. For instance, this may be
+	 * site or collection.
+	*/
+	public String deactivate(String systemModuleType, String systemModuleName) 
+	{
+		// type=deactivate
+		// Not applicable: subset=""
+		return this.system(GSXML.SYSTEM_TYPE_DEACTIVATE, "", 
+				systemModuleType, systemModuleName);
+	}
+	
+	/** For sending system-type messages. 
+	 * For parameter type=configure, the subset value is set (or "").
+	 * For parameter type=(de)activate, the systemModuleName and systemModuleType 
+	 * are set.
+	 * @param type - one of GSXML.SYSTEM_TYPE_CONFIGURE, 
+	 * GSXML.SYSTEM_TYPE_ACTIVATE, GSXML.SYSTEM_TYPE_DEACTIVATE 
+	 * (configure, activate or deactivate, respectively).
+	 * @param subset - for system type configure, this can specify the To module's
+	 * subset that needs to be reconfigured.
+	 * @param systemModuleName - for system type (de)activate, this specifies the
+	 * name of the module to be (de)activated.
+	 * @param systemModuleType - for system type (de)activate, this specifies the
+	 * type of the module to be (de)activated. For instance, this may be
+	 * site or collection.
+	 */
+	protected String system(String type, String subset, 
+			 String systemModuleType, String systemModuleName) 
+	{
+		// Create message element: <message></message>
+		Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);
+		// <message><request lang="" to="" type="system" uid="" /></message>
+		Element request = GSXML.createBasicRequest(this.doc,
+			GSXML.REQUEST_TYPE_SYSTEM, "", "", ""); // no to, no language
+				// (to is the MessageRouter which deals with system requests)
+		
+		Element system = this.doc.createElement(GSXML.SYSTEM_ELEM);
+		system.setAttribute(GSXML.TYPE_ATT, type);
+		
+		if(type.equals(GSXML.SYSTEM_TYPE_CONFIGURE)) {
+			// EITHER: <system type='configure' subset=''/>, OR:
+			// <system type='configure' subset='collectionList'/>
+			system.setAttribute(GSXML.SYSTEM_SUBSET_ATT, subset);
+		} else { // GSXML.SYSTEM_TYPE_ACTIVATE || GSXML.SYSTEM_TYPE_DEACTIVATE
+			// For example: 
+			// <system type='activate' moduleType='collection' moduleName='demo'/>
+			system.setAttribute(GSXML.SYSTEM_MODULE_TYPE_ATT, systemModuleType);
+			system.setAttribute(GSXML.SYSTEM_MODULE_NAME_ATT, systemModuleName);
+		}
+		// now finish constructing the request message:
+		request.appendChild(system);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/** Sends a format-type message to a Service containing format (Greenstone 
+	 * Format, GSF) XSLT statements to specify how a collection looks.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 42</a>
+	 * @param collection - the name of the collection this message is sent to.
+	 * @param service - name of the service this format message is to be sent to.
+	 * @param language - the preferred language of the display content in the 
+	 * response. 
+	*/
+	public String format(String collection, String service, String language) 
+	{
+		String to = service; 
+		if(!collection.equals(""))
+			to = collection+"/"+to; // prepend collection with slash to service	
+			
+		// Create message element: <message></message>
+		Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);
+		// <message><request lang="" to="" type="system" uid="" /></message>
+		Element request = GSXML.createBasicRequest(this.doc,
+			GSXML.REQUEST_TYPE_FORMAT, to, language, ""); // no language
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/** Called by most other methods in order to send the constructed message
+	 * to the Greenstone's MessageRouter, intercept the response and return it.
+	 * @param message is the XML message Element to send to GS3's MessageRouter.
+	 * @return the XML response in String format. */
+	protected String processInternal(Element message) {
+		// Let the messagerouter process the request message and get the response
+		LOG.debug(this.converter.getPrettyString(message));
+		
+		// Let the messagerouter process the request message and get the response
+		Element response = mr.process(message);
+			// won't be null, MR always returns some XML response
+		
+		// Return it as a String formatted for display
+		return this.converter.getPrettyString(response);
+	}
+	
+	/** Creates a String response message to represent an XML error response  
+	 * message using the error specified in the message parameter. A String is 
+	 * created because this method ensures that a response message is reliably 
+	 * constructed (no exceptions are thrown) that can be sent to clients.
+	 * @param errorMessage - the errormessage to be conveyed
+	 * @return an XML response message containing an GS3 error element. */
+	protected String error(String errorMessage) {
+		StringBuffer buf = new StringBuffer("<" + GSXML.MESSAGE_ELEM + ">");
+		buf.append("<" + GSXML.RESPONSE_ELEM + " " 
+				+ GSXML.FROM_ATT + "=\"" + "Greenstone 3 Web Services\"" + ">");
+		buf.append("<" + GSXML.ERROR_ELEM + " " 
+			+ GSXML.ERROR_TYPE_ATT + "=\""+ GSXML.ERROR_TYPE_OTHER + "\"" + ">");
+		buf.append(errorMessage+"\n");
+		buf.append("</" + GSXML.ERROR_ELEM + ">");
+		buf.append("</" + GSXML.RESPONSE_ELEM + ">");
+		buf.append("</" + GSXML.MESSAGE_ELEM + ">");
+		return buf.toString();
+	}
+	
+	/*
+	Look in the helpFile
+	- Have a properties file that maps methodname to help string specific
+	to the method.
+	- Read it all in statically at the start of the class, into a Properties Map.
+	- When this method is called, display the usage: "help methodname"
+	and list all the available methods by going over the keys in the Map.
+	- When the helpWithMethod(String methodname) method is called, return the 
+	value of the Map for the methodname key. This value would be the help
+	description for that method.		
+	*/
+	/** @return a help string for listing all the web service methods. */
+	public static String help() {
+		if(!helpErrormessage.equals("")) {
+			return helpErrormessage;
+		}
+		
+		StringBuffer helpString = new StringBuffer(
+				"USAGE: helpWithMethod(String <method name>)\n");
+		helpString.append(
+				"\nNearly all the web service operations return a String\n"); 
+		helpString.append(
+				"representing a Greenstone 3 XML response message.\n");
+		helpString.append("\nA list of all the method names: \n");
+		
+		Enumeration props = properties.keys();
+		while(props.hasMoreElements()){
+			String methodName = (String)props.nextElement();
+			helpString.append("\t");
+			helpString.append(methodName);
+			helpString.append("\n");
+		}
+		
+		return helpString.toString();
+	}
+	
+	/** @param methodname is the name of the method to be described.  
+	 * @return a help string for the given method, explaining what the method
+	 * does, what parameters it expects and their types and what it returns.
+	*/
+	public static String helpWithMethod(String methodname) {
+		if(!helpErrormessage.equals("")) {
+			return helpErrormessage;
+		}
+		// else we can get the method's description from the properties
+		// map loaded from the QBRWebServicesHelp.properties file:
+		String helpString = properties.getProperty(methodname,
+			"No description for " + methodname); // if the method does not exist
+		
+		return helpString;
+	}
+	
+	
+	// Here we just try calling some of the methods
+	public static void main(String[] args) {
+		AdminSOAPServer ws = new AdminSOAPServer();
+		
+		// (1) activate, deactivate and the 2 reconfigures
+		System.out.println("activate:\n" + ws.activate("collection", "gs2mgppdemo"));
+		System.out.println("deactivate:\n" + ws.deactivate("site", "site1"));
+		System.out.println("configure MR:\n" + ws.reconfigureMessageRouter());
+		System.out.println("configure:\n" + ws.reconfigure("collectionList"));
+		
+		// (2) 1 format 
+		System.out.println("format:\n" + ws.format("gs2mgppdemo", "FieldQuery", ""));
+		
+		// (3) How to test status(), especially when processType messages above don't work?
+		// System.out.println("status:\n" + ws.status(toProcess/service, language, pid));
+		System.out.println("status:\n" + ws.status("build/NewCollection", "", "1"));
+		
+		// (4) try help
+		System.out.println(ws.help());
+		System.out.println(ws.helpWithMethod("describe"));
+		System.out.println(ws.helpWithMethod("help"));
+		System.out.println(ws.helpWithMethod("helpWithMethod"));
+
+		System.out.println("Finished executing");
+	}
+
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3DemoClient/org/greenstone/gs3services/QBRSOAPServer.java	(revision 15317)
@@ -0,0 +1,860 @@
+/**
+ *#########################################################################
+ * QBRSOAPServer.java - class that provides basic Query, Browse and 
+ * Retrieve web service operations for Greenstone 3 and is part of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.gs3services;
+
+import java.io.File;
+import java.io.InputStream;
+
+import java.util.Properties;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import org.greenstone.gsdl3.core.MessageRouter;
+import org.greenstone.gsdl3.util.GlobalProperties;
+import org.greenstone.gsdl3.util.GSFile;
+import org.greenstone.gsdl3.util.GSXML;
+import org.greenstone.gsdl3.util.XMLConverter;
+
+import org.apache.log4j.Logger; // Import log4j classes
+
+/* 
+ * Add to $GSDLHOME/web/WEB-INF/server-config.wsdd:
+ * <service name="GS3WebServices" provider="java:RPC">
+ * <parameter name="allowedMethods" value="*"/>
+ * <parameter name="className" value="org.greenstone.gs3services.GS3WebServices"/>
+ * </service>
+*/
+
+/** Class that provides the basic Query, Browse and Retrieve (QBR) web service
+ * operations for Greenstone 3.
+ * It contains a MessageRouter that carries out all the tasks by calling the 
+ * appropriate Greenstone functionality for each request message passed to it, 
+ * and returning a response message.
+ *  
+ * All response messages are returned from the MessageRouter to clients invoking   
+ * the web services. All return values are strings that represent XML messages.
+ * 
+ * Method help() reads from the file QBRWebServicesHelp.properties to list the web 
+ * service operations available. Method helpWithMethod(String methodName) 
+ * reads from the same file to display a description of the requested operation.
+ * (These method descriptions are mostly the same as those in the Javadoc
+ * comments.)
+ * 
+ * NOTE: to run this class, the folder containing this web service class' 
+ * properties helpFile should be on the classpath.
+ * @author ak19
+*/
+public class QBRSOAPServer {
+	/** The Logger for this class */
+	private static Logger LOG = Logger.getLogger(QBRSOAPServer.class);
+	
+	/** Error message loading helpFile. Remains at "" if everything is fine */
+	protected static String helpErrormessage = "";
+	/** Properties map with mappings from methodname to help 
+	 * description string. */ 
+	protected static Properties properties;
+	/** The help properties file describing the web service operations */
+	protected static String helpFile = "QBRWebServicesHelp.properties";
+	
+	// static code block to initialise the help Properties from the helpFile
+	static {
+		properties = new Properties();
+		// load the properties file from a location with respect to the 
+		// the Web Service .class file
+		InputStream input = null;
+		try {	
+			// load the properties file from a location with respect to the 
+			// the Web Service .class file
+			input = QBRSOAPServer.class.getClassLoader().getResourceAsStream(
+					helpFile);
+			if(input == null) {
+				helpErrormessage = "Cannot find file " + helpFile + " to load.";
+				LOG.warn(helpErrormessage);
+			} else {
+				properties.load(input);
+				input.close();
+			}
+		} catch(Exception e) {
+			helpErrormessage = "Exception loading properties from help file " 
+				+ helpFile + "\n" + e.getMessage();
+			LOG.warn("Exception loading properties from help file " 
+				+ helpFile + "\n" + e.getMessage());
+		}
+	}
+	
+	/** site_name the MessageRouter works with, here set to "localsite" */
+	protected String site_name = "localsite";
+
+	/** Message Router object to pass requests messages to and which 
+	 * will process them.*/
+	protected MessageRouter mr = null;
+	
+	/** Container Document to create XML Nodes */
+	protected Document doc=null;
+	/** A converter class to parse XML and create Docs */
+	protected XMLConverter converter=null;
+	
+	/* Describe subset options for the various Greenstone3 modules */
+	protected static final String mrSubsetOptions = // messageRouter 
+		"collectionList serviceClusterList serviceList siteList"; 
+	protected static final String csSubsetOptions = // collections and serviceClusters 
+		"metadataList serviceList displayItemList";
+	protected static final String serviceSubsetOptions = // services
+		"paramList displayItemList";
+	protected static final String docStructureOptions =
+		"entire ancestors parent siblings children descendants"; // note the spelling
+	protected static final String docStructureInfo =
+		"numSiblings siblingPosition numChildren";
+	protected static final String browseStructureOptions = 
+		"ancestors parent siblings children descendants"; // note the spelling
+	
+		
+	/** Constructor that initializes the web services' MessageRouter object 
+	 * Reads from GlobalProperties to get gsdl3_home and set the sitename. */
+	public QBRSOAPServer() {
+	    String gsdl3_home = GlobalProperties.getGSDL3Home();
+		if (gsdl3_home == null || gsdl3_home.equals("")) {
+		    LOG.error(
+		    	"Couldn't access GSDL3Home from GlobalProperties.getGSDL3HOME,"
+		    	+ "can't initialize the SOAP Server.");
+		    return;
+		}
+		
+		String site_home = GSFile.siteHome(gsdl3_home, this.site_name);
+		
+		File site_file = new File(site_home);
+		if (!site_file.isDirectory()) {
+		    LOG.error("The site directory "+site_file.getPath()
+		    	+" doesn't exist. Can't initialize the SOAP Server.");
+		    return;
+		} 
+		this.converter = new XMLConverter();
+		this.doc = this.converter.newDOM();
+		
+		mr = new MessageRouter();
+		mr.setSiteName(this.site_name);
+		mr.configure();
+    }
+	
+	/* (1) DESCRIBE MESSAGES, manual pages 35-41 */
+	/** Sends a describe message to the MessageRouter.
+	 * @param lang is the language of the display content in the response.
+	 * @param subsetOption are the requested list of items to return in the 
+	 * response. For the Message Router this can be collectionList, 
+	 * serviceClusterList, serviceList, siteList 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	*/
+	public String describe(String lang, String subsetOption) 
+	{
+		return describe("", lang, subsetOption, mrSubsetOptions);
+	}
+	
+	/** For sending Describe messages to ServiceClusters.
+	 * @param serviceCluster is the name of the Service Cluster that this describe 
+	 * request is sent to. 
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Service Clusters this can be metadataList, serviceList, displayItemList.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 */
+	public String describeServiceCluster(
+			String serviceCluster, String lang, String subsetOption)
+	{
+		return describe(serviceCluster, lang, subsetOption, csSubsetOptions);
+	}
+	
+	/** For sending Describe messages to Collections.
+	 * @param collection is the name of the Collection that this describe request 
+	 * is sent to. 
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Collections this can be metadataList, serviceList and displayItemList.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 */
+	public String describeCollection(
+			String collection, String lang, String subsetOption)
+	{
+		return describe(collection, lang, subsetOption, csSubsetOptions);
+	}
+	
+	/**
+	 * For sending a describe message to a Collection's Service.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 * @param collection is the name of the Collection whose service 
+	 * this describe request is sent to.
+	 * @param service is the name of the Service (of that collection) to
+	 * which this describe request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Services this can be paramList, displayItemList */
+	public String describeCollectionService(String collection, String service, 
+			String lang, String subsetOption) 
+	{
+		return describe(collection + "/" + service, 
+				lang, subsetOption, serviceSubsetOptions);
+	}
+	
+	/** 
+	 * For sending a describe message to a Service hosted by the Message Router 
+	 * (no collection).
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	 * @param service is the name of the MessageRouter's Service to which this 
+	 * describe request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param subsetOption is the requested list of items to return in the response
+	 * For Services this can be paramList, displayItemList 
+	*/
+	public String describeService(
+			String service, String lang, String subsetOption) 
+	{
+		return describe(service, lang, subsetOption, serviceSubsetOptions);
+	}
+	
+	/** For sending a describe message.
+	 * If public, this method would give full access: a describe message that 
+	 * lets the user specify all the details of who the receiver is, and what 
+	 * details are requested. 
+	 * @param to - the Greenstone module (MessageRouter, Collection, 
+	 * ServiceCluster or (Collection-)Service to send this describe message to.
+	 * (The module asked to describe itself.) 
+	 * @param lang - the language of the display content in the response.
+	 * @param subsetOption - the set of elements of the describe response that
+	 * are requested. These vary depending on the GS3 module asked to describe
+	 * itself.
+	 * @param validSubsetOptions - the list of subsetOptions that are allowed
+	 * for the module this describe message is sent to. Parameter subsetOption
+	 * has to be among the list of validSubsetOptions.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 35-41</a>
+	*/ 
+	protected String describe(String to, String lang, 
+			String subsetOption, String validSubsetOptions)
+	{
+		// Create message element: <message></message>
+		Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);
+		// <message><request lang="en" to="" type="describe" uid="" /></message>
+		Element request = GSXML.createBasicRequest(
+				this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang, "");
+		
+		// Check if only a subset of this Module Interface's data is asked
+		// to be described
+		if(!subsetOption.equals("")) {
+			// Now deal with the value for subset param:
+			// only deal with valid params for subset of to-ModuleInterface
+			if(validSubsetOptions.indexOf(subsetOption) == -1)
+				return error("Invalid List to be described. Choose one of:\n"
+					+ validSubsetOptions);
+			
+			// else, append <paramList>
+			// <param name="subset" value="subsetOption" /></paramList>
+			Element paramList = this.doc.createElement(
+					GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+			// append <param name="subset" value=paramValue />
+			// createParam(Document, name, value); 
+			// Name needs to be "subset", but this can be either GSXML.SUBSET_PARAM
+			// or GSXML.SYSTEM_SUBSET_ATT. It's the first one probably.
+			paramList.appendChild(GSXML.createParameter(
+							this.doc, GSXML.SUBSET_PARAM, subsetOption));
+			request.appendChild(paramList);
+		}
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+
+	/* (2) Process-type message, QUERY-TYPE SERVICES - p.45 */
+	/** For executing a (process-type message) query-type service.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>
+	 * @param collection is the name of the Collection whose query service this  
+	 * query-process request is sent to. If "", then the Message Router is assumed.
+	 * @param service is the name of the Query Service (of that collection) to  
+	 * which  this request is sent.
+	 * @param lang is the language of the display content in the response
+	 * @param nameToValsMap is a Map of the (fieldname, value) pairs for the 
+	 * parameters of the query. The field names should be those recognised by 
+	 * Greenstone 3. That is, the names must exist for the (Collection-)Service Query that this 
+	 * message is sent To (as given in 'to' argument). 
+	 * For names of Greenstone-accepted arguments,
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments</a>
+	*/
+	public String query(String collection, String service, 
+			String lang, Map nameToValsMap) 
+	{ 	
+		// <paramList></paramList>
+		Element paramList = this.doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		// <param>s: creating parameters of (name, value) pairs
+		Set entrySet = nameToValsMap.entrySet();
+		Iterator i = entrySet.iterator();
+		while(i.hasNext()) {
+			Entry entry = (Entry)i.next();
+			String name = (String)entry.getKey();
+			String value = (String)entry.getValue();
+			paramList.appendChild(GSXML.createParameter(
+					this.doc, name, value));
+		}
+		return queryProcess(collection+"/"+service, lang, paramList);
+	}
+	
+	/** Values for field Names given in the paramList must exist for the 
+	 * (Collection-)Service Query that this message is sent To (as given in the 
+	 * 'to' argument). 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 45</a>
+	 * @param to - the (Collection-)Service Query that this message is sent To 
+	 * @param lang - the language of the display items in the response 
+	 * @param paramList - XML Dom Element representing the list of field names, 
+	 * and associated values required for executing the query. 
+	 * For names of Greenstone-accepted arguments,
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Actions_and_Arguments">Greenstone wiki - Actions and Arguments<a>
+	*/
+	protected String queryProcess(String to, String lang, Element paramList) {
+		// must work with whatever Document was used to create the
+		// <paramList>: other elements must be created using this 
+		// document object too
+		Document ownerDoc = paramList.getOwnerDocument();
+		Element message = ownerDoc.createElement(GSXML.MESSAGE_ELEM);
+		Element request = GSXML.createBasicRequest(
+				ownerDoc, GSXML.REQUEST_TYPE_PROCESS, to, lang, "");
+		
+		request.appendChild(paramList);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+		
+	/* (3) RETRIEVE PROCESS METHODS - Manual, pp.47-49 */
+	/** DocumentContentRetrieve request sent to a collection's 
+	 * DocumentContentRetrieve service (see manual, p.48)
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 48</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentContentRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * content ought to be retrieved. */
+	public String retrieveDocumentContent(
+			String collection, String lang, String[] docNodeIDs) 
+	{
+		// creating <documentNodeList></documentNodeList>
+		Element docNodeList = this.doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		// creating subelements: <documentNode nodeID="..." />
+		for(int i = 0; i < docNodeIDs.length; i++) {
+			Element docNode = this.doc.createElement(GSXML.DOC_NODE_ELEM);
+			docNode.setAttribute(GSXML.NODE_ID_ATT, docNodeIDs[i]);
+			docNodeList.appendChild(docNode);
+		}
+
+		Element message = doc.createElement(GSXML.MESSAGE_ELEM);
+		Element request = GSXML.createBasicRequest(
+				doc, GSXML.REQUEST_TYPE_PROCESS, 
+				collection+"/DocumentContentRetrieve", lang, "");
+		
+		// create an empty <paramlist /> element (as example in manual)
+		Element paramlist = doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		
+		request.appendChild(paramlist);
+		request.appendChild(docNodeList);
+		message.appendChild(request);
+
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/** DocumentStructureRetrieve request sent to a collection's 
+	 * DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+	 * the entire document structure.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentStructureRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * entire structure ought to be retrieved. */
+	public String retrieveEntireDocumentStructure(String collection, 
+			String lang, String[] docNodeIDs) 
+	{
+		return retrieveDocumentStructure(collection, lang, docNodeIDs, 
+				new String[] { "entire" }, null);
+	}
+	
+	/** DocumentStructureRetrieve request sent to a collection's 
+	 * DocumentStructureRetrieve service (manual pp.48, 49) to retrieve
+	 * the specified part of the document's structure.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 48, 49</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentStructureRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved. 
+	 * @param structure specifies what structure information needs to
+	 * be retrieved. The values can be one or more of ancestors, parent, 
+	 * siblings, children, descendants (<b>note spelling</b>), entire.
+	 * @param info - for specifying extra information to be retrieved. 
+	 * Possible values for info parameters are numSiblings, siblingPosition, 
+	 * numChildren */
+	public String retrieveDocumentStructure(String collection, String lang,
+			String[] docNodeIDs, String[] structure, String[] info)
+	{
+		// creating subelements: <documentNode nodeID="..." />
+		Element docNodeList = this.doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		for(int i = 0; i < docNodeIDs.length; i++) {
+			Element docNode = this.doc.createElement(GSXML.DOC_NODE_ELEM);
+			docNode.setAttribute(GSXML.NODE_ID_ATT, docNodeIDs[i]);
+			docNodeList.appendChild(docNode);
+		} 
+		
+		Element message = doc.createElement(GSXML.MESSAGE_ELEM);
+		Element request = GSXML.createBasicRequest(
+				doc, GSXML.REQUEST_TYPE_PROCESS, 
+				collection+"/DocumentStructureRetrieve", lang, "");
+		
+		// Create the <paramlist></paramlist> element of param elements,
+		// if any; and only if values are legal (that is, if they occur in  
+		// static Strings docStructureOptions and docStructureInfo):
+		// <param name="structure" value = "structure[i]">
+		// <param name="info" value = "info[i]">
+		Element paramList = doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		
+		if(structure != null) {
+			for(int i = 0; i < structure.length; i++) {
+				if(docStructureOptions.indexOf(structure[i]) != -1) {
+					paramList.appendChild(GSXML.createParameter(
+							this.doc, "structure", structure[i]));					
+				}
+			} 
+		}
+		if(info != null) {
+			for(int i = 0; i < info.length; i++) {
+				if(docStructureInfo.indexOf(info[i]) != -1) {
+					paramList.appendChild(GSXML.createParameter(
+							this.doc, "info", info[i]));
+				}
+			}
+		}
+		
+		// paramList is allowed to be empty and may indeed be empty:
+		request.appendChild(paramList);
+		request.appendChild(docNodeList);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/* Retrieve for Doc Metadata: explained in the manual on page 47 */
+	/** DocumentMetadataRetrieve request sent to a collection's 
+	 * DocumentMetadataRetrieve service to retrieve all of a document's metadata. 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentMetadataRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved. 
+	*/
+	public String retrieveAllDocumentMetadata(String collection, String lang,
+			String[] docNodeIDs) 
+	{
+		// See bottom of manual p.44 for the fact that "all" is used
+		// as the metaName value when retrieving all metadata for a doc
+		return retrieveDocumentMetadata(collection, lang, docNodeIDs, 
+				new String[]{ "all" });
+	}
+	
+	/** DocumentMetadataRetrieve service to retrieve some specific 
+	 * metadata values of a document. (Manual on page 47.)
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 47</a>
+	 * @param collection is the name of the Collection whose 
+	 * DocumentContentRetrieve is requested 
+	 * @param lang is the language of the display content in the response 
+	 * @param docNodeIDs is the list of documentNodeIDs for which the
+	 * structure ought to be retrieved.
+	 * @param metaNames is a list of metadata names which are requested  
+	 * to be fetched for the specified documents */
+	public String retrieveDocumentMetadata(String collection, String lang,
+			String[] docNodeIDs, String[] metaNames)
+	{
+		return metadataRetrieve(collection+"/DocumentMetadataRetrieve",
+				lang, docNodeIDs, metaNames, GSXML.DOC_NODE_ELEM);
+	}
+
+	/** Retrieve all classification Metadata for browsing (sent to the 
+	 * ClassifierBrowseMetadataRetrieve service).
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a>
+	 * @param collection is the name of the Collection whose 
+	 * ClassifierBrowseMetadataRetrieve service is called 
+	 * @param categoryName - name of the browsing category, usually
+	 * ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse) 
+	 * @param lang is the language of the display content in the response 
+	 * @param nodeIDs is the list of document or classifier NodeIDs 
+	 * for which the metadata ought to be retrieved.*/
+	public String retrieveAllBrowseMetadata(String collection, 
+			String categoryName, String lang, String[] nodeIDs) 
+	{
+		if(categoryName.equals(""))
+			categoryName = "ClassifierBrowse";
+		// See bottom of manual p.47 for the fact that "all" is used as 
+		// the metaName value when retrieving all metadata for a classifier
+		return metadataRetrieve(collection+"/"+categoryName+"MetadataRetrieve", 
+				lang, nodeIDs, new String[]{ "all" }, GSXML.CLASS_NODE_ELEM);
+	}
+	
+	/** ClassifierBrowseMetadataRetrieve service to retrieve some specific 
+	 * metadata values of a document. 
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - pages 47, 48</a>
+	 * @param collection is the name of the Collection whose 
+	 * ClassifierBrowseMetadataRetrieve service is called
+	 * @param categoryName - name of the browsing category, usually
+	 * ClassifierBrowse. (If left as "", then it defaults to ClassifierBrowse) 
+	 * @param lang is the language of the display content in the response 
+	 * @param nodeIDs is the list of document or classifier NodeIDs 
+	 * for which the metadata ought to be retrieved.
+	 * @param metaNames is a list of metadata names which are requested  
+	 * to be fetched for the specified documents or classifiers */
+	public String retrieveBrowseMetadata(String collection, String categoryName,  
+			String lang, String[] nodeIDs, String[] metaNames) 
+	{
+		if(categoryName.equals(""))
+			categoryName = "ClassifierBrowse";
+		return metadataRetrieve(collection+"/"+categoryName+"MetadataRetrieve", 
+				lang, nodeIDs, metaNames, GSXML.CLASS_NODE_ELEM);
+	}
+	
+	/** Performs a metadata retrieve for documents and (browse) classification 
+	 * hierarchies. Sends a Document- or ClassifierBrowse- MetadataRetrieve message 
+	 * to the Document- or ClassifierBrowse- MetadataRetrieve service.
+	 * @param to - the Document- or ClassifierBrowse- MetadataRetrieve service to
+	 * send this metadata retrieve message to.
+	 * @param lang - the language of the display content in the response
+	 * @param nodeIDs - the list of (document or classifier) nodeIDs for which
+	 * to retrieve the metadata for
+	 * @param metaNames - a list specifiying the names of the metadata items 
+	 * to be retrieved for each nodeID. E.g. "Title", but a list is allowed.
+	 * @param NODE_ELEM - either of GSXML's names for the &lt;documentNode&gt; or 
+	 * &lt;classifierNode&gt; elements.
+	*/
+	protected String metadataRetrieve(String to, String lang, 
+			String[] nodeIDs, String[] metaNames, final String NODE_ELEM)
+	{
+		// create the <paramlist></paramlist> element of param elements:  
+		// <param name="metadata" value = "metaName[i]">
+		Element metadataParamList = this.doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		for(int i = 0; i < metaNames.length; i++) {
+			metadataParamList.appendChild(GSXML.createParameter(
+					this.doc, GSXML.METADATA_ELEM, metaNames[i]));
+		}
+		
+		// creating subelements: <documentNode nodeID="..." />
+		// or <classifierNode nodeID="..." />
+		Element nodeList = this.doc.createElement(
+				NODE_ELEM+GSXML.LIST_MODIFIER);
+		for(int i = 0; i < nodeIDs.length; i++) {
+			Element docNode = this.doc.createElement(NODE_ELEM);
+			docNode.setAttribute(GSXML.NODE_ID_ATT, nodeIDs[i]);
+			nodeList.appendChild(docNode);
+		} 
+		
+		Element message = doc.createElement(GSXML.MESSAGE_ELEM);
+		Element request = GSXML.createBasicRequest(doc, 
+				GSXML.REQUEST_TYPE_PROCESS, to, lang, "");
+		
+		request.appendChild(metadataParamList);
+		request.appendChild(nodeList);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/* (4) Classifier BROWSE PROCESS METHODS - p.46 */
+	/** To send a browse request for all the descendants of a classifier node.
+	 * Useful for getting the entire structure of a top-level &lt;classificationNode&gt;
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a>
+	 * @param collection is the name of the Collection whose browse Classifier
+	 * Browse Service is called
+	 * @param browseService is the name of the (Classifier) Browse Service (of 
+	 * the given collection) to which this request message is sent. 
+	 * @param lang is the language of the display content in the response 
+	 * @param classifierNodeIDs is an array of classifierNodeIDs for which the
+	 * structures ought to be retrieved.
+	*/
+	public String browseDescendants(String collection, String browseService, 
+			String lang, String[] classifierNodeIDs) 
+	{
+		// We are at the top level, we want all the descendants:
+		// <param name="structure" value = "descendants">
+		// <classifierNodeList><classifier nodeID="CLx" /></classifierNodeList>
+		return browse(collection, browseService, lang,   
+				classifierNodeIDs, 
+				new String[] {"descendants"}); // note the spelling
+	}
+	
+	/** To send a browse request for specific parts of a classifier node 
+	 * (children, ancestors, descendants). Useful for getting specific parts
+	 * of the structure of a top-level &lt;classificationNode&gt;.
+	 * @see <a href="http://wiki.greenstone.org/wiki/index.php/Greenstone3">The Greenstone 3 Developer's Manual - page 46</a> 
+	 * @param collection is the name of the Collection whose browse Classifier
+	 * Browse Service is called
+	 * @param browseService is the name of the (Classifier) Browse Service (of 
+	 * the given collection) to which this request message is sent. 
+	 * @param lang is the language of the display content in the response 
+	 * @param classifierNodeIDs is the list of classifierNodeIDs for which the
+	 * structure ought to be retrieved.
+	 * @param structureParams the list of parameters indicating what structure 
+	 * information is requested. Accepted values are ancestors, parent, siblings,
+	 * children, descendants.
+	*/
+	public String browse(String collection, String browseService, String lang, 
+			String[] classifierNodeIDs, String[] structureParams) 
+	{
+		if(browseService.equals(""))
+			browseService = "ClassifierBrowse";
+		
+		// Create message element: <message></message>
+		Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);
+		// <message><request lang="en" to="" type="process" uid="" /></message>
+		Element request = GSXML.createBasicRequest(this.doc,
+			GSXML.REQUEST_TYPE_PROCESS, collection+"/"+browseService, lang, "");
+		
+		// <param name="structure" value = "structureParams[i]">
+		Element paramList = this.doc.createElement(
+				GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		for(int i = 0; i < structureParams.length; i++) {
+			// check it is a valid structure parameter
+			if(browseStructureOptions.indexOf(structureParams[i]) != -1) {
+				paramList.appendChild(GSXML.createParameter(
+						this.doc, "structure", structureParams[i]));
+			}
+		}
+		
+		// <classifierNodeList><classifier nodeID="CLx" />
+		// 		<classifier nodeID="CLy" /></classifierNodeList> 
+		// where CLx and CLy are given in the parameter classifierNodeIDs
+		Element classifierNodeList = this.doc.createElement(
+				GSXML.CLASS_NODE_ELEM+GSXML.LIST_MODIFIER);
+		for(int i = 0; i < classifierNodeIDs.length; i++) {
+			Element classifier = this.doc.createElement(GSXML.CLASS_NODE_ELEM);
+			classifier.setAttribute(GSXML.NODE_ID_ATT, classifierNodeIDs[i]);
+			classifierNodeList.appendChild(classifier);
+		}
+		
+		// now finish constructing the request message:
+		request.appendChild(paramList);
+		request.appendChild(classifierNodeList);
+		message.appendChild(request);
+		
+		// Send it off to the Message Router and return the response
+		return this.processInternal(message);
+	}
+	
+	/** Called by most other methods in order to send the constructed message
+	 * to the Greenstone's MessageRouter, intercept the response and return it.
+	 * @param message is the XML message Element to send to GS3's MessageRouter.
+	 * @return the XML response in String format. */
+	protected String processInternal(Element message) {
+		// Let the messagerouter process the request message and get the response
+		LOG.debug(this.converter.getPrettyString(message));
+		
+		// Let the messagerouter process the request message and get the response
+		Element response = mr.process(message);
+		// won't be null, MR always returns some response
+		
+		// Return it as a String formatted for display
+		return this.converter.getPrettyString(response);
+	}
+	
+	/** Creates a String response message to represent an XML error response  
+	 * message using the error specified in the message parameter. A String is 
+	 * created because this method ensures that a response message is reliably 
+	 * constructed (no exceptions are thrown) that can be sent to clients.
+	 * @param errorMessage - the errormessage to be conveyed
+	 * @return an XML response message containing an GS3 error element. */
+	protected String error(String errorMessage) {
+		StringBuffer buf = new StringBuffer("<" + GSXML.MESSAGE_ELEM + ">");
+		buf.append("<" + GSXML.RESPONSE_ELEM + " " 
+				+ GSXML.FROM_ATT + "=\"" + "Greenstone 3 Web Services\"" + ">");
+		buf.append("<" + GSXML.ERROR_ELEM + " " 
+			+ GSXML.ERROR_TYPE_ATT + "=\""+ GSXML.ERROR_TYPE_OTHER + "\"" + ">");
+		buf.append(errorMessage+"\n");
+		buf.append("</" + GSXML.ERROR_ELEM + ">");
+		buf.append("</" + GSXML.RESPONSE_ELEM + ">");
+		buf.append("</" + GSXML.MESSAGE_ELEM + ">");
+		return buf.toString();
+	}
+
+	/*
+	Look in file QBRWebServicesHelp.properties
+	- Have a properties file that maps methodname to help string specific
+	to the method.
+	- Read it all in statically at the start of the class, into a Properties Map.
+	- When this method is called, display the usage: "help methodname"
+	and list all the available methods by going over the keys in the Map.
+	- When the helpWithMethod(String methodname) method is called, return the 
+	value of the Map for the methodname key. This value would be the help
+	description for that method.		
+	*/
+	/** @return a help string for listing all the web service methods. */
+	public static String help() {
+		if(!helpErrormessage.equals("")) {
+			return helpErrormessage;
+		}
+		
+		StringBuffer helpString = new StringBuffer(
+				"USAGE: helpWithMethod(String <method name>)\n");
+		helpString.append(
+				"\nNearly all the web service operations return a String\n"); 
+		helpString.append(
+				"representing a Greenstone 3 XML response message.\n");
+		helpString.append("\nA list of all the method names: \n");
+		
+		Enumeration props = properties.keys();
+		while(props.hasMoreElements()){
+			String methodName = (String)props.nextElement();
+			helpString.append("\t");
+			helpString.append(methodName);
+			helpString.append("\n");
+		}
+		
+		return helpString.toString();
+	}
+	
+	/** @param methodname is the name of the method to be described.  
+	 * @return a help string for the given method, explaining what the method
+	 * does, what parameters it expects and their types and what it returns.
+	*/
+	public static String helpWithMethod(String methodname) {
+		if(!helpErrormessage.equals("")) {
+			return helpErrormessage;
+		}
+		// else we can get the method's description from the properties
+		// map loaded from the QBRWebServicesHelp.properties file:
+		String helpString = properties.getProperty(methodname,
+			"No description for " + methodname); // if the method does not exist
+		
+		return helpString;
+	}
+	
+	 
+	// NOTE: the main method of this web service class won't work while it's 
+	// being exposed as a web service (while its copy of the .class file  
+	// is in $GSDLHOME/web/WEB-INF/classes/<this-class'-package-structure>/.)
+	// where the main method (of the exposed class file) is commented out.
+	// Testing all the web service methods
+	public static void main(String[] args) 
+	{
+		QBRSOAPServer ws = new QBRSOAPServer();
+			
+		// (1) trying 4 describe methods
+		System.out.println(ws.describe("", ""));
+		System.out.println(ws.describeCollection("gs2mgppdemo", "", ""));
+		//?AnyExampleServiceClusters?//System.out.println(ws.describeServiceCluster("", "", ""));
+		System.out.println(ws.describeCollectionService("gs2mgppdemo", "AdvancedFieldQuery", "", ""));
+		System.out.println(ws.describeService("AddItem", "", ""));
+				
+		// (2) try 3 query methods (simplerFieldQuery twice) + getFieldNameMappings()
+		HashMap map = new HashMap();
+		map.put("maxDocs", "100");
+		map.put("level", "Sec");
+		map.put("accent", "1");
+		map.put("matchMode", "some");
+		map.put("fqf", "ZZ,ZZ,ZZ,ZZ");
+		map.put("case", "1");
+		map.put("sortBy", "1");
+		map.put("fqv", "snail,water,,");
+		
+		String response = ws.query("gs2mgppdemo", "FieldQuery", "", map);
+		System.out.println("Regular query: " + response);
+		
+		// (3) try 2 browse
+		System.out.println("describe browse:\n" 
+				+ ws.describeCollectionService("gs2mgppdemo", "ClassifierBrowse", "", ""));
+
+		System.out.println("browse children of CL1-CL4:\n" +
+				ws.browse("gs2mgppdemo", "ClassifierBrowse", "", 
+				new String[]{"CL1", "CL2", "CL3", "CL4"}, new String[]{"children"}));
+		
+		System.out.println("browse descendants of CL2.3:\n" +
+				ws.browseDescendants("gs2mgppdemo", "ClassifierBrowse", "", 
+				new String[]{"CL2.3"}));
+		
+		// (4) try 2 DocStructure
+		System.out.println("retrieve ancestors and children structure of HASH016193b2847874f3c956d22e.4:\n" +
+				ws.retrieveDocumentStructure("gs2mgppdemo", "", 
+						new String[]{"HASH016193b2847874f3c956d22e.4"}, 
+						new String[]{"ancestors", "children"}, new String[]{"numSiblings"}));
+						
+		
+		System.out.println("retrieve entire structure of HASH016193b2847874f3c956d22e.4.1:\n" +
+				ws.retrieveEntireDocumentStructure(
+						"gs2mgppdemo", "", new String[]{"HASH016193b2847874f3c956d22e.4.1"}));
+		
+		// (5) try the 1 DocumentContent retrieve
+		System.out.println("retrieve content of HASH016193b2847874f3c956d22e.4:\n" +
+				ws.retrieveDocumentContent("gs2mgppdemo", "", 
+						new String[]{"HASH016193b2847874f3c956d22e.4", "HASH016193b2847874f3c956d22e.4.1", 
+						"HASH016193b2847874f3c956d22e.4.2"}));
+		
+		
+		// (6) try 2 DocumentMeta
+		System.out.println("retrieve title meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+				ws.retrieveDocumentMetadata("gs2mgppdemo", "", 
+				new String[]{"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+				"HASH016193b2847874f3c956d22e.4.3"}, new String[]{"Title"}));
+		
+		System.out.println("retrieve all meta of HASH016193b2847874f3c956d22e.4 children:\n" +
+				ws.retrieveAllDocumentMetadata("gs2mgppdemo", "", 
+						new String[]{"HASH016193b2847874f3c956d22e.4",
+						"HASH016193b2847874f3c956d22e.4.1", "HASH016193b2847874f3c956d22e.4.2",
+					"HASH016193b2847874f3c956d22e.4.3"}));
+		
+		// (7) try 2 BrowseMeta
+		System.out.println("retrieve all browse meta of CL1, CL2, CL2.1, CL3:\n" +
+				ws.retrieveAllBrowseMetadata("gs2mgppdemo", "", "", 
+				new String[]{"CL1", "CL2",
+				"CL2.1", "CL3"}));
+		
+		System.out.println("retrieve Title, hastxt browse meta of CL1, CL2, CL2.1, CL3:\n" +
+				ws.retrieveBrowseMetadata("gs2mgppdemo", "", "", 
+				new String[]{"CL1", "CL2","CL2.1", "CL3"}, new String[]{"Title", "hastxt"}));
+		
+		// (8) try help
+		System.out.println(ws.help());
+		System.out.println(ws.helpWithMethod("describe"));
+		System.out.println(ws.helpWithMethod("help"));
+		System.out.println(ws.helpWithMethod("helpWithMethod"));
+
+		System.out.println("Finished executing");
+		
+	} // end main method 
+	
+} // end web service class
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraCommons.java	(revision 15317)
@@ -0,0 +1,110 @@
+/**
+ *#########################################################################
+ * FedoraCommons.java - works with the demo-client for Greenstone 3, of
+ * the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/** Methods common to both Fedora(GS3)Connection and GSearchConnection.
+ * Made static here so they can be reused by these classes.
+ * @author ak19
+*/
+public class FedoraCommons {
+	/** Extract the text from an element, if any.
+	 * @return the text that's nested in an element's body or "" 
+	 * if there's none. 
+	 * @param e is the element whose value is to be extracted.*/
+	public static String getValue(Element e) {
+		Node child = e.getFirstChild();
+		return (child == null) ? "" : child.getNodeValue();
+	}
+	
+	/** Turns the XML String into a DOM tree and returns it.
+	 * @param XML the string to be converted into a DOM tree
+	 * @param builder is the DocumentBuilder to use to parse the string XML
+	 * @return the root element of the document by parsing the string XML 
+	*/
+	public static Element getResponseAsDOM(DocumentBuilder builder, String XML)
+		throws SAXException, IOException
+	{
+		Element docEl = null;
+		// turn the String xml into a DOM tree:	
+		Document doc = builder.parse(new InputSource(new StringReader(XML)));
+		docEl = doc.getDocumentElement();
+		return docEl;
+	}
+		
+	/** Given an Element, this will return its String representation without
+	 * indenting it for display. 
+	 * @return a string representation of e without formatting it for display. 
+	 * @param e is the element to be converted to its string representation.
+	*/
+	public static String elementToString(Element e) 
+		throws TransformerException
+	{
+		DOMSource domSource = new DOMSource(e);
+		Transformer transformer 
+			= TransformerFactory.newInstance().newTransformer();
+		transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+		//transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+		//transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
+
+		StringWriter sw = new StringWriter();
+		transformer.transform(domSource, new StreamResult(sw));
+		return sw.toString();
+	}
+	
+	/** Given an Element, this will return its String representation properly 
+	 * indented for display.
+	 * @return a string representation of e, formatted for display. 
+	 * @param e is the element to be converted to its string representation.
+	*/
+	public static String elementToFormattedString(Element e) 
+		throws TransformerException 
+	{
+		DOMSource domSource = new DOMSource(e);
+		Transformer transformer = TransformerFactory.newInstance().newTransformer();
+		transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+		//transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+		//transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
+		transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
+		transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+
+		StringWriter sw = new StringWriter();
+		transformer.transform(domSource, new StreamResult(sw));
+		return sw.toString();
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraConnection.java	(revision 15317)
@@ -0,0 +1,1802 @@
+/**
+ *#########################################################################
+ * FedoraConnection.java - works with the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+
+import fedora.client.utility.AutoFinder;
+import fedora.server.access.FedoraAPIAServiceLocator;
+// The object for accessing FedoraAPI-A web services:
+import fedora.server.access.FedoraAPIA; 
+
+// The definitions for all complex fedora types:
+import fedora.server.types.gen.MIMETypedStream;
+import fedora.server.types.gen.RepositoryInfo;
+import fedora.server.types.gen.FieldSearchResult;
+import fedora.server.types.gen.FieldSearchQuery;
+import fedora.server.types.gen.DatastreamDef;
+import fedora.server.types.gen.ObjectFields;
+import fedora.server.types.gen.Condition;
+import fedora.server.types.gen.ComparisonOperator;
+//import fedora.server.types.gen.*;
+
+import javax.net.ssl.SSLHandshakeException;
+import java.net.ConnectException;
+import org.xml.sax.SAXException;
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+import javax.xml.parsers.ParserConfigurationException;
+import java.net.MalformedURLException;
+import java.rmi.RemoteException;
+	
+import java.io.StringReader;
+import java.io.FileInputStream;
+import java.io.File;
+import java.util.TreeSet;
+import java.util.Properties;
+import java.util.Vector;
+
+import java.awt.GridLayout;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JPasswordField;
+import javax.swing.JTextField;
+
+import org.apache.log4j.Logger;
+import org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException;
+import org.greenstone.fedora.services.FedoraGS3Exception.CancelledException;
+import org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3InitFailureException;
+import org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException;
+import org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.*;
+
+import org.xml.sax.InputSource;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+
+/** Class that establishes a connection with Fedora's web services (via
+ * Java stub classes for the same) and then provides methods to retrieve
+ * Greenstone-specific data, such as the TOC, EX, DC,and Section 
+ * datastreams of the Greenstone documents stored in Fedora's repository.
+ * These datastreams are returned as Strings without any changes being
+ * made to them.
+ * @author ak19
+*/
+public class FedoraConnection implements FedoraGS3DL {
+	/** The logging instance for this class */
+	private static final Logger LOG = Logger.getLogger(
+			  FedoraConnection.class.getName());
+	
+	/** The version of fedora that is supported by class FedoraConnection */
+	protected static final String SUPPORTED_VERSION = "2.2.1";
+	
+	/* Some fixed strings of known literals */
+	protected static final String TYPE = "type";
+	protected static final String INTERNAL_NODE = "internalNode";
+	protected static final String GET= "/get/";
+	
+	// The DemoSOAPClient declares and uses the following as a static member  
+	// Probably none of the APIA methods (web service methods) remembers   
+	// state, that might explain why we can use it as a static member then.
+	/** The object used to access the Fedora API-A web service methods */
+	protected static FedoraAPIA APIA; 
+
+	/** Version of the running fedora server */
+	protected String fedoraVersion;
+	/** The location of the fedora server, usually of the form 
+	 * http://localhost:8080/fedora */
+	protected String baseURL; 
+	
+	/** The user-specified portAddressSuffix of the Fedora Access web services 
+	 * (endpoint URL in the WSDL), usually of the form 
+	 * http://localhost:8080/fedora/services/access 
+	 * Users can tell FedoraGS3 to try accessing that first by setting 
+	 * the "port.address.suffix" property in the properties file. 
+	 * FedoraGS3 itself will not write the portAddressSuffix currently used in
+	 * the file for next time, but leave whatever value was entered in the
+	 * properties file. The portAddress--not just suffix--currently in use (once
+	 * the FedoraAPIA handle has been instantiated) can be obtained through 
+	 * getPortAddressURL() method. */
+	protected String portAddressSuffix;
+	
+	/** The part of the portAddress that comes after the baseURL. It is usually: 
+	 * "/services/access" */
+	protected static final String defaultPortAddressSuffix = "/services/access";
+	
+	/** The preferred language of the displat content */
+	protected String lang;
+	/** The maximum number of collections to retrieve */
+	protected int maxresults; 
+	/** DocumentBuilder used to create and parse XML documents */
+	protected DocumentBuilder builder;
+	
+	/** Static method that returns the version of Fedora supported by this
+	 * class FedoraConnection. */
+	public static String getSupportedVersion() { return SUPPORTED_VERSION; }
+	/** The version of the running Fedora server, which may or may not
+	 * match the supported version. */
+	public String getFedoraVersion() { return fedoraVersion; }
+	
+	/** @return the default language used to query for titles (and anything else
+	 * where there are multiple language options). Upon initialisation, this 
+	 * defaults to English. */
+	public String getLanguage() { return lang; } 
+	
+	/** Sets the the default language used to query for titles (and anything else
+	 * where there are multiple language options). If the default language for any
+	 * query is not available, then English ("en") is used. If that's not available
+	 * then the first other available language is used.
+	 * @param lang - the two-letter language code to set the default language to.
+	*/
+	public void setLanguage(String lang) { this.lang = lang; }
+	
+	/** The default maximum number of search results returned for a search. Upon
+	 * initialisation, this defaults to Java's Integer.MAX_VALUE. */
+	public int getMaxResults() { return maxresults; }
+	
+	/** Set the default maximum number of search results returned for a search. 
+	 * @param maxresults - the new default maximum number of search results to 
+	 * be returned. */
+	public void setMaxResults(int maxresults) { this.maxresults = maxresults; }
+	
+	/** Code for this constructor is from DemoSOAPClient.java. 
+	 * Instantiates the APIA handle using the protocol, host, port, fedora
+	 * server repository username and password.
+	 * @param host - the fedora server host (may be prefixed with http:// or  
+	 * https:// if parameter protocol is empty). If there's no protocol, and 
+	 * no protocol prefixed to the host, then the protocol defaults to http.  
+	 * @param protocol - either http or https (or empty "")
+	 * @param port - the port on which fedora is running.
+	 * @param fedoraServerUsername - the administrator username required to
+	 * access the fedora server's repository. ("fedoraAdmin" unless changed).
+	 * @param fedoraServerPassword - the fedora server repository's 
+	 * administrator password. If none was set on fedora installation, this
+	 * can be empty (""). */
+	public FedoraConnection(String protocol, String host, int port, 
+			String fedoraServerUsername, String fedoraServerPassword)
+		throws ParserConfigurationException, MalformedURLException, 
+			SSLHandshakeException, RemoteException, AuthenticationFailedException,   
+			NotAFedoraServerException, ConnectException, Exception 
+	{
+		try {
+			init(protocol, host, Integer.toString(port), 
+				fedoraServerUsername, fedoraServerPassword);
+		} /*catch(RemoteException re) { //subclass of IOException
+			throw re; 
+		} catch(SSLHandshakeException ssle) { //subclass of IOException
+			// this is also of type IOException
+			throw ssle; 
+		}*/ catch(IOException ioe) { // connected to the wrong server
+			String exceptMsg = ioe.getMessage().toLowerCase();
+    		if(exceptMsg.indexOf("request failed") != -1 
+					|| exceptMsg.indexOf("404") != -1) 
+    			throw new NotAFedoraServerException();
+    		else // the IOException is not due the cause we thought it was, so 
+    			throw ioe; // rethrow whatever other IOException was caught (which 
+    				// could have been RemoteException or SSLHandshakeException  
+    				// or some other cause)
+		}
+	}
+	
+	/** Default constructor which takes input from the user to get host, port, 
+	 * fedora username and password. 
+	 * It keeps looping to display authentication popup, until valid values are  
+	 * entered:
+	 * (a) if password is wrong, a RemoteException is thrown and popup reappears;
+	 * This popup keeps appearing until the password and username are correct (as
+	 * long as there's indeed a fedora server listening at the given host and port).
+	 * (b) SSLHandshakeException occurs: this happens EITHER when the user prefixed 
+	 * the 'https' protocol to the host string when it should have been 'http';
+	 * OR the ssl connection failed for some other reason. 
+	 * Allowing for the 1st case, the authentication popup is displayed just once
+	 * more. On the second (consec) attempt, the SSLHandshakeException is rethrown.
+	 * NOTE: if a fedora server at the protocol (https or http) isn't accessible, 
+	 * it takes a long time for the SSLHandshakeException to be thrown. 
+	 * (c) if the connection is refused, then a ConnectException is thrown. 
+	 * In that case, it's  
+	 * EITHER because the host and port values that were entered are wrong (and
+	 * the authentication popup dialog is redisplayed just once more allowing
+	 * the user to correct host/port values)
+	 * OR the entered host and part were right but the fedora server at this
+	 * host and port is not running. 
+	 * On the second consecutive attempt where a ConnectionException is thrown,
+	 * it's no longer processed but rethrown, as there's no use in redisplaying  
+	 * the authentication popup when the problem is not an authentication issue. 
+	 * (d) Another IOException (other than the SSLHandshakeException of (b))
+	 * occurs when there is indeed a server listening at the host and port  
+	 * entered, but it's not a Fedora server, because it is unable to process
+	 * Fedora requests. If the expected message is found in the exception, than
+	 * the authentication popup is displayed. However, other causes for an  
+	 * IOException are not handled. In such cases, the IOException is rethrown. 
+	 * (Note that IOException is not in the throws clause - other causes for 
+	 * it being unknown, it can be be considered as the more generic Exception.
+	*/
+	public FedoraConnection()
+		throws ParserConfigurationException, MalformedURLException, 
+			CancelledException, ConnectException, RemoteException, 
+			SSLHandshakeException, Exception
+	{
+		Properties properties = new Properties();
+		// loop to display fedora server authentication popup to
+		// get user input
+		setInitialisationProperties(properties);
+    	properties = null; // finished
+	}
+	
+	/** Single argument constructor that takes the name of the properties file
+	 * defining the values of the initialisation parameters required to
+	 * instantiate a FedoraConnection. These are fedora server username, password, 
+	 * host and port. If these values are not present in the file, they are set
+	 * to "" before showing the initialisation input dialog. 
+	 * @param propertyFile is the name of the properties file specifying the 
+	 * values for Fedora server username, password, host and port. */
+	public FedoraConnection(File propertyFile)
+		throws ParserConfigurationException, MalformedURLException, 
+			CancelledException, ConnectException, RemoteException, 
+			SSLHandshakeException, Exception
+	{
+		Properties properties = new Properties();
+		// Load the properties from the given file
+		try{
+			if(propertyFile.exists()) { 
+				properties.load(new FileInputStream(propertyFile));
+			}
+		} catch(Exception e) {
+			// If the file didn't exist or could not be located,
+			// then we just continue by creating empty properties
+			LOG.warn("Exception loading from propertyFile " 
+					+ propertyFile + ": " + e);
+		}
+		
+		// Go through the process of showing the initialisation dialog
+		setInitialisationProperties(properties);
+		
+		// Now let's save whatever values the user may have entered into the 
+		// input dialog as the default values for next time the dialog shows
+		try {		
+			java.io.FileOutputStream out = new java.io.FileOutputStream(
+					propertyFile); // same file as properties loading file  
+			// First make sure errormessage gets stored as "" and doesn't  
+			// cause problems next time. 
+			properties.setProperty("errormessage", "");
+			// Don't save passwords
+			properties.setProperty("password", "");
+			// If the portAddressSuffix is in the file already, then it's
+			// user-specified and we shouldn't change it. But if there is no
+    		// such property in the file, then create it and write it to the file
+			// with an empty string value:
+    		String portSuffix = properties.getProperty("port.address.suffix");
+    		if(portSuffix == null) {
+    			properties.setProperty("port.address.suffix", "");
+    		}
+    		
+			properties.store(out, "fedoraGS3 properties"); // write properties
+			// Javadoc states that "The output stream remains open after this  
+			// method (Properties.store) returns." So we close it here
+			out.close();
+		} catch(Exception e) {
+			LOG.warn("Exception writing to propertyFile " 
+					+ propertyFile + ": " + e);
+		} 
+		properties = null; // finished
+	}
+    
+	/** Method that loops to display the dialog that retrieves the 
+	 * fedora server initialisation properties from the user. If there 
+	 * is a property file with values set already, it will display
+	 * the previously entered values by loading them from that file.
+	 * Otherwise, input fields in the dialog are empty.
+	 * @param properties the Properties Hashmap storing values for
+	 * username, password, host and port (and any errormessage). */
+	protected void setInitialisationProperties(Properties properties) 
+		throws ParserConfigurationException, MalformedURLException, 
+			CancelledException, ConnectException, RemoteException, 
+			SSLHandshakeException, Exception
+	{
+		// keep looping to display authentication popup, until valid values are  
+		// entered (except when a ConnectionRefused Exception is caught - this
+		// needs to be rethrown):
+		boolean authenticated = true;
+		// reset any error messages that may have been stored (should not be
+		// the case, but if there had been any difficulty during storing, it
+		// may not have written out an empty errorMessage)
+		properties.setProperty("errormessage", "");
+		do{
+			// show the Authentication-popup:
+			// By passing the HashMap Properties, user-updated values will
+			// be persistent in the authentication-popup fields (rather than
+			// reset to the default initial values).
+			properties = showAuthenticationPopup(properties);
+			String fedoraServerUsername = properties.getProperty("username", "");
+	    	String fedoraServerPassword = properties.getProperty("password", "");
+	    	String host = properties.getProperty("host", "");
+	    	String port = properties.getProperty("port", "");
+	    	//String protocol = host.startsWith("http") ? "" : "http://";
+	    	String protocol = "http://";
+	    	if(host.startsWith("http") || host.startsWith("https"))
+	    		protocol = ""; 
+	    	// NOTE THAT: if a fedora server at https:// is not accessible, 
+	    	// it takes a long time for the authentication popup to reappear.
+	    	
+	    	try{
+	    		this.portAddressSuffix 
+	    			= properties.getProperty("port.address.suffix", "");
+				// Use the FedoraClient utility to get the SOAP stub for APIA.
+		        // This SOAP stub enables the client to connect to a Fedora 
+		        // repository via the API-A web service interface.
+	    		init(protocol, host, port, 
+					fedoraServerUsername, fedoraServerPassword); 
+	    			// will throw Exception if it can't instantiate APIA
+	    		
+	    		// if no exception thrown in the initialisation statement above,
+	    		// then we have been authenticated:
+	    		authenticated = true;
+	    	} catch(AuthenticationFailedException afe) {
+	    		authenticated = false;
+	    		properties.setProperty("errormessage", afe.getMessage());
+	    	} catch(RemoteException e) { // causes could be various
+	    		String reason = e.getMessage();
+	    		if(e.getCause() != null) { 
+	    			// For instance, if a ConnectException indicating 
+	    			// 'Connection Refused' or a java.net.UnknownHostException
+	    			// caused the RemoteException
+	    			
+	    			// Strip out prefix "Nested exception is..." from the 
+	    			// encapsulating Exception's message, by using the Cause's
+	    			// message. Keep Exception classname to give it some context:
+	    			reason = e.getCause().getClass().getName() + ": " 
+	    				+ e.getCause().getMessage();
+	    			// Give some more information if the connection was refused.
+	    			// (This can also happen when the Fedora server is not running)
+	    			if(e.getCause().getClass().equals(ConnectException.class)) {
+	    				reason += FedoraGS3Exception.connectionRefusedMessage;
+	    			} 
+	    		}
+	    		// if the message indicates that a server was running there,
+	    		// then we tell the user it was not a Fedora server
+	    		if(reason.toLowerCase().contains("404") 
+	    				|| reason.toLowerCase().contains("request failed"))
+	    		{
+	    			reason = NotAFedoraServerException.MESSAGE + "\n("+reason+")";
+	    		}
+	    		authenticated = false;
+	    		properties.setProperty("errormessage", reason);
+	    	} catch(ConnectException e) {
+	    		properties.setProperty("errormessage", 
+	    			FedoraGS3Exception.connectionRefusedMessage);
+    			authenticated = false; 
+	    	} catch(SSLHandshakeException ssle) { // SSLHandshakeException should 
+	    		// be handled before IOException, as it's an IOException subclass.
+	    		authenticated = false;
+	    		properties.setProperty("errormessage", 
+	    			FedoraGS3Exception.sslHandshakeExceptionMessage);
+	    		// we won't prefix the host with http for the user, as https 
+	    		// might be right after all, and something else might have gone 
+	    		// during the connection attempt instead.
+	    			//host = host.replace("https", "http"); //setting it for them
+	    			//properties.setProperty("host", host);
+	    	} catch(IOException ioe) { // occurs when we try to connect to a 
+	    		// host/port where some server other than Fedora's is listening 
+	    		// (e.g. if we end up connecting to GS3's host and port).
+	    		// In that case, we can get exception messages like a 404:
+	    		// "Unable to instantiate FedoraConnection
+	    		// java.io.IOException: Request failed [404 /fedora/describe]"
+	    		// Test this by trying to connect to localhost at 9090 where GS3 is
+	    		String exceptMsg = ioe.getMessage().toLowerCase();
+	    		if(exceptMsg.indexOf("request failed") != -1 
+					|| exceptMsg.indexOf("404") != -1) 
+	    		{
+	    			properties.setProperty("errormessage", 
+		    			NotAFedoraServerException.MESSAGE
+		    			+ "\n(" + ioe.getMessage() + ")");
+	    		} else if(exceptMsg.indexOf("401") != -1
+					|| exceptMsg.indexOf("500") != -1) 
+	    		{
+	    			authenticated = false;
+	    			properties.setProperty("errormessage", ioe.getMessage());
+	    		} else { // the exception occurred for some other reason, rethrow it 
+	    			throw ioe; 
+	    		}	
+	    	} 
+		} while(!authenticated); // will keep showing popup until auhentication
+				// and connection input values are valid
+    }
+	
+	/** 
+	 * Static method that displays a popup to allow the user to provide Fedora  
+	 * authentication (username, pwd) and connection (protocol+host, port) details.
+	 * @param properties is a Properties HashMap where the property Keys which must
+	 * have been put in here in advance (even with "" Values if appropriate) are:
+	 * <pre>
+	 * - username
+	 * - password
+	 * - host (may - but need not - be prefixed with either of the protocols 
+	 *   "http://" and "https://"
+	 * - port
+	 * - errorMessage (displayed near the top of the popup dialog). Can be "".
+	 * </pre>
+	 * The values stored in the properties HashMap for the above property are  
+	 * initially displayed in the fields and the user can overwrite them.
+	 * This is useful in such cases where invalid values were entered and this
+	 * popup must be redisplayed to allow the user to correct their previous input.
+	 * @return the same HashMap Properties which was passed as parameter. */
+	protected static Properties showAuthenticationPopup(Properties properties) 
+		throws CancelledException 
+	{
+		// Retrieve all the properties -- defaults to "" if any are null
+		JTextField usernameField = new JTextField(
+				properties.getProperty("username", "fedoraAdmin")); 
+	    JTextField passwordField = new JPasswordField(
+	    		properties.getProperty("password", "")); 
+	    JTextField hostField = new JTextField(
+	    		properties.getProperty("host", "localhost")); 
+	    JTextField portField = new JTextField(
+	    		properties.getProperty("port", "8080")); 
+	    
+	    JPanel panel = new JPanel(new GridLayout(4,2));
+	    panel.add(new JLabel("User Name"));
+	    panel.add(usernameField);
+	    panel.add(new JLabel("Password"));
+	    panel.add(passwordField);
+	    panel.add(new JLabel("Host")); 
+	    panel.add(hostField);
+	    panel.add(new JLabel("Port")); 
+	    panel.add(portField);
+	    
+	    String heading = "Fedora Server Admin Authentication:";
+	    String errorMessage = properties.getProperty("errormessage", "");
+	    if(!errorMessage.equals("")) {
+	    	heading = "=> " + errorMessage + "\n\n" + heading;
+	    }
+	    int option = JOptionPane.showConfirmDialog(null, new Object[] {
+	    	heading, panel},
+			"Enter Network Password",
+			JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
+	    
+	    if (option == JOptionPane.OK_OPTION) {
+	    	String fedoraServerUsername = usernameField.getText();
+	    	String fedoraServerPassword = passwordField.getText();
+	    	String host = hostField.getText();
+	    	String port = portField.getText();
+	    	properties.setProperty("username", fedoraServerUsername);
+	    	properties.setProperty("password", fedoraServerPassword);
+	    	properties.setProperty("host", host);
+	    	properties.setProperty("port", port);
+	    } else { // Cancel option
+	    	throw new CancelledException();
+	    }
+	    return properties;
+	}
+	
+	/** Init method that is called by the constructor to set some
+	 * important member variables including instantiating the APIA object
+	 * used to invoke the Fedora APIA web service operations. 
+	 * @param protocol can be http or https 
+	 * @param host is the name of the Fedora server host 
+	 * @param port is the port number (String form) of the Fedora server 
+	 * @param fedoraServerUsername is the user name to access the Fedora
+	 * Server 
+	 * @param fedoraServerPassword is the password needed to access the 
+	 * Fedora Server
+	*/
+	protected void init(String protocol, String host, String port, 
+			String fedoraServerUsername, String fedoraServerPassword) 
+		throws ParserConfigurationException, MalformedURLException, 
+			AuthenticationFailedException, RemoteException, Exception
+	{
+		// initialise member variables
+		lang = ENGLISH;
+		maxresults = Integer.MAX_VALUE; 
+		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+		builder = factory.newDocumentBuilder();
+		
+		// (protocol is "" if host already contains protocol)
+		if(!protocol.equals("") && !protocol.endsWith("://")) 
+			protocol += "://";
+		// now create baseURL = protocol://host:port/fedora
+		this.baseURL = protocol + host + ":" + port + "/fedora";
+		
+		// Get the FedoraAPIA handle to/stub of the Fedora web services
+		// New way of instantiating connection to Fedora is dependent on
+		// fewer files of FedoraClient.jar
+		FedoraAPIAServiceLocator serviceLocator 
+			= new FedoraAPIAServiceLocator(fedoraServerUsername,
+					fedoraServerPassword);
+		
+		APIA = null;
+		boolean isUserSpecifiedPortAddressSuffix = false;
+		// try any portAddressSuffix specified by the user
+		if(!this.portAddressSuffix.equals("")) {
+			isUserSpecifiedPortAddressSuffix = true;
+			this.createAPIA(serviceLocator, this.portAddressSuffix, 
+				"user-specified", isUserSpecifiedPortAddressSuffix);
+		}
+		
+		// If the user-specified portAddressSuffix failed or if there was none  
+		// given, then APIA will be null, so we will try with the default 
+		// portAddressSuffix. This time all exceptions will be passed on.
+		if(APIA == null) {
+			isUserSpecifiedPortAddressSuffix = false;
+			this.createAPIA(serviceLocator, defaultPortAddressSuffix, 
+				"default", isUserSpecifiedPortAddressSuffix);
+		}
+		
+	}
+	
+	/** Tries to create the FedoraAPIA instance using the serviceLocator
+	 * and the given portSuffix. The APIA instance is obtained for the 
+	 * baseURL+portSuffix. Any exceptions are (processed and) rethrown
+	 * or, if the flag isUserSpecifiedPortAddressSuffix is true, then the
+	 * Remote Exception from AXIS that it can't find the target service to
+	 * invoke is ignored so that the caller can retry with the default port-  
+	 * address suffix first before giving up. */
+	protected void createAPIA(FedoraAPIAServiceLocator serviceLocator, 
+			String portSuffix, String messageInsert, 
+			boolean isUserSpecifiedPortAddressSuffix)
+		throws Exception
+	{
+		//String portSuffix = (isUserSpecifiedPortAddressSuffix) ? 
+			//	this.portAddressSuffix : defaultPortAddressSuffix;
+			
+		try {
+			LOG.debug( "Trying to connect to Fedora using the given" 
+				+ " baseURL and the " + messageInsert + " portAddress suffix:\n" 
+				+ baseURL + portSuffix);
+			APIA = serviceLocator.getFedoraAPIAPortSOAPHTTP(
+					new java.net.URL(baseURL+portSuffix));
+			// let's test whether we're authenticated (otherwise a 
+			// RemoteException will be thrown to indicate that the  
+			// password was incorrect.)
+			RepositoryInfo repositoryInfo = APIA.describeRepository(); 
+			// throws RemoteException if pwd wrong or for other reasons
+			// in which case describeRepository() service is unavailable
+			this.fedoraVersion = repositoryInfo.getRepositoryVersion();
+			// If we come all the way here, no exceptions were thrown:
+			this.portAddressSuffix = portSuffix; // store the one currently in use
+		} catch(RemoteException re) {
+			// if we're here, then APIA was unable to call the web service
+			// If this was because the fedora authentication failed, then 
+			// let's throw a custom exception 
+			String message = re.getMessage().toLowerCase();
+			// Looking for something Unauthorized(401)
+			if(message.indexOf("unauthorized") != -1 
+					|| message.indexOf("401") != -1) 
+			{
+				throw new AuthenticationFailedException();
+			} else if(isUserSpecifiedPortAddressSuffix 
+				&& re.getMessage().contains(
+					FedoraGS3Exception.missingTargetService)) 
+			{ 
+				LOG.warn("Failed to connect to Fedora APIA services at given"
+						+ " port address:\n" + portSuffix 
+						+ "\nException: " + re.getMessage());
+				// APIA.describeRepository can throw a remote exception 
+				// whereby AXIS says the target service is missing and can't 
+				// be invoked (FedoraGS3Exception.missingTargetService)
+				// Don't rethrow this, if AXIS can't find the user-specified 
+				// portAddressSuffix, we will try with the default suffix next
+				APIA = null; 
+			} else { // if trying default portAddressSuffix or if any other 
+				// RemoteException was generated (whose cause is something 
+				// other than an authentication failure) rethrow it.
+				throw re; 
+			}	
+		} catch(Exception e) { // Other Exceptions
+			// Could possibly be a ServiceException when using ServiceLocator
+			if(isUserSpecifiedPortAddressSuffix) {
+				APIA = null; // we won't throw other exceptions yet until
+				// we have tried the default PortAddressSuffix for the baseURL 
+			} else {
+				throw new FedoraGS3InitFailureException(e);
+			}
+		} 
+	}
+	
+	/** Gets all greenstone collections. Searches for greenstone:*-collection.
+	 * Method getCollections() defaults to getting only those objects in fedora's  
+	 * repository whose pids are of the format greenstone:*-collection.
+	 * The use of AutoFinder and findObjects is shown in
+	 * fedora-2.2.1-src/src/java/fedora/client/search/ResultFrame.java
+	 * The Fedora-APIA's method definition of findObjects is:
+	 * <pre>
+	 * fedora-types:FieldSearchResult findObjects(
+	 * 				fedora-types:ArrayOfString resultFields,
+	 * 				xsd:nonNegativeInteger maxResults,
+	 * 				fedora-types:FieldSearchQuery query )
+	 * </pre>
+	 * @see <a href="http://localhost:8080/fedora/search">The local fedora search page for how the search works</a>
+	 * @see <a href="http://www.fedora.info/definitions/1/0/api/Fedora-API-A.html">Fedora access API, API-A for method findObjects</a>
+	 * @see <a href="http://www.fedora.info/definitions/1/0/types/&#035;complexType_FieldSearchQuery_Link031D7D80">XML type definition of FieldSearchQuery</a> 
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/FieldSearchQuery.html>Type definition of 2.2.1 FieldSearchQuery</a>
+	 * @see <a href="http://www.fedora.info/download/2.1.1/userdocs/server/serverdocs/fedora/server/search/FieldSearchQuery.html">does not apply: type definition of 2.1.1 FieldSearchQuery</a>
+	 * @see <a href="http://john.drc-dev.ohiolink.edu/browser/drc-core/trunk/src/java/edu/ohiolink/drc/drcdl/BrowseController.java?rev=462">BrowseController.java for an example</a> 
+	 *  
+	 * @return an array of Strings containing the pids of all collections 
+	 * matching the format greenstone:*-collection. 
+	*/
+	public String[] getCollections() throws RemoteException 
+	{
+		// Available constructors:
+		// FieldSearchQuery(java.util.List conditions)
+        // FieldSearchQuery(java.lang.String terms) 
+		final String queryStr = GREENSTONE_+WILDCARD+_COLLECTION;
+		FieldSearchQuery query = new FieldSearchQuery();
+		query.setTerms(queryStr);
+		query.setConditions(null);
+		// we'd like pid and title returned for each object
+		// we pass maxResults=null to get all objects that match
+		// (i.e. all collections)
+		String[] pids = null;
+		
+		FieldSearchResult collection = AutoFinder.findObjects(
+				APIA, new String[]{"pid", "title"}, maxresults, query);
+		ObjectFields[] results = collection.getResultList();
+		pids = new String[results.length];
+	 	for(int i = 0; i < results.length; i++) {
+	 		pids[i] = results[i].getPid();
+	 	}
+		return pids;
+	}
+	
+	/** All objects (incl "greenstone:*" objects) in fedora - be they collections,   
+	 * top-level documents or document sections - have a DC datastream. This 
+	 * method returns the content (XML) of the DC datastream as it is stored in 
+	 * fedora's repository.
+	 * (The pid/DC call is one of the default fedora-system 3 disseminations.) 
+	 * Try an example of the form: http://localhost:8080/fedora/get/&lt;pid&gt;/DC
+	 * To obtain the DC/any datastream, we use method getDatastreamDissemination()
+	 * of the interface FedoraAPIA. This method returns a MIMETypedStream.
+	 * The method signature is:
+	 * MIMETypedStream getDatastreamDissemination(String pid, String dsID, String asOfDateTime)
+	 * where dsID = itemID (look at datastreams page of running fedora instance)
+	 * To access the XML content of the MIMETypedObject returned, we use its method
+	 * bytes[] getStream(), but when instantiating a String from this, we have to
+	 * use the String() contructor where we can specify the charset encoding (in 
+	 * this case, it must be UTF-8). Else getStream() returns gobbledygook.
+	 * @return a String version of the XML in the DC datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository. 
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java, the API-A web service stub class</a>
+	 * @see <a href="http://drc-dev.ohiolink.edu/browser/fedora-core/tags/upstream/src/test/junit/fedora/test/integration/TestAPIA.java?rev=575">TestAPIA.java, which contains an example of MIMETypedObject.getStream() usage.</a>
+	 * @see <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#String(byte[],%20java.lang.String)">constructor String(byte[], java.lang.String)</a>
+	 * @see <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html">Charset.java, for character sets and encoding</a> 
+	*/
+	public String getDC(String pid) 
+			throws RemoteException, UnsupportedEncodingException 
+	{
+		// an example at http://expanse.cs.waikato.ac.nz:9080/fedora/get/greenstone:demo-HASH23d1019b589e2ef6a680e3/DC
+		// datastream ID, dsID = itemID, look at a running fedora 
+		MIMETypedStream dcStream 
+			= APIA.getDatastreamDissemination(pid, DC, null);
+			//asOfDateTime = null to get the current version of the dataStream
+		
+		// need to set the charset encoding to UTF8
+		return new String(dcStream.getStream(), UTF8);
+	}
+	
+	/** All "greenstone:*" objects in fedora (be they collections be they 
+	 * collections, top-level documents or document sections) have an EX 
+	 * datastream. This method returns the content (XML) of the EX datastream as 
+	 * is. (It calls the default fedora-system 3 dissemination &lt;pid&gt;/EX.)
+	 * @return a String version of the XML in the EX datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository.  
+	 * Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+	 * asOfDateTime).
+	 * Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream().
+	 * @see String getDC(String pid) throws Exception 
+	 * */
+	public String getEX(String pid) 
+			throws RemoteException, UnsupportedEncodingException 
+	{
+		MIMETypedStream exStream = APIA.getDatastreamDissemination(pid, EX, null);
+			//asOfDateTime = null to get the current version of the dataStream
+		
+		// need to set the charset encoding to UTF8
+		return new String(exStream.getStream(), UTF8);
+	}
+	
+	/** Some "greenstone:*" top-level documents in the fedora repository (but not 
+	 * greenstone collections or document sections) have a DLS metadata datastream. 
+	 * This method returns the content (XML) of the DLS datastream as is. (It calls 
+	 * the default fedora-system 3 dissemination &lt;pid&gt;/DLS.)
+	 * @return a String version of the XML in the DLS datastream for the fedora
+	 * object denoted by pid, or "" if the document given by pid has no DLS datastream.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository.  
+	 * Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+	 * asOfDateTime).
+	 * Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream().
+	 * @see String getDC(String pid) throws Exception 
+	 * */
+	public String getDLS(String pid) 
+			throws RemoteException, UnsupportedEncodingException 
+	{
+		MIMETypedStream dlsStream = null;
+		// If there is no DLS datastream, it throws an exception (whose class 
+		// fedora.server.errors.DatastreamNotFoundException can't be imported 
+		// here (it's not in the client side fedora.server.* package, but on 
+		// the server side package of that name):
+		try{
+			dlsStream = APIA.getDatastreamDissemination(pid, DLS, null);
+				//asOfDateTime=null to get the current version of the dataStream
+		} catch(RemoteException e) {
+			//These two don't work:
+			//if(e.getCause().getClass().getName().equals("fedora.server.errors.DatastreamNotFoundException"))
+			//if(e.getCause().getMessage().contains("fedora.server.errors.DatastreamNotFoundException"))
+			
+			if(e.getMessage().contains("fedora.server.errors.DatastreamNotFoundException"))	
+			{	// there is no DLS data stream for this document
+				return "";
+			}
+			else { // different problem, exception due to different cause
+				throw(e);
+			}
+		}
+		if(dlsStream == null) 
+			return "";
+		// need to set the charset encoding to UTF8
+		return new String(dlsStream.getStream(), UTF8);
+	}
+	
+	/** All "greenstone:*" objects in fedora (be they collections or documents) 
+	 * have a TOC datastream. This method returns the content (XML) of the TOC  
+	 * datastream as is. (Calls default fedora-system 3 dissemination &lt;pid&gt;/TOC.)
+	 * @return a String version of the XML in the TOC datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository. 
+	 * Use MIMETypedStream APIA.getDatastreamDissemination(pid, itemID, 
+	 * asOfDateTime)
+	 * Use String(bytes[], charset="UTF-8") to convert MIMETypedStream.getStream()
+	 * @see String getDC(String pid) throws Exception 
+	 * */
+	public String getTOC(String pid) 
+		throws RemoteException, UnsupportedEncodingException 
+	{
+		MIMETypedStream tocStream = APIA.getDatastreamDissemination(pid, TOC, null);
+			//asOfDateTime = null to get the current version of the dataStream
+		
+		// need to set the charset encoding to UTF8
+		return new String(tocStream.getStream(), UTF8);
+	}
+	
+	/** @return the &lt;name&gt;s (in greenstone:&lt;name&gt;-collection) 
+	 * for the collections indicated by collPIDs. 
+	 * @param collPIDs - an array of Strings denoting the pids for greenstone
+	 * collections stored in the fedora repositoryl. These should be of the
+	 * format "greenstone:&lt;collectionName&gt;-collection". */
+	public String[] getCollectionNames(String[] collPIDs) {
+		String[] collNames = new String[collPIDs.length];
+		for(int i = 0; i < collPIDs.length; i++) 
+			collNames[i] = getCollectionName(collPIDs[i]);
+		return collNames;
+	}
+	
+	/** @return "greenstone:&lt;name&gt;-collection" for all &lt;name&gt;s
+	 * in the parameter collNames.
+	 * @param collNames - a list of names of greenstone collections
+	 * stored in the fedora repository. */
+	public String[] getCollectionPIDs(String[] collNames) {
+		String[] collPIDs = new String[collNames.length];
+		for(int i = 0; i < collNames.length; i++) 
+			collPIDs[i] = getCollectionName(collNames[i]);
+		return collPIDs;
+	}
+	
+	/** @return greenstone:&lt;name&gt;-collection for the&lt;name&gt; 
+	 * denoted by parameter collName.
+	 * @param collName - the name of a greenstone collection stored 
+	 * stored in the fedora repository. */
+	public String getCollectionPID(String collName) {
+		return GREENSTONE_+collName+_COLLECTION;
+	}
+	
+	/**
+	 * Gets the title of the collection denoted by the given collection's pid by
+	 * retrieving the title metadata for it from the collection's EX datastream.
+	 * @return the title (in the default language, else English, else the
+	 * first title found) for the particular collection denoted by its PID. 
+	 * @param collPID is the pid of a greenstone collection in the fedora 
+	 * repository. */
+	public String getCollectionTitle(String collPID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException
+	{
+		String title = null; // has to be null initially, we do a check on it
+		// Parse the EX datastream (XML), and in its DOM, find the 
+		// <ex:metadata name="collectionname" qualifier="en">title</ex:metadata>
+		// There might be one OR several of those with attribute 
+		// name="collectionname". If there's only one, then get that. 
+		// If there are several, there would possibly a be qualifier attribute,
+		// in which case get qualifier=lang (where lang is the member variable)
+		// If there is no qualifier with the requested language, then get the 
+		// english one which is likely to be there, else return the title for 
+		// the first collectionname .
+		
+		MIMETypedStream exdata
+			= APIA.getDatastreamDissemination(collPID, EX, null);
+		String exStream = new String(exdata.getStream(), UTF8);
+		
+		InputSource source = new InputSource(new StringReader(exStream));
+		Document doc = builder.parse(source);
+		Element docEl = doc.getDocumentElement(); // docEl=<ex:ex></ex:ex>
+		NodeList children = docEl.getChildNodes();
+		
+		String firstName = ""; 
+		String englishName = "";
+		for(int i = 0; i < children.getLength(); i++ ) {
+			Node n = children.item(i);
+			if(n.getNodeType() == Node.ELEMENT_NODE) {
+				Element e = (Element)n;
+				if(e.hasAttribute(NAME) 
+						&& e.getAttribute(NAME).equals(COLLECTIONNAME)) {
+					firstName = FedoraCommons.getValue(e);
+					if(!e.hasAttribute(QUALIFIER)) {
+						title = FedoraCommons.getValue(e); 
+						break;
+					}
+					else if(e.getAttribute(QUALIFIER).equals(lang)) {
+						title = FedoraCommons.getValue(e);
+						break;
+					} else if(e.getAttribute(QUALIFIER).equals(ENGLISH)) {
+						englishName = FedoraCommons.getValue(e);
+					}
+				}
+			}
+		}
+		
+		// if the title is still not set to that of the requested language,
+		// then try setting it to the collection name in English. If English
+		// isn't available, then set it to the first collection name provided
+		// (in whichever language).
+		if(title == null) {
+			title = englishName.equals("") ? firstName : englishName;
+		}
+		doc = null;
+		return title;
+	}
+	
+	/** @return the collection titles for all the collections indicated by
+	 * collPIDs. 
+	 * @param collPIDs - a list of pids identifying greenstone collections 
+	 * stored in the fedora repository. */
+	public String[] getCollectionTitles(String[] collPIDs)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException
+	{
+		String[] titles = new String[collPIDs.length];
+		
+		// parse each EX datastream (XML) which contains the gs3-extracted meta.
+		for(int i = 0; i < collPIDs.length; i++) {
+			titles[i] = getCollectionTitle(collPIDs[i]);
+		}
+		return titles;
+	}
+	
+	/** @return the title metadata for the given doc objects of a collection. 
+	 * These titles are returned in the same order as the given docIDs. 
+	 * (The docPIDs already contain the collection name anyway.) 
+	 * @param docPIDs - a list of pids identifying documents stored in the 
+	 * fedora repository. */
+	public String[] getDocTitles(String[] docPIDs) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		String[] titles = new String[docPIDs.length];
+		for(int i = 0; i < docPIDs.length; i++) {
+			titles[i] = getDocTitle(docPIDs[i]);
+		}
+		return titles;
+	}
+	
+	/** Gets the title metadata for a particular doc object in a collection
+	 * denoted by docPID. The docPID already contains the collection name. 
+	 * @return the title for the fedora document item denoted by docPID
+	 * @param docPID is the pid of the document in the fedora repository 
+	 * (docPID is of the form greenstone:&lt;colName&gt;-&lt;doc-identifier&gt; */
+	public String getDocTitle(String docPID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException
+	{
+		// We need the extracted metadata file, and find its  
+		// documentElement's child
+		// <ex:metadata name="Title">sometitle</ex:metadata>
+		// where the title we return is sometitle
+		
+		String title = "";
+		MIMETypedStream exdata
+			= APIA.getDatastreamDissemination(docPID, EX, null);
+		String exStream = new String(exdata.getStream(), UTF8);
+		return getTitle(exStream); 
+	}
+	
+	/** Given a string representation of a document's or document section's  
+	 * EX datastream -- which is a greenstone extracted metadata XML file -- 
+	 * of the form:
+	 * &lt;ex&gt;
+	 * &lt;ex:metadata name="Title"&gt;sometitle&lt;/ex:metadata&gt;
+	 * &lt;ex:metadata name="..."&gt;....&lt;/ex:metadata&gt;
+	 * ...
+	 * &lt;/ex&gt;
+	 * This method finds the &lt;ex:metadata&gt; where the name="Title" and
+	 * returns the value embedded in that element ('sometitle' in
+	 * the example above). 
+	 * @return the title metadata of the document/document section whose EX 
+	 * datastream is passed as parameter
+	 * @param exStream the EX datastream in String form of the document or 
+	 * document section. */
+	protected String getTitle(String exStream) 
+		throws SAXException, IOException 
+	{
+		String title = "";
+		InputSource source = new InputSource(new StringReader(exStream));
+		Document doc = builder.parse(source);
+		Element docEl = doc.getDocumentElement(); // docEl=<ex:ex></ex:ex>
+		NodeList children = docEl.getChildNodes();
+		
+		// Cycle through all the *element* children of <ex:ex></ex:ex>
+		// which are all of the form:
+		// <ex:metadata name="somename">somevalue</ex:metadata>
+		// Find the one where name="Title", its value is the title 
+		for(int i = 0; i < children.getLength(); i++ ) {
+			Node n = children.item(i);
+			if(n.getNodeType() == Node.ELEMENT_NODE) {
+				Element e = (Element)n;
+				if(e.hasAttribute(NAME) 
+						&& e.getAttribute(NAME).equals(TITLE)) {
+					title = FedoraCommons.getValue(e);
+						break;
+				}
+			}
+		}
+		return title;
+	}
+	
+	/** @return the title metadata for the given document sections. 
+	 * These titles are returned in the same order as the given docPIDs
+	 * and associated sectionIDs. 
+	 * (The docPIDs already contain the collection name anyway.) 
+	 * @param docPIDs - a list of pids identifying documents stored in the 
+	 * fedora repository. 
+	 * @param sectionIDs - a list of sectionIDs identifying individual sections
+	 * of documents stored in the fedora repository whose titles are requested. */
+	public String[] getSectionTitles(String[] docPIDs, String[] sectionIDs) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		String[] titles = new String[docPIDs.length];
+		for(int i = 0; i < docPIDs.length; i++) {
+			titles[i] = getSectionTitle(docPIDs[i], sectionIDs[i]);
+		}
+		return titles;
+	}
+	
+	/** @return the title metadata for the given document section. 
+	 * (The docPID already contain the collection name anyway.) 
+	 * @param docPID - a pid identifying a document in the fedora repository. 
+	 * @param sectionID - the sectionID of the section of the 
+	 * document whose title is requested. */
+	public String getSectionTitle(String docPID, String sectionID) 
+		throws UnsupportedEncodingException, RemoteException, 
+			SAXException, IOException  
+	{
+		String ex = this.getSectionEXMetadata(docPID, sectionID);
+		return getTitle(ex);
+	}
+		
+	/** Searches the fedora repository for all greenstone:&lt;colPID&gt;* and 
+	 * returns the PIDs of the data objects found, with the exception of 
+	 * greenstone:&lt;colPID&gt;-collection, which is not a document but a 
+	 * collection PID.
+	 * That is, pids of objects whose pid is greenstone:&lt;colName&gt;* 
+	 * (but not greenstone:&lt;colName&gt;-collection itself, because that represents  
+	 * the collection and not an object of the same collection) are returned.
+	 * All pids that do not map to a collection are assumed to be documents!  
+	 * @return a list of the pids of all the (doc) objects in a collection. 
+	 * @param colPID is the pid of the greenstone collection stored in
+	 * the fedora repository. */
+	public String[] getCollectionDocs(String colPID) 
+		throws RemoteException 
+	{
+		String colName = getCollectionName(colPID); 
+		//LOG.debug("colName: " + colName);
+		
+		// Search fedora objects for pid=greenstone:<colName>-*
+		final String queryStr = GREENSTONE_+colName+HYPHEN+WILDCARD; 
+				// searches for "greenstone:"+colName+"-*";
+		FieldSearchQuery query = new FieldSearchQuery();
+		query.setTerms(queryStr);
+		query.setConditions(null);
+		String[] pids = null;
+		
+		FieldSearchResult objects = AutoFinder.findObjects(
+				APIA, new String[]{"pid", "title"}, maxresults, query);
+		ObjectFields[] results = objects.getResultList();
+		
+		// NEED TO SKIP ANYTHING THAT ENDS IN "-collection" because 
+		// that's not a document object:
+		pids = new String[results.length-1]; // not storing collection object
+		int index = 0; // keeps track of docPid index
+	 	for(int i = 0; i < results.length; i++) {
+	 		// check it's not a collection object
+	 		if(!results[i].getPid().endsWith(_COLLECTION)) {
+	 			pids[index] = results[i].getPid();
+	 			index++;
+	 		}
+	 	}
+		
+		return pids;
+	}
+
+	/** Given the pid of a document fedora data object, this method will return 
+	 * all itemIDs that are part of that data object and are Sections. For further
+	 * information see interface Comparable (implemented by String), SortedSet 
+	 * and TreeSet. 
+	 * @return an array of itemIDs of the Sections of the document, 
+	 * indicated by docPID, in ascending order. These are of the form: "SECTION1.*"
+	 * @param docPID is a fedora pid identifying a greenstone document object. 
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java stub class for the API-A web services</a>
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/DatastreamDef.html">DatastreamDef.java</a>
+	 * @see <a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a>
+	*/
+	public String[] getSectionNames(String docPID) throws RemoteException {
+		// DatastreamDef[] listDatastreams(
+			// java.lang.String pid, java.lang.String asOfDateTime)
+		
+		// listDatastreams returns information on each item (including itemID=dsID)  
+		// in the document object indicated by docPID
+		
+		// Need to give an object version number, because null for asOfDateTime  
+		// does not return any datastreams!
+		String[] times = APIA.getObjectHistory(docPID);
+		
+		DatastreamDef[] datastreams = APIA.listDatastreams(
+				docPID, times[times.length-1]);
+		
+		// TreeSet is a SortedSet. We're going to put Strings into it, 
+		// and Strings implement interface Comparable already.
+		TreeSet orderedList = new TreeSet();  //TreeSet(new RankComparator())
+	    for(int i = 0; i < datastreams.length; i++) {
+		    String itemID = datastreams[i].getID();
+		    if (itemID.startsWith("SECTION"))
+		    	orderedList.add(itemID);
+	    }
+
+	    String[] sectionNames = new String[orderedList.size()];
+	    orderedList.toArray(sectionNames);
+	    orderedList = null;
+		return sectionNames;
+	}
+	
+	/** Given the pid of a document fedora data object, this method will return all
+	 * itemIDs that are part of that data object and are Sections, but just the 
+	 * Section numbers are returned. For further information see interface Comparable
+	 * (implemented by String), SortedSet and TreeSet. 
+	 * @return an array of itemIDs of the Section numbers of the document 
+	 * indicated by docPID, in ascending order. Return values are of form: "1.*".
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/access/FedoraAPIABindingSOAPHTTPSkeleton.html">FedoraAPIABindingSOAPHTTPSkeleton.java stub class for the API-A web services</a>
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/DatastreamDef.html">DatastreamDef.java</a>
+	 * @see <a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a>  
+	*/
+	public String[] getSectionNumbers(String docPID) throws RemoteException {
+		String[] times = APIA.getObjectHistory(docPID);
+		
+		DatastreamDef[] datastreams 
+			= APIA.listDatastreams(docPID, times[times.length-1]);
+		//Vector v = new Vector(datastreams.length);
+		TreeSet orderedList = new TreeSet();
+		
+		for(int i = 0; i < datastreams.length; i++) {
+		    String itemID = datastreams[i].getID();
+		    if (itemID.startsWith("SECTION")) {
+		    	//int index = SECTION.length();
+		    	//itemID = itemID.substring(index);
+		    	itemID = removePrefix(itemID, SECTION);
+		    	orderedList.add(itemID);
+		    }
+	    }
+
+	    String[] sectionNumbers = new String[orderedList.size()];
+	    orderedList.toArray(sectionNumbers);
+	    orderedList = null;
+	
+		return sectionNumbers;
+	}	
+	
+	/** @return the titles for the document sections denoted by the parameters.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionIDs is a list of identifiers identifying sections in the
+	 * document denoted by docPID, whose titles need to be returned. Each 
+	 * sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+	 * or a section number (eg. 1.5.1). */
+	public String[] getTitles(String docPID, String[] sectionIDs)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		String[] titles = new String[sectionIDs.length];
+		for(int i = 0; i < titles.length; i++)
+			titles[i] = getTitle(docPID, sectionIDs[i]);
+		return titles;
+	}
+	
+	/** @return the title for the document section denoted by the parameters.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the document denoted
+	 * by docPID, whose title needs to be returned. The sectionID may be either a  
+	 * section name (e.g. SECTION1.5.1) or a section number (eg. 1.5.1). */
+	public String getTitle(String docPID, String sectionID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		// Compose the itemID for the EX data stream from the number in the
+		// sectionID:
+		String exID = removePrefix(sectionID, SECTION);
+		exID = EX+convertToMetaNumber(exID);
+		
+		// Retrieve the extracted metadata stream (EX, in XML) for the given
+		// section
+		String exStream = getItem(docPID, exID);
+		
+		// Extract the title from the XML, look for:
+		// <ex:ex><ex:metadata name="Title">title</ex:metadata></ex:ex>
+		InputSource source = new InputSource(new StringReader(exStream));
+		Document doc = builder.parse(source);
+		Element docEl = doc.getDocumentElement(); // docEl=<ex:ex></ex:ex>
+		NodeList children = docEl.getElementsByTagName(
+				EX.toLowerCase()+COLON+METADATA); // <ex:metadata>
+		for(int i = 0; i < children.getLength(); i++) {
+			Element e = (Element)children.item(i);
+			if(e.hasAttribute(NAME) && e.getAttribute(NAME).equals(TITLE))
+				return FedoraCommons.getValue(e); // extract and return the title
+		}
+		return ""; // if we got here, then we couldn't find a title
+	}
+	
+	/** @return the section's XML (as a String) as it is stored in fedora. 
+	 * Works out if sectionID is a sectionName or sectionNumber.
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSection(String docPID, String sectionID) 
+		throws RemoteException, UnsupportedEncodingException
+	{
+		if(!sectionID.startsWith(SECTION)) // then it has only section number
+			sectionID = SECTION+sectionID;
+		
+		String sectionXML = this.getItem(docPID, sectionID);
+		return sectionXML; 
+	}
+	
+	/** @return the required section's DC metadata XML datastream.
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSectionDCMetadata(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException
+	{
+		String dcID = removePrefix(sectionID, SECTION); 
+				// ensure we have just the section number
+		dcID = DC+convertToMetaNumber(dcID); // itemID of DC = DC + number 
+		
+		// now get the DC datastream for that number
+		String dcXML = this.getItem(docPID, dcID);
+		return dcXML; 
+	}
+	
+	/** Returns the section EX metadata XML datastream for SectionID which may be 
+	 * a section name or number. Currently a few EX files are named awkwardly:
+	 * the EX file for section 1.* is actually associated with datastream EX.*. 
+	 * But subsequent EX datastreams are named appropriately: for instance, 
+	 * EX2.1.1 matches with section 2.1.1 
+	 * @return the required section's EX metadata XML datastream.
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSectionEXMetadata(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException
+	{
+		String exID = removePrefix(sectionID, SECTION);
+		exID = EX+convertToMetaNumber(exID); // make it a proper EX metadata number
+				
+		// now get the EX datastream for that for number
+		String exXML = this.getItem(docPID, exID);
+		return exXML;
+	}
+
+	/** @return the XML content of the TOC of just that portion of the TOC which   
+	 * contains the section denoted by sectionID and its direct child subsections. 
+	 * The children are returned in the order they are encountered, which 
+	 * happens to be in the required order of ascending sectionID. 
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public Element getChildrenOfSectionXML(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		// Store just the number
+		String sectionNumber = removePrefix(sectionID, SECTION); 
+		// get the TOC XML datastream as a String 
+		String xmlTOC = getTOC(docPID);
+		
+		// convert it into a DOM document
+		InputSource source = new InputSource(new StringReader(xmlTOC));
+		Document doc = builder.parse(source);
+		// toplevel element docEl = <Section id="1"></Section>
+		Element docEl = doc.getDocumentElement();
+		
+		// check whether we're requested to return the toplevel element itself
+		if(sectionID.equals("") || // subSection of entire docPID is requested
+		   (docEl.hasAttribute(ID) && docEl.getAttribute(ID).equals(sectionNumber))) 
+			return getSubstructure(docEl, false);
+		
+		// Otherwise, get all <Section> elements and find the
+		// <Section id="sectionNumber"></Section> and return that and its
+		// children
+		NodeList sections = docEl.getElementsByTagName(SECTION_ELEMENT);
+		for(int i = 0; i < sections.getLength(); i++) {
+			Element e = (Element)sections.item(i);
+			if(e.hasAttribute(ID) 
+					&& e.getAttribute(ID).equals(sectionNumber)) 
+			{
+				//System.err.println("Found: " + e.getAttribute(ID));
+				return getSubstructure(e, false); // false: get just e and children
+			}
+		}
+		return null; // not found
+	}
+	
+	/** @return a string representing the XML content of the TOC of just
+	 * that portion of the TOC which contains the section denoted by sectionID  
+	 * and its direct child subsections. 
+	 * The children are returned in the order they are encountered, which 
+	 * happens to be in the required order of ascending sectionID. 
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getChildrenOfSection(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException, TransformerException
+	{
+		Element children = getChildrenOfSectionXML(docPID, sectionID);
+		return (children == null) ? "" : FedoraCommons.elementToString(children);
+	}
+	
+	/** @return the part of the TOC XML file (which outlines doc structure)  
+	 * relating to the given section. This includes the section denoted by
+	 * sectionID as well as all descendent subsections thereof. 
+	 * @param docPID - a fedora pid identifying a greenstone document object.
+	 * @param sectionID - identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public Element getSubsectionXML(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		// get the TableOfContents (TOC) XML datastream as a String 
+		String xmlTOC = getTOC(docPID);
+		
+		// convert it into a DOM document
+		InputSource source = new InputSource(new StringReader(xmlTOC));
+		Document doc = builder.parse(source);
+		// toplevel element docEl = <Section id="1"></Section>
+		Element docEl = doc.getDocumentElement();
+		
+		if(sectionID.equals("")) // subSection of entire docPID is requested 
+			return docEl;
+		
+		// Store just the number
+		String sectionNumber = removePrefix(sectionID, SECTION);
+		// Check whether we're requested to return the toplevel element itself
+		// If sectionNumber=1, then the top-level element/document element
+		// of the TOC XML is requested, so return the TOC as is.
+		if(sectionNumber.equals("1"))
+			return docEl;
+		
+		// Get all <Section> elements and find the
+		// <Section id="sectionNumber"></Section> and return that
+		NodeList sections = docEl.getElementsByTagName(SECTION_ELEMENT);
+		for(int i = 0; i < sections.getLength(); i++) {
+			Element e = (Element)sections.item(i);
+			if(e.hasAttribute(ID) 
+					&& e.getAttribute(ID).equals(sectionNumber)) {
+				//System.err.println("Found: " + e.getAttribute(ID));
+				return getSubstructure(e, true); // true:get all descendents
+			}
+		}
+		return null; // not found
+	}
+	
+	/** @return a String representation of the part of the TOC XML file   
+	 * (which outlines doc structure) relating to the given section. This    
+	 * includes the section denoted by sectionID as well as all descendent  
+	 * subsections thereof.
+	 * @param docPID a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifyies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSubsection(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, SAXException,  
+			IOException, TransformerException
+	{
+		// Store just the number
+		String sectionNumber = removePrefix(sectionID, SECTION);
+		// get the TableOfContents (TOC) XML datastream as a String 
+		String xmlTOC = getTOC(docPID);
+		
+		// Check whether we're requested to return the toplevel element itself
+		// If sectionNumber=1, then the top-level element/document element
+		// of the TOC XML is requested, so return the TOC as is.
+		if(sectionNumber.equals("1")) 
+			return xmlTOC;
+		
+		// else
+		Element subsection = getSubsectionXML(docPID, sectionID);
+		return (subsection == null) ? "" : FedoraCommons.elementToString(subsection);
+	}
+	
+	/** Implements browsing document titles of a greenstone collection stored in 
+	 * the fedora repository by letter. 
+	 * @return the document pids whose titles start with the given letter.
+	 * @param letter - the starting letter to browse by.
+	 */ 
+	public String[] browseTitlesByLetter(final String collName, final String letter) 
+		throws RemoteException, FedoraVersionNotSupportedException
+	{
+		String[] pids = null;
+		 
+		// We want to do the following kind of search (assuming letter=f 
+		// and collName=demo): 
+		// pid~greenstone:demo* title~f*
+		
+		// We don't need to normalise the letter first (to search titles starting 
+		// with both uppercase and lowercase versions of the letter), because  
+		// Fedora always searches for both. 
+		// HOWEVER, searching for title~f* returns all documents containing f (or F)  
+		// ANYWHERE in their titles!
+		// SOLUTION: search the collection for all titles containing f as given,
+		// retrieving pid and title fields. Then from the list of results, select
+		// only those titles that start with the given letter.
+		// This may seem an unnecessarily cumbersome job (when it looked like it 
+		// should have worked with just title~f*), BUT, at least the resulting 
+		// documents will be reduced to a set of titles containing f; rather than
+		// having to search *all* documents in the collection.
+		final String title = letter+WILDCARD;
+		
+		FieldSearchResult objects = findObjectsWithTitlesContaining(
+				collName, title);
+		ObjectFields[] results = objects.getResultList();
+		TreeSet v = new TreeSet(); // TreeSet to return the results in 
+								//alphabetical order
+	 	for(int i = 0; i < results.length; i++) {
+	 		// from the result list, select those titles that don't
+	 		// just *contain* the letter, but actually start with it:
+	 		String resultTitle = results[i].getTitle(0);
+	 		if(resultTitle.toLowerCase().startsWith(letter.toLowerCase())) {
+	 			v.add(results[i].getPid());
+	 			//LOG.debug(resultTitle);
+	 		}
+	 	}
+	 	pids = new String[v.size()];
+	 	v.toArray(pids);
+		return pids;
+	}
+		
+	/** Implements querying document DC titles of a greenstone collection stored in 
+	 * the fedora repository for a term that may occur anywhere in their titles. 
+	 * @return the document pids whose DC titles contain the parameter term.
+	 * @param titleContents - the word or phrase to search the collection's 
+	 * document titles for. Only one word, and this method finds Greenstone 
+	 * DOCUMENT titles CONTAINING that word (if any). 
+	 * @param startsWith - if true, searches for titles that start with 
+	 * titleContents. Else it searches for titles that contain titleContents. */
+	public String[] searchDocumentTitles(String collName, String titleContents,
+			boolean startsWith) 
+		throws RemoteException, FedoraVersionNotSupportedException 
+	{
+		String[] pids = null;
+		 
+		// We want to do the following kind of search (when written in Fedora's 
+		// REST format - see http://localhost:8080/fedora/search): 
+		// pid~greenstone:<colname>* title~<1st word of titleContents>
+		
+		// We don't need to normalise the word first (to search titles starting 
+		// with both uppercase and lowercase versions of it), because  
+		// Fedora always searches for the normalised word. 
+		
+		// 2 difficulties:
+		// - We can only search for single words with Fedora's Conditional Search.
+		// Obtain pids and titles of documents containing the first word and then  
+		// we filter the titles to those containing the entire phrase of 
+		// titleContents.
+		// - Searching for title~FirstWord returns all documents containing  
+		// this word ANYWHERE in their titles. If parameter startsWith is false,
+		// then this is fine. But if parameter startsWith is true, then go  
+		// through all the resulting titles found (containing FirstWord), select
+		// only pids of those titles that contain the entire phrase titleContents
+		
+		final String pid = GREENSTONE_+collName+WILDCARD; 
+		
+		int indexOfFirstSpace = titleContents.indexOf(' '); // check for space
+		// if titleContents is a phrase (contains space), then it's not  
+		// a single word, in which case search for just the first word
+		String title = titleContents; // assume it's a single word
+		if(indexOfFirstSpace != -1) // if not single word but a phrase, store
+			title = titleContents.substring(0, indexOfFirstSpace); // 1st word
+	
+		FieldSearchResult objects = findObjectsWithTitlesContaining(
+				collName, title);
+		if(objects == null) {
+			final String[] empty = {};
+			return empty;
+		}
+		
+		// Go through all the titles found and for those that match the criteria*,
+		// store their pid. *Criteria: titles that start with OR contain the 
+		// word OR phrase of titleContents.
+		ObjectFields[] results = objects.getResultList();
+		Vector v = new Vector(); // return pids in the order found
+	 	for(int i = 0; i < results.length; i++) {
+	 		// from the result list, select those titles that don't
+	 		// just *contain* the first word, but the entire phrase of
+	 		// words in titleContents:
+	 		String resultTitle = results[i].getTitle(0);
+	 		boolean accepted = false; // accept the resultTitle found
+	 		
+	 		// if titleContents is a single word and we are checking 
+	 		// whether resultTitle contains titleContents: 
+	 		if(indexOfFirstSpace == -1) { // titleContents is a single word
+	 			if(!startsWith) // titles that *contain* the word titleContents
+	 				accepted = true; //accept all titles found
+	 			// else startWith: accept titles starting with word titleContents
+	 			else if (resultTitle.toLowerCase().startsWith(
+			 				titleContents.toLowerCase()))
+			 		accepted = true;
+	 			
+	 		} else { // otherwise, titleContents is a phrase of >1 word, need 
+	 			// to check that the result title contains the entire phrase
+	 			if(startsWith && resultTitle.toLowerCase().startsWith(
+		 				titleContents.toLowerCase()))
+	 				accepted = true;
+	 			else if(!startsWith && resultTitle.toLowerCase().contains(
+		 				titleContents.toLowerCase()))
+	 				accepted = true;
+	 		}
+	 		// if the resultTitle fit the criteria, store its pid
+	 		if(accepted) {
+	 			v.add(results[i].getPid());
+	 			//System.out.println(resultTitle);
+	 		}
+	 		
+	 	}
+	 	pids = new String[v.size()];
+	 	v.toArray(pids);
+		return pids;
+	} 
+
+
+	/** 
+	 * @param collName - the collection of documents we'll be searching in.
+	 * @param titleWord - the word we'll be searching the document titles for.
+	 * (Fedora's search returns all objects whose title contains that word). 
+	 * 
+	 * Two kinds of search are provided by Fedora as stated in FedoraAccess.java
+	 * (see link):
+	 * <pre>
+	 * "There are two search methods: a search on all fields or a search on
+	 * specific fields. To search all fields the setTerms function of the 
+	 * FieldSearchQuery must be used, with the paramater being the desired string.
+	 * 
+	 * To search by specific fields, you must create an array of Condition
+	 * objects. Each condition consists of three parts: 
+	 * the field to be searched (.setProperty()), 
+	 * the operation to be used (.setOperator(ComparisonOperator. &lt;operator&gt;)), 
+	 * and the search string (.setValue())"
+	 * </pre>
+	 * We want to use the second search method above when browsing and searching, 
+	 * and search for: pid~greenstone:&lt;collName&gt;* title~&lt;letter&gt;*
+	 * or pid~greenstone:&lt;collName&gt;* title~&lt;first word of search phrase&gt;
+	 * See also fedora-2.2.1-src/src/java/fedora/client/search/Search.java.
+	 * 
+	 * The fedora/tomcat/webapps/fedora/WEB-INF/web.xml is where the REST-based 
+	 * web services are defined. (The web.xml defines the "Servlets for REST-based
+	 * interfaces to the Fedora Repository Server"). 
+	 * Do a search on the word "search":
+	 * fedora.server.access.FieldSearchServlet is the class we need to look at
+	 * It accesses a different Condition.java class: fedora.server.search.Condition.java
+	 * The above is what is used by the REST-based interface in FieldSearchServlet.java
+	 * While fedora-2.2.1-src/build/wsdl/fedora/server/types/gen/Condition.java
+	 * is what's used in the fedora client application that makes use of
+	 * the SOAP-based interface.
+	 * 
+	 * @see <a href="http://drc-dev.ohiolink.edu/browser/elated-core/tags/upstream/src/org/acs/elated/fed/FedoraAccess.java?rev=76&format=txt">FedoraAccess.java</a>
+	 * @see <a href="http://drc-dev.ohiolink.edu/browser/elated-core/trunk/WEB-INF/src/org/acs/elated/fed/MaAPI.java?rev=275">MaAPI</a>
+	 * @see <a href="http://www.fedora.info/download/2.2.1/javadocs/fedora/server/types/gen/Condition.html">Fedora server type Condition.java</a>
+	 * @see <a href="http://source.uhi.ac.uk/fisheye/browse/svn/ctrep/trunk/fedora-ws-clients/testapp/testsrc/fedora/webservices/client/api/a/test/Search.java?r1=133&r2=165">Fedora client test Search.java</a>
+	 */
+	protected FieldSearchResult findObjectsWithTitlesContaining(
+			String collName, final String titleWord) 
+		throws RemoteException, FedoraVersionNotSupportedException
+	{
+		// Searching for pids of the form "greenstone:gs2mgdemo*";
+		final String pid = GREENSTONE_+collName+WILDCARD;
+		
+		Condition[] conditions = new Condition[2];
+		conditions[0] = new Condition("pid", ComparisonOperator.has, pid);
+		conditions[1] = new Condition("title", ComparisonOperator.has, titleWord); 	
+		
+		FieldSearchQuery query = new FieldSearchQuery();
+		query.setConditions(conditions);
+		
+		// We'd like pid and title returned for each object, because we'll make
+		// use of title. We pass maxResults=null to get all objects that match
+		// (i.e. all collections).
+		FieldSearchResult objects = null;
+		try {
+			objects = AutoFinder.findObjects(
+					APIA, new String[]{"pid", "title"}, maxresults, query);
+			// collection = APIA.findObjects(new String[]{"pid", "title"}, 
+				// new NonNegativeInteger(Integer.toString(maxresults)), query);
+		} catch(RemoteException ex) {
+			if(fedoraVersion.compareTo(SUPPORTED_VERSION) < 0) { 
+				// fedoraVersion is too low, searching/browsing is not possible
+				// (because class Condition has changed after 2.0, from 2.1.1 
+				// onwards)
+				throw new FedoraVersionNotSupportedException(fedoraVersion);
+			} else { 
+				LOG.error(
+					"Remote exception when calling web service operation " +
+					"findObject() to execute search:\n" + ex.getMessage());
+				ex.printStackTrace();
+				throw ex;
+			}
+		}
+		return objects; // return the FieldSearchResult objects found
+	} 
+	
+	/** @return the &lt;docName&gt; in the parameter docPID (which is of the form: 
+	 *  greenstone:&lt;colname&gt;-&lt;docName&gt;) 
+	 *  @param docPID - pid of a greenstone document in the fedora repository. */
+	public String getDocName(String docPID) {
+		return docPID.substring(docPID.indexOf('-')+1);
+	}
+	
+	/** @return the &lt;name&gt; in the parameter collPID 
+	 * (greenstone:&lt;name&gt;-collection) 
+	 * If collPID is a docPID, this method does the same: return the &lt;name&gt; 
+	 * in the docPID (greenstone:&lt;name&gt;-docID). 
+	 * @param collPID - pid of a greenstone collection in the fedora repository. */
+	public String getCollectionName(String collPID) {
+		return collPID.substring(collPID.indexOf(':')+1, collPID.indexOf('-'));
+	}
+		
+	/** Convert the given Element to a String representing the same XML.
+	 * @return an element containing a copy element e with either only its child
+	 * elements or with all its descendents (depending on whether parameter
+	 * descendents is true or false).
+	 * @param e - the element to start copying from.
+	 * @param descendents - if true, e is copied with all its descendetns into the 
+	 * element that's returned. If false, only e and its direct children are copied  
+	 * @see <a href="http://forum.java.sun.com/thread.jspa?threadID=678472&tstart=30">Sun java thread on transforming a DOM XML to a String</a>
+	*/
+	protected Element getSubstructure(Element e, boolean descendents) 
+	{
+		Document doc = builder.newDocument();
+		Node n = doc.importNode(e, descendents); 
+				// descendents=true: import/copy descendents.
+				// Else, copy just current node e (later copy its direct children)
+		doc.appendChild(n); // need to put the copied node into a document
+			// else it won't have a parent doc (DOMSource can't work with it
+			// without it having a document parent).
+	
+		// if we are not recursively copying all descendents, then copy just 
+		// the childnodes:
+		if(!descendents) { // then copy just the children
+			// get e's children and copy them into the new document
+			NodeList children = e.getChildNodes();
+			for(int i = 0; i < children.getLength(); i++) {
+				// create copy
+				n = doc.importNode(children.item(i), false);
+				// attach it to parent
+				doc.getDocumentElement().appendChild(n);
+				
+				// Now we need to indicate whether this new node (child) is a leaf
+				// or not. (This is necessary for getChildrenOfSection(), else 
+				// it's hard to know if the children are leaves or have further 
+				// subsections.
+				if(n.getNodeName().equals(SECTION_ELEMENT)) {
+					// we're dealing only with section children
+					
+					// Check if the matching original had children:
+					Element originalsChild = (Element)children.item(i);
+					NodeList grandchildren = 
+						originalsChild.getElementsByTagName(SECTION_ELEMENT);
+					if(grandchildren.getLength() > 0) {
+						// original's child has children, so indicate this
+						// in the copied child:
+						Element child = (Element)n;
+						child.setAttribute(TYPE, INTERNAL_NODE);
+					}
+				}
+			}
+		}
+		return doc.getDocumentElement();
+	}
+	
+	
+	/** 
+	 * Return a datastream of a document, given the document's id
+	 * and the item id of the datastream which is to be retrieved.
+	 * @return the XML (in String form) of the item denoted by itemID  
+	 * that's part of the fedora data object denoted by docPID. 
+	 * itemID may be something like EX.2.1/EX2.3.3 or SECTION1.4.3
+	 * Can't retrieve images denoted by itemID using this method, only items
+	 * that are of XML format.
+	 * @param docPID - pid of a greenstone document in the fedora repository.
+	 * @param itemID - the itemID of a datastream of the fedora object 
+	 * identified by docPID.
+	*/
+	protected String getItem(String docPID, String itemID)  
+		throws RemoteException, UnsupportedEncodingException
+	{
+		// MIMETypedStream getDatastreamDissemination(
+			// String pid, String dsID, asOfDateTime) 
+		MIMETypedStream datastream 
+			= APIA.getDatastreamDissemination(docPID, itemID, null);
+		return new String(datastream.getStream(), UTF8);
+	}
+	
+	/** Given something like str="SECTION1.2.1" and prefix="SECTION" this method 
+	 * returns "1.2.1". 
+	 * The exception is that for cases like EX.2.1, which ought to have been EX1.2.1, 
+	 * this method would return "1.2.1". Similarly, DC.2.1 would return "1.2.1".
+	 * However, the string str is returned unchanged if the prefix does not occur
+	 * at the start of str. 
+	 * @return the String parameter str without the prefix.
+	 * It can be used to return the number of an itemID of a greenstone document 
+	 * stored in the fedora repository without the given prefix.  
+	 * @param prefix - the prefix which ought to be removed from the itemID.
+	 * @param str - the value of the itemID.
+	*/
+	protected String removePrefix(String str, String prefix) {
+		// do nothing in those cases where the prefix is not in param str
+		if(!str.startsWith(prefix)) 
+			return str;
+		// otherwise:
+		if(prefix.equals(EX+".") || prefix.equals(DC+".")) {
+			return "1" + str.substring(prefix.length());	
+		} else {
+			return str.substring(prefix.length());
+		}
+	}
+		
+	/** Given a number of the form x(.y.z), this method returns this number
+	 * as is, except when x = 1, in which case, it would return .y.z 
+	 * That is, given number=3.2.1, this method would return 3.2.1
+	 * But, given number=1.2.3, this method would return .2.3.
+	 * When number=1, it is NOT a special case: "" is returned as explained. 
+	 * @param number - a proper (fedora-greenstone document) section number 
+	 * @return the same number as it ought to be for the associated EX, DC datastreama. 
+	*/
+	protected String convertToMetaNumber(String number) {
+		if(number.startsWith("1.") || number.equals("1"))
+			return number.substring(1); // remove the first char: the initial '1'
+		else return number;
+	}
+	
+	/** @return fedora's baseURL. It's of the form
+	 * "http://localhost:8080/fedora" */
+	public String getBaseURL() { return baseURL; }
+	
+	/** @return the portAddressURL (in use) of the Fedora APIA 
+	 * web service (should be the endpoint location in the APIA's 
+	 * WSDL file). 
+	 * It's usually of the form baseURL+"/services/access" */
+	public String getPortAddressURL() { 
+		return this.baseURL + this.portAddressSuffix; 
+	}
+	
+	/** @return the baseURL for gsdlAssocFiles */
+	public String getAssocFileBaseURL() { return baseURL + "/get/"; }
+	
+	public static void main(String args[]) {
+		try {
+			FedoraConnection fedoraCon 
+				= new FedoraConnection(new File("fedoraGS3.properties"));
+			
+			String[] pids = null; 
+			pids = fedoraCon.getCollections();
+			String[] titles = fedoraCon.getCollectionTitles(pids);
+			for(int i = 0; i < pids.length; i++) {
+				System.out.println("extracted title:" + titles[i]);
+				String[] docPIDs = fedoraCon.getCollectionDocs(pids[i]);
+				String[] docTitles = fedoraCon.getDocTitles(docPIDs);
+				for(int j = 0; j < docPIDs.length; j++) { 
+					System.out.println("\tExtr doc title: " + docTitles[j]);
+				}
+			}	
+			
+			String PID = "greenstone:gs2mgdemo-collection";
+			String docPID = "greenstone:gs2mgdemo-HASH529078c732a453b1d4a505"; //HASHbf4b4675045599fbc3e2b1";
+		 	String dcXML = fedoraCon.getDC(PID);
+		 	String exXML = fedoraCon.getEX(PID);
+		 	String tocXML = fedoraCon.getTOC(docPID);
+		 	System.out.println("Dublin Core Metadata for " + PID 
+		 			+ " is:\n" + dcXML);
+		 	System.out.println("GS3 extracted metadata for " + PID 
+		 			+ " is:\n" + exXML);
+		 	System.out.println("Table of Contents for " + docPID 
+		 			+ " is:\n" + tocXML);
+		 	
+		 	
+		 	String[] sectionNames = fedoraCon.getSectionNames(docPID);
+		 	System.out.println("\nSection names for " + docPID + " are:");
+		 	for(int i = 0; i < sectionNames.length; i++)
+		 		System.out.println(sectionNames[i]);
+		 	
+		 	String[] sectionNumbers = fedoraCon.getSectionNumbers(docPID);
+		 	//String[] sectionTitles = fedoraCon.getTitles(docPID, sectionNumbers);
+		 	String[] sectionTitles = fedoraCon.getTitles(docPID, sectionNames);
+		 	System.out.println("\nSection numbers for " + docPID + " are:");
+		 	for(int i = 0; i < sectionNumbers.length; i++) {
+		 		//System.out.println(sectionNumbers[i] + " " + sectionTitles[i]);
+		 		System.out.println(sectionNames[i] + " " + sectionTitles[i]);
+		 	}
+		 	
+		 	String sectionID = "SECTION1"; //SECTION1.5
+		 	System.out.println("\n");
+		 	System.out.println(sectionID+ " - entire subsection:\n" 
+		 			+ fedoraCon.getSubsection(docPID, sectionID));
+		 	
+		 	System.out.println(sectionID + " and children:\n" 
+		 			+ fedoraCon.getChildrenOfSection(docPID, sectionID));
+		 			
+		 	System.out.println(
+		 		"browsing greenstone's gs2mgdemo collection by (first) letter F:");
+		 	pids = fedoraCon.browseTitlesByLetter("gs2mgdemo", "f");
+		 	for(int i = 0; i < pids.length; i++)
+		 		System.out.println(pids[i]);
+		 	
+		 	System.out.println(
+		 		"\nsearching greenstone's gs2mgppdemo collection for Gender Equality:");
+		 	pids = fedoraCon.searchDocumentTitles("gs2mgdemo", "Gender Equality", false);
+		 	for(int i = 0; i < pids.length; i++)
+		 		System.out.println(pids[i]);
+		 	
+		 	System.out.println("\nDone - exiting.");
+		 	System.exit(0);
+		} catch(RemoteException re) {
+			System.out.println("Remote Exception when calling web service operation\n" + re.getMessage());
+			re.printStackTrace();
+		} catch(Exception e) {
+			System.out.println("Unable to instantiate FedoraConnection\n" + e);
+			e.printStackTrace();
+			//LOG.error("Unable to instantiate FedoraConnection\n" + e);
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Connection.java	(revision 15317)
@@ -0,0 +1,2192 @@
+/**
+ *#########################################################################
+ * FedoraGS3Connection.java - works with the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+
+import java.io.StringReader;
+
+import org.apache.log4j.Logger;
+import org.greenstone.fedora.services.FedoraGS3Exception.AuthenticationFailedException;
+import org.greenstone.fedora.services.FedoraGS3Exception.CancelledException;
+import org.greenstone.fedora.services.FedoraGS3Exception.FedoraGS3RunException;
+import org.greenstone.fedora.services.FedoraGS3Exception.NotAFedoraServerException;
+import org.greenstone.fedora.services.FedoraToGS3Interface.Constants;
+import org.greenstone.gsdl3.util.GSXML;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Text;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+
+import java.io.File; 
+import java.util.HashMap;
+import java.util.Properties;
+import java.util.Map;
+
+import javax.swing.JOptionPane;
+
+import org.xml.sax.SAXException;
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+import javax.net.ssl.SSLHandshakeException;
+import java.net.ConnectException;
+import java.net.MalformedURLException;
+import java.rmi.RemoteException;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+
+/**
+ * Class that extends FedoraConnection in order to be able to use
+ * Fedora's web services to retrieve the specific datastreams of 
+ * Greenstone documents stored in Fedora's repository. This class
+ * provides methods that convert those datastreams into Greenstone3 
+ * XML response messages which are returned.
+ * @author ak19
+*/
+public class FedoraGS3Connection 
+	extends FedoraConnection implements FedoraToGS3Interface, 
+		FedoraToGS3Interface.Constants  
+{
+	/** The logging instance for this class */
+	private static final Logger LOG = Logger.getLogger(
+			FedoraGS3Connection.class.getName());
+	
+	/** The last part of the gSearchWSDL URL. The first part is
+	 * the same as the fedora server's base url. */
+	protected static final String gSearchWSDLSuffix
+		= "gsearch/services/FgsOperations?wsdl";
+	
+	/** Complete list of services that are supported our FedoraGS3 would  
+	 * support if everything goes well. If a connection to FedoraGSearch
+	 * cannot be established, the query services will no longer be
+	 * available. The actual services supported are given by member
+	 * variable serviceNames. */
+	protected static final String[] SERVICES = {
+		"DocumentContentRetrieve", "DocumentMetadataRetrieve",
+		"DocumentStructureRetrieve", 
+		"TextQuery", "FieldQuery",
+		"ClassifierBrowse", "ClassifierBrowseMetadataRetrieve" 
+	};
+	
+	/** List of services actually supported by our FedoraGS3 repository 
+	 * after construction. If FedoraGenericSearch can't be connected to,
+	 * then query services will not be offered */
+	protected String[] serviceNames;
+		
+	/** constant CHILDREN indicates that a DocumentStructureRetrieve is to
+	 * return only the child nodes of a section, not any further descendants */
+	protected static final int CHILDREN = 0;
+	
+	/** constant DESCENDANTS indicates that a DocumentStructureRetrieve is to
+	 * return all descendants of a section */
+	protected static final int DESCENDANTS = 1;
+	
+	/** The object used to connect to FedoraGenericSearch, which is used 
+	 * for doing full-text searching */
+	protected GSearchConnection fedoraGSearch; 
+
+	/** The url for the wsdl file of FedoraGSearch's web services
+	 * by default this will be the Fedora server's base URL 
+	 * concatenated to "gsearch/services/FgsOperations?wsdl" */
+	protected String gSearchWSDLURL;
+	
+	/** 5 argument constructor is the same as that of superclass FedoraConnection:
+	 * @param protocol can be either http or https
+	 * @param host is the host where the fedora server is listening
+	 * @param port is the port where the fedora server is listening
+	 * @param fedoraServerUsername is the username for administrative 
+	 * authentication required to access the fedora server. 
+	 * @param fedoraServerPassword is the password for administrative 
+	 * authentication required to access the fedora server. If no password was set 
+	 * when installing Fedora, leave the field "".
+	 * Instantiates a FedoraGS3Connection object which connects to Fedora's
+	 * web services through stub classes and tries to connect to FedoraGSearch's
+	 * web services through the default WSDL location for it 
+	 * ("gsearch/services/FgsOperations?wsdl"). If another url is to be used,
+	 * call setGSearchWSDLURL(url) after the constructor instead.
+	*/
+	public FedoraGS3Connection(String protocol, String host, int port, 
+			String fedoraServerUsername, String fedoraServerPassword)
+		throws ParserConfigurationException, MalformedURLException, 
+			SSLHandshakeException, RemoteException, AuthenticationFailedException,   
+				NotAFedoraServerException, ConnectException, Exception  
+	{ 
+		super(protocol, host, port, fedoraServerUsername, fedoraServerPassword);
+		// super() will call setInitialisationProperties(properties)
+		// And that will try to instantiate the GSearchConnection.
+	}
+	
+	/** No-argument constructor which is the same as that of superclass 
+	 * FedoraConnection: it displays a small dialog requesting input for the 
+	 * host, port, administrative password and username of the fedora server. 
+	 * If no password was set on the fedora repository when installing it, 
+	 * the user can leave the password field blank. */
+	public FedoraGS3Connection() 
+		throws ParserConfigurationException, MalformedURLException, 
+			CancelledException, ConnectException, RemoteException, 
+			SSLHandshakeException, Exception
+	{ 
+		super();
+		// super() will call setInitialisationProperties(properties)
+		// And that will try to instantiate the GSearchConnection.
+	}
+	
+	/** Single-argument constructor which is the same as that of superclass 
+	 * FedoraConnection: it takes the name of the properties file where
+	 * connection initialisation values may already be provided and then
+	 * displays a small dialog requesting input for the host, port, 
+	 * administrative password and username of the fedora server showing 
+	 * the values in the properties file as default. If the necessary 
+	 * initialisation are not present in the file, they corresponding fields
+	 * in the dialog will be blank. 
+	 * If no password was set on the fedora repository when installing it, 
+	 * the user can leave the password field blank. */
+	public FedoraGS3Connection(File propertiesFilename) 
+		throws ParserConfigurationException, MalformedURLException, 
+			CancelledException, ConnectException, RemoteException, 
+			SSLHandshakeException, Exception
+	{ 
+		super(propertiesFilename);
+		// super() will call setInitialisationProperties(properties)
+		// And that will try to instantiate the GSearchConnection. 
+	}
+	
+	/** The superclass constructor calls this method passing any preset  
+	 * properties loaded from a propertiesFile. This method is overridden  
+	 * here in order to instantiate the gSearchConnection based on the  
+	 * gSearchWSDLURL. (If one was not provided in the properties file,  
+	 * gSearchWSDLURL defaults to something of the form
+	 * "http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl"
+	 * where http://localhost:8080/fedora is the baseURL of fedora and
+	 * "gsearch/services/FgsOperations?wsdl" is the default gSearchWSDLSuffix.)
+	 * @param properties is the Properties Map loaded from a properties file
+	 * (if there was any) which specifies such things as host and port of the
+	 * FedoraServer, but can also specify the property "gSearchWsdlURL".
+	 * At the end of this method, properties' "gSearchWsdlURL" will be set
+	 * to whatever the final value of this.gSearchWSDLURL is.
+	*/
+	protected void setInitialisationProperties(Properties properties)
+		throws ParserConfigurationException, MalformedURLException, 
+		CancelledException, ConnectException, RemoteException, 
+		SSLHandshakeException, Exception
+	{
+		super.setInitialisationProperties(properties);
+		// gsearchWSDL URL, if not specified, defaults to something of the form:
+		// "http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl"
+		// where http://localhost:8080/fedora is the baseURL of fedora
+		this.gSearchWSDLURL = properties.getProperty(
+				"gSearchWsdlURL", this.baseURL+gSearchWSDLSuffix);
+		// Set the property to whatever this.gSearchWSDLURL is now,
+		// so that it will be written out to the properties file again
+		properties.setProperty("gSearchWsdlURL", this.gSearchWSDLURL);
+		// Create a connection to FedoraGSearch's web services:
+		initSearchFunctionality();
+	}
+
+	/** Init method that instantiates a GSearchConnection object used
+	 * to work with the separate FedoraGSearch web services. 
+	 * The url of the WSDL for FedoraGSearch's web services is worked out 
+	 * from the baseURL of the Fedora server.
+	*/
+	protected void initSearchFunctionality() 
+	{
+		try {
+			this.fedoraGSearch = new GSearchConnection(gSearchWSDLURL);
+			this.serviceNames = SERVICES;
+		} catch(Exception e){
+			LOG.error("Cannot connect to FedoraGSearch's web services at "
+				+ gSearchWSDLURL + "\nQuery services will not be available.");
+			// If an exception occurs, something has gone wrong when
+			// trying to connect to FedoraGSearch's web services. This
+			// means, we can't offer query services, as that's provided
+			// by FedoraGSearch
+			serviceNames = null;
+			int countOfNonQueryServices = 0;
+			for(int i = 0; i < SERVICES.length; i++) {
+				// do not count query services
+				if(!SERVICES[i].toLowerCase().contains("query")) {
+					countOfNonQueryServices++; 
+				}
+			}
+			// Services now supported are everything except Query services
+			serviceNames = new String[countOfNonQueryServices];
+			for(int i = 0; i < SERVICES.length; i++) {
+				if(!SERVICES[i].toLowerCase().contains("query")) {
+					serviceNames[i] = SERVICES[i]; 
+				}
+				 
+			}
+		}
+	}
+	
+	/** @return the gSearchWSDLURL, the url of the WSDL for the
+	 * FedoraGSearch web services */
+	public String getGSearchWSDLURL() { return gSearchWSDLURL; }
+	
+	/** Sets the member variable gSearchWSDLURL that specify the location of
+	 * the WSDL file of FedoraGSearch's web services. Then it attempts 
+	 * to instantiate a connection to those web services. 
+	 * @param url is the new url of the GSearch web services WSDL file */
+	public void setGSearchWSDLURL(String url) { 
+		gSearchWSDLURL = url;
+		initSearchFunctionality();
+	}
+	
+	/** @return the array of the services actually supported by FedoraGS3 */
+	protected String[] getServiceNames() { return this.serviceNames;}
+	
+	/** 
+	 * For finding out if the sectionNumber is given as part of the docID.
+	 * @param docID is the String that contains the docPID and may also
+	 * contain the section number. 
+	 * @return true if the document identifier docID contains a section-
+	 * number, and false if it consists solely of the docPID.
+	 * That is, true is returned if 
+	 * <pre>docID = "greenstone:colName-&lt;docPID&gt;-&lt;sectionNum&gt;"</pre>
+	 * and false is returned if
+	 * <pre>docID = "greenstone:colName-&lt;docPID&gt;"</pre>
+	 * */
+	protected boolean containsSectionNumber(String docID) {
+		// if there are two hyphens in the docID, then there are sections 
+		// (and the section number is appended at end of docID)
+		// docID = "greenstone:colName-<docPID>-<sectionNum>"
+		return (docID.lastIndexOf(HYPHEN) != docID.indexOf(HYPHEN));
+	}
+	
+	/** This method will extract the docPID from docID and return it.
+	 * (If a sectionNumber is suffixed to the docID, the docPID which is
+	 * the prefix is returned; otherwise the docID is the docPID and is
+	 * returned)
+	 * @param docID is the String that contains the docPID and may also
+	 * contain the section number.
+	 * @return only the docPID portion of the docID.
+	*/
+	protected String getDocPIDFromDocID(String docID) {
+		if(containsSectionNumber(docID))
+			return docID.substring(0, docID.lastIndexOf(HYPHEN));
+		// else (if there's no sectionNumber), docID is the docPID
+		return docID; 
+	}
+	
+	/** This method will return the section Number, if there's any
+	 * suffixed to the docID. Otherwise it will return the empty string
+	 * @param docID is the String that contains the docPID and may also
+	 * contain the section number.
+	 * @return only the sectionID portion of the docID - if any, else "".
+	*/
+	protected String getSectionIDFromDocID(String docID) {
+		if(containsSectionNumber(docID))
+			return docID.substring(
+					docID.lastIndexOf(HYPHEN)+1, docID.length());
+		return "";
+	}
+	
+	/** Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+	 * response message that gives the metadata for each collection identified
+	 * @param collIDs is an array of fedora pids identifying collections in the
+	 * fedora repository
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX metadata for all the requested collections */
+	public String getCollectionMetadata(String[] collIDs) {
+		return getMetadata(collIDs);
+	}
+	
+	/** Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+	 * response message is returned containing the metadata for each document. 
+	 * @param docIDs is an array of document identifiers (docID can either be 
+	 * &lt;pid&gt;s items (documents) in the fedora repository, or 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX, DC, DLS metadata for all the requested documents */
+	public String getDocumentMetadata(String[] docIDs) {
+		return getMetadata(docIDs);
+	}
+	
+	/** Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+	 * response message that gives the metadata for the collection identified
+	 * @param collID is a fedora pid identifying a collection in its repository
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX metadata for the requested collection */
+	public String getCollectionMetadata(String collID) {
+		return getMetadata(new String[] {collID});
+	}
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing the metadata for the document. 
+	 * @param docID is a document identifier (docID can either be a &lt;pid&gt; 
+	 * of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX, DC, DLS metadata for the requested document */
+	public String getDocumentMetadata(String docID)	{
+		return getMetadata(new String[] {docID});
+	}
+
+	/** @return a greenstone DocumentMetadataRetrieve response for the 
+	 * documents or collections indicated by the docIDsOrCollIDs.
+	 * @param docIDsOrCollIDs is an array of identifiers which may be either the
+	 * fedora pids for collections, or otherwise may be a document identifier.
+	 * In the last case, the document ID may consist of either
+	 * "documentPID-sectionNumber" or may just be just fedora documentPID */
+	public String getMetadata(String[] docIDsOrCollIDs)
+	{
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null; 
+		
+		Element docNodeList = doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		try{
+			for(int i = 0; i < docIDsOrCollIDs.length; i++) {
+				// create the <documentNode> containing the metadata 
+				// for each document docID
+				Element docNode = getMetadata(doc, docIDsOrCollIDs[i]); 
+				docNodeList.appendChild(docNode);
+			}
+		} catch(Exception e) { 
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics("EX (and/or DC, DLS) metadata datastream");
+		}
+		
+		Element responseMsg = createResponseMessage(doc, docNodeList, ex,  
+				GSXML.REQUEST_TYPE_PROCESS, "DocumentMetadataRetrieve");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		} catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		} 
+	}
+	
+	/** Method that takes a new DOM document, as well as an identifier of either
+	 * a collection or document (which may be a fedora pid for the collection 
+	 * or document, or may be the documentPid-sectionNumber for a document) and
+	 * returns a documentNode element for it: 
+	 * &lt;documentNode&gt;&lt;metadataList&gt;
+	 * &lt;metadata name=""&gt;value&lt;/metadata&gt; 
+	 * ...
+	 * &lt;/metadataList&gt;&lt;/documentNode&gt;
+	 * @return documentNode containing the metadata for the collection or 
+	 * document given by parameter ID
+	 * @param id denotes a collection pid, a document pid or a docID of the  
+	 * form "documentpid-sectionNumber" */
+	protected Element getMetadata(Document doc, String id) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		// We're going to create the documentNode nested inside the following
+		// documentNodeList: 
+			// <documentNodeList>
+			// <documentNode nodeID=""><metadataList>
+			// <metadata name="">value</metadata>
+			// </metadataList></documentNode>
+			// <documentNode>...</documentNode>
+			// </documentNodeList>
+			// <documentNodeList>
+		
+		// <documentNode nodeID="docID"> - the docNode on which a structure  
+		// retrieve is being performed
+		Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+		attribute.setValue(id);
+		docNode.setAttributeNode(attribute);
+		
+		// <metadataList>
+		Element metadataList = doc.createElement(
+				GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
+		
+		String ex = "";
+		String dc = "";
+		String dls = "";
+		if(id.endsWith(_COLLECTION)) { // docID refers to a collection
+			// Obtain the "EX" datastream (extracted metadata) for the collection
+			ex = this.getEX(id);
+		}
+		else { // docID refers to a document 
+			// work out the document's fedora PID and section ID, and then 
+			// obtain the EX (extracted metadata) and DC datastreams for the doc
+			
+			// Note that EX/DC for pid="greenstone:<colname>-docPID-1"
+			// is the same as for pid="greenstone:<colname>-docPID"
+			// That is, <Section id="1"> refers to the toplevel document docPID
+			// If requested for top-level document, there may also be DLS meta 
+			String sectionID = getSectionIDFromDocID(id);
+			String docPID = getDocPIDFromDocID(id);
+			if(sectionID.equals("") || sectionID.equals("1")) { 
+				//metadata of toplevel document is requested
+				ex = this.getEX(docPID); // slightly faster than doing
+						//getSectionEXMetadata(docID, "1")
+				dc = this.getDC(docPID);
+				dls = this.getDLS(docPID);
+			}
+			else {
+				ex = getSectionEXMetadata(docPID, sectionID);
+				dc = getSectionDCMetadata(docPID, sectionID);
+			}
+		}
+		
+		// Adding in metadata sets in alphabetical order
+		// DC metadata for a top-level document is different from EX, DLS: 
+		// only the element's namespace prefix is "dc", the rest of a tagname
+		// is unknown.
+		if(!dc.equals("")) {
+			addMetadataWithNamespacedTagNames(doc, metadataList,
+					dc, DC);
+		}
+		
+		// Check if we were supposed to process dls and dc metadata
+		// as well. We only ever do this for top-level documents,
+		// in which case, dls and dc will be non-empty strings
+		if(!dls.equals("")) {
+			addMetadataWithFixedTagName(doc, metadataList, dls, DLS);
+		}
+		
+		// we definitely have an EX metadatastream for each 
+		// collection object, top-level document object, 
+		// and document section item 
+		addMetadataWithFixedTagName(doc, metadataList, ex, EX);
+		
+		// now the metadataList has been built up
+		docNode.appendChild(metadataList);
+		
+		return docNode; // return <documentNode> containing the metadata 
+	}
+	
+	/** This method retrieves all the metadata elements in the metaDataStream
+	 * parameter of the form &lt;"metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; where 
+	 * metadataSetNS is the namespace of each tag, and creates a new element of
+	 * the form &lt;metadata name="metadataSetNS:metadata"&gt;"value"&lt;/metadata&gt; for 
+	 * each. Each of these are then appended to the metadataList parameter.
+	 * @param doc is the Document object using which the new metadata Elements
+	 * are to be constructed
+	 * @param metadataList is the &lt;metadataList&gt; Element to which the new
+	 * metadata Elements are to be appended as children.
+	 * @param metaDatastream the metadata datastream in string form (e.g. the
+	 * Dublin Core metadata stored in the Fedora repository).
+	 * @param metadataSet is the constant datastream identifier, e.g. "DC".
+	 * At present this method only applies to the DC metadata as that's the only 
+	 * one where each tagname is different except for the constant dc: namespace.
+	*/
+	protected void addMetadataWithNamespacedTagNames(Document doc, 
+			Element metadataList, String metaDatastream, String metadataSet)
+		throws SAXException, IOException
+	{
+		Document src = builder.parse(
+				new InputSource(new StringReader(metaDatastream)));
+		
+		// The following doesn't work for some reason: to retrieve all elements 
+		// whose namespace prefix starts with "dc", we pass "*" for localName
+		//NodeList dcMetaTags = src.getElementsByTagNameNS(DC.toLowerCase(), "*");
+		
+		// Longer way: get the children of the root document
+		NodeList children = src.getDocumentElement().getChildNodes();
+		
+		for(int i = 0; i < children.getLength(); i++) {
+			String nodeName = children.item(i).getNodeName();
+			// check that the nodename starts with the "dc" namespace,
+			// which simultaneously ensures that the node's an element:
+			if(nodeName.startsWith(DC.toLowerCase())) {
+				// need to have a period for Greenstone instead of Fedora's colon
+				nodeName = nodeName.replace(COLON, PERIOD);
+				Element metatag = (Element)children.item(i);
+				String value = FedoraCommons.getValue(metatag);
+				// <dc:tagname>value</dc:tagname>
+				// we're going to put use this in our metadata element as 
+				// <metadata name="dc:tagname">value</metadata>
+				
+				// create metadata of (name, value) pairs in target DOM (doc)
+				Element metadata = doc.createElement(GSXML.METADATA_ELEM);
+				Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+				attribute.setValue(nodeName);
+				metadata.setAttributeNode(attribute);
+				Text content = doc.createTextNode(value);
+				metadata.appendChild(content);
+				metadataList.appendChild(metadata);
+			}
+		}		
+	}
+	
+	/** This method retrieves all the metadata elements in the metaDataStream
+	 * of the form &lt;"namespace:"metadata name="metadataName"&gt;value&lt;/metadata&gt;  
+	 * where "namespace" is the namespace prefix of each tag, and metadataName  
+	 * is the name of the metadata (like author, title). For each element
+	 * it creates a corresponding new element of the form 
+	 * &lt;metadata name="namespace:metadataName"&gt;value&lt;/metadata&gt;. Each of these 
+	 * are then appended to the metadataList parameter.
+	 * @param doc is the Document object using which the new metadata Elements
+	 * are to be constructed
+	 * @param metadataList is the &lt;metadataList&gt; Element to which the new
+	 * metadata Elements are to be appended as children.
+	 * @param metaDatastream the metadata datastream in string form (e.g. the
+	 * EX/Greenstone extracted metadata or DLS metadata stored in the Fedora 
+	 * repository).
+	 * @param metadataSet is the constant datastream identifier, 
+	 * e.g. "DLS" or "EX".
+	 * At present this method applies to the DLS and EX metadata as they have
+	 * constant tagnames throughout.
+	*/
+	protected void addMetadataWithFixedTagName(Document doc, 
+			Element metadataList, String metaDatastream, String metadataSet) 
+		throws SAXException, IOException
+	{
+		// Namespace prefix can be "ex:" or "dls:"
+		String namespacePrefix = "";
+		if(!metadataSet.equals(EX)) { 
+			// need to have a period for Greenstone instead of Fedora's colon
+			namespacePrefix = metadataSet.toLowerCase() + PERIOD;
+		}
+				
+		Document src = builder.parse(
+				new InputSource(new StringReader(metaDatastream)));
+		NodeList metaTags = src.getElementsByTagName(
+				metadataSet.toLowerCase()+COLON+METADATA); 
+				// Looking for tagnames: <ex:metadata> or <dls:metadata>
+			
+		for(int i = 0; i < metaTags.getLength(); i++) {
+			Element metatag = (Element)metaTags.item(i);
+			
+			// extract the metadata of (name, value) pairs from src DOM
+			// look for <metadata name="name">value</metadata>
+			String name = metatag.hasAttribute(NAME) ? 
+					metatag.getAttribute(NAME) : "";
+			// sometimes, there are several metadata for the same name, in this
+			// case, look for a qualifier and append its value to the name to
+			// distinguish it uniquely: 
+			if(metatag.hasAttribute(QUALIFIER)) {
+				name = name + HYPHEN + metatag.getAttribute(QUALIFIER);
+			}
+			String value = FedoraCommons.getValue(metatag);
+			
+			// create metadata of (name, value) pairs in target DOM (doc)
+			Element metadata = doc.createElement(GSXML.METADATA_ELEM);
+			Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+			attribute.setValue(namespacePrefix + name);  
+									// prefix with namespace, if any
+			metadata.setAttributeNode(attribute);
+			Text content = doc.createTextNode(value);
+			metadata.appendChild(content);
+			
+			metadataList.appendChild(metadata);
+		}
+	}
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing ONLY the Title metadata for the document. 
+	 * @param docID is a document identifier (docID can either be a &lt;pid&gt; 
+	 * of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * Title metadata for the requested document */
+	public String getTitleMetadata(String docID) {
+		return getTitleMetadata(new String[] { docID });
+	}
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing ONLY the Title metadata for the documents. 
+	 * @param docIDs is a list of document identifiers (where docID can either be 
+	 * a &lt;pid&gt; of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * Title metadata for all the requested documents */
+	public String getTitleMetadata(String[] docIDs) {
+		// Must create message of the following form: 
+		// <documentNodeList><documentNode nodeID="docID">
+        // <metadataList><metadata name="Title">sometitle</metadata>
+        // </metadataList></documentNode>
+		
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null; 
+		
+		Element docNodeList = doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		try{
+			for(int i = 0; i < docIDs.length; i++) {
+				Element docNode = getTitleMetadata(doc, docIDs[i]);
+				docNodeList.appendChild(docNode);
+			}
+		}catch(Exception e) { 
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics("EX metadata datastream");
+		}
+		
+		Element responseMsg = createResponseMessage(doc, docNodeList, ex,  
+				GSXML.REQUEST_TYPE_PROCESS, "DocumentMetadataRetrieve");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		} catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		} 
+	}
+	
+	/** Method that takes a new DOM document, as well as an identifier of either
+	 * a document or document section and returns a documentNode element containing
+	 * the title metadata for it: 
+	 * &lt;documentNode nodeID="docID"&gt;&lt;metadataList&gt;
+	 * &lt;metadata name="Title"&gt;sometitle&lt;/metadata&gt;
+	 * &lt;/metadataList&gt;&lt;/documentNode&gt;
+	 * @return documentNode containing the metadata for the collection or 
+	 * document given by parameter ID
+	 * @param docID denotes the id of a document or a document section, so id 
+	 * is either a document-pid or it's of the form documentpid-sectionNumber */
+	protected Element getTitleMetadata(Document doc, String docID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException 
+	{
+		// Returns a docNode element of the following form:
+		// <documentNode nodeID="docID">
+        // <metadataList><metadata name="Title">sometitle</metadata></metadataList>
+		// </documentNode>
+		
+		// <documentNode nodeID="docID">
+		Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+		attribute.setValue(docID);
+		docNode.setAttributeNode(attribute);
+		
+		// <metadataList>
+		Element metaList = doc.createElement(
+				GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
+		// <metadata name="Title">
+		Element metadata = doc.createElement(GSXML.METADATA_ELEM);
+		// if we connect it all up (append children), we can immediately add
+		// the name attribute into the metadata element:
+		metaList.appendChild(metadata);
+		docNode.appendChild(metaList);
+		metadata.setAttribute(GSXML.NAME_ATT, TITLE); // immediately add attribute 
+		
+		String title = "";
+		String sectionID = getSectionIDFromDocID(docID);
+		String docPID = getDocPIDFromDocID(docID);
+	
+		// check if title of toplevel document is requested
+		if(sectionID.equals("")) 
+			title = this.getDocTitle(docPID);
+		else { // title of document section
+			title = this.getSectionTitle(docPID, sectionID);
+		}
+		
+		metadata.appendChild(doc.createTextNode(title));
+		
+		return docNode;
+	} 
+	
+		
+	/** @return the documentStructure of the document or section given by docID. 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message. This method returns the entire
+	 * subSection of the docID (that is, all descendants included).
+	 * @param docID the identifier for the document whose structure is required.
+	 * This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+	 * same response */
+	public String getDocumentStructure(String docID) {
+		return getStructure(new String[]{docID}, DESCENDANTS);
+	}
+	
+	/** @return a view of the structure of the document or section given by docID
+	 * which contains only the section and its direct children. This structure is 
+	 * returned in the XML format of a Greenstone3 DocumentStructureRetrieve 
+	 * response message. 
+	 * @param docID the identifier for the document whose structure is required.
+	 * This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+	 * same response */
+	public String getChildren(String docID) {
+		return getStructure(new String[]{docID}, CHILDREN);
+	}
+	
+	/** @return the documentStructure of the documents or sections given by docIDs. 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message. This method returns the entire
+	 * subSection of each docID (that is, all descendants included).
+	 * @param docIDs is an array of identifiers for the documents whose structures
+	 * are required.
+	 * This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+	 * same response */
+	public String getDocumentStructure(String[] docIDs) {
+		return getStructure(docIDs, DESCENDANTS);
+	}
+	
+	/** @return the documentStructure of the documents or sections given by docIDs
+	 * but only the sections and their children (not any further descendants). 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message.
+	 * @param docIDs the identifiers for the documents whose structures are 
+	 * required. The docids are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectioNumber&gt;"  
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the 
+	 * same response */
+	public String getChildren(String[] docIDs) {
+		return getStructure(docIDs, CHILDREN);
+	}
+	
+	/** 
+	 * Returns a greenstone3 DocumentStructureRetrieve XML response message 
+	 * containing the document structures for the given docIDs.
+	 * Similar to FedoraConnection.getTOC(), but instead of fedora formatted XML,  
+	 * greenstone formatted XML is returned. The requested section of the table
+	 * of contents (TOC) for a document is converted into the greenstone3 xml  
+	 * format that is returned upon DocumentStructureRetrieve requests.
+	 * @param docIDs the documentIDs for which the section's structure is returned; 
+	 * where a docID is either a fedora pid &lt;docPID&gt; or &lt;docPID&gt;-&lt;sectionNumber&gt;.
+	 * @param levels - either CHILDREN or DESCENDANTS. 
+	 * CHILDREN returns only the first-level descendants (children) of the 
+	 * requested document sections indicated by docIDs.
+	 * DESCENDANTS returns all descendants of all the document-sections denoted by 
+	 * docIDs.
+	 * @return a greenstone3 DocumentStructureRetrieve XML response message in
+	 * String format with the structure of the docIDs requested.
+	*/
+	protected String getStructure(String[] docIDs, int levels) 
+	{
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null;
+		// <documentNodeList>
+		Element docNodeList = doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		try{
+			// append the <documentNodes> for the docIDs
+			// to the docNodeList
+			getStructureElement(docNodeList, docIDs, levels); 
+		} catch(Exception e) { 
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics("(requested portion of) TOC datastream");
+		}
+		// insert our <documentNodeList> into a GS3 response message 
+		Element responseMsg = createResponseMessage(doc, docNodeList, ex,
+				GSXML.REQUEST_TYPE_PROCESS, "DocumentStructureRetrieve");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		} catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** Given a &lt;documentNodeList&gt; portion of a greenstone3 
+	 * DocumentStructureRetrieve XML response message, this method will populate 
+	 * it with the &lt;documentNodes&gt; that represent the structure of the given docIDs.
+	 * @param docNodeList is a &lt;documentNodeList&gt; to which &lt;documentNodes&gt; of
+	 * the doc structures are appended.
+	 * @param docIDs the documentIDs for which the section's structure is returned; 
+	 * where a docID is either a fedora pid &lt;docPID&gt; or &lt;docPID&gt;-&lt;sectionNumber&gt;.
+	 * @param levels - either CHILDREN or DESCENDANTS. 
+	 * CHILDREN returns only the first-level descendants (children) of the 
+	 * requested document sections indicated by docIDs.
+	 * DESCENDANTS returns all descendants of all the document-sections denoted by 
+	 * docIDs.
+	*/
+	protected void getStructureElement(Element docNodeList, 
+			String[] docIDs, int levels) 
+		throws RemoteException, UnsupportedEncodingException, SAXException, 
+			IOException 
+	{
+		// process each docID
+		for(int i = 0; i < docIDs.length; i++) {
+			// work out the document's fedora PID and section ID
+			String sectionID = getSectionIDFromDocID(docIDs[i]);
+			String docPID = getDocPIDFromDocID(docIDs[i]);
+			
+			// get the required section, along with children or descendants
+			Element srcDocElement = null;
+			if(levels == CHILDREN) // get the requested section with its children 
+				srcDocElement = this.getChildrenOfSectionXML(docPID, sectionID);
+			else // levels == DESCENDANTS, get the section with all its descendants
+				srcDocElement = this.getSubsectionXML(docPID, sectionID);
+			
+			// copy-and-convert that structure into a structure format for GS3
+			Element docNode = getStructure(docNodeList.getOwnerDocument(), 
+					docIDs[i], docPID, srcDocElement);
+			
+			// add it to our list of documentNodes
+			docNodeList.appendChild(docNode);
+		}
+	}
+		
+	/** 
+	 * Takes the portion of the XML document outlining the structure of the 
+	 * document (section)--in the format this is stored in Fedora--and returns 
+	 * Greenstone 3 DOM XML format for outlining document structure.  
+	 * @return a &lt;documentNode&gt; element that contains a greenstone3 
+	 * DocumentStructureRetrieve XML corresponding to the parameter Element section
+	 * (which is in fedora XML), for the document indicated by docID.
+	 * @param requestingDocID is the identifier of the document for which the 
+	 * structure was requested. It's this document's children or descendants that
+	 * will be returned. Note that this is not always the same as (clear from)  
+	 * parameter docID.
+	 * @param docID is the documentID for which the section's structure is 
+	 * returned where docID = "docPID-sectionNumber".
+	 * @param section - the fedora section XML that is being mirrored in
+	 * greenstone3 format.
+	*/
+	protected Element getStructure(Document doc, String requestingDocID, 
+			String docID, Element section)
+	{
+		// we want to mirror the section's DOM (given in fedora XML) in 
+		// greenstone3's XML for a DocumentStructureRetrieve response.
+		
+		// <documentNode nodeID="docID"> - the docNode on which a structure retrieve  
+		// is being performed
+		Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+		attribute.setValue(requestingDocID); //requestingDocID.replace(HYPHEN+SECTION, "")
+		docNode.setAttributeNode(attribute);
+		
+		// <nodeStructure>
+		Element nodeStructure = doc.createElement(GSXML.NODE_STRUCTURE_ELEM);
+		
+		// <documentNode nodeID="docID" docType="hierarchy" nodeType="root">
+		Element rootNode = createDocNodeFromSubsection(doc, section, docID);
+		
+		// fills in the subtree of the rootNode in our nodeStructure element
+		createDocStructure(doc, section, rootNode, docID); 
+			//where section represents the root section
+		
+		nodeStructure.appendChild(rootNode);
+		docNode.appendChild(nodeStructure);
+		return docNode;		
+	}
+	
+	/** Recursive method that creates a documentStructure mirroring parameter
+	 * section, starting from parameter parent down to all descendants
+	 * @param section is the XML &lt;Section&gt; in the fedora repository's TOC 
+	 * for the docPID whose substructure is to be mirrored
+	 * @param parent is the XML documentNode in the greenstone repository whose
+	 * descendants created by this method will correspond to the descendants of 
+	 * parameter section.  
+	 * @param doc is the document containing the parent; 
+	 * @param docPID is the prefix of all nodeIDs in the parent's structure
+	*/
+	protected void createDocStructure(
+			Document doc, Element section, Element parent, String docPID)
+	{
+		// get the section's children (if any)
+		NodeList children = section.getChildNodes();
+		for(int i = 0; i < children.getLength(); i++) {
+			Node n = children.item(i);
+			
+			if(n.getNodeName().equals(SECTION_ELEMENT)) {
+				//then we know it's an element AND that its tagname is "Section"
+				Element subsection = (Element)n;
+				Element child = createDocNodeFromSubsection(doc, subsection, docPID);
+				parent.appendChild(child);
+				
+				// recursion call on newly found child-element and subsection
+				createDocStructure(doc, subsection, child, docPID);
+			}
+		}
+	}
+	
+	/** Given a particular subsection element, this method creates a 
+	 * Greenstone3 DocumentNode element that mirrors it.
+	 * @param doc is the document that will contain the created DocumentNode 
+	 * @param docID is the prefix of all nodeIDs in the parent's structure 
+	 * @param subSection is the XML &lt;Section&gt; in the fedora repository's 
+	 * TOC for the docPID which will be mirrored in the greenstone XML 
+	 * documentNode that will be returned.
+	 * @return a greenstone &lt;documentNode&gt; that represents the fedora TOC's 
+	 * &lt;Section&gt; element passed as parameter subSection. */
+	protected Element createDocNodeFromSubsection(
+			Document doc, Element subSection, String docID) 
+	{
+		Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+		Attr docType = doc.createAttribute(GSXML.DOC_TYPE_ATT);
+		docType.setValue(GSXML.DOC_TYPE_HIERARCHY);
+		docNode.setAttributeNode(docType);
+		
+		Attr nodeID = doc.createAttribute(GSXML.NODE_ID_ATT);
+		String sectionID = subSection.hasAttribute(ID) ?
+				subSection.getAttribute(ID) : "";
+		nodeID.setValue(docID + HYPHEN + sectionID);
+		docNode.setAttributeNode(nodeID);
+		
+		Attr nodeType = doc.createAttribute(GSXML.NODE_TYPE_ATT);
+		if(sectionID.equals("1")) { // root case
+			nodeType.setValue(GSXML.NODE_TYPE_ROOT);
+			// reset the attribute without the section number
+			docNode.setAttribute(GSXML.NODE_ID_ATT, docID);
+		}
+		else if(subSection.getElementsByTagName(SECTION_ELEMENT).getLength() > 0)
+			// this section has further <Section> children, so it's an internal node 
+			nodeType.setValue(GSXML.NODE_TYPE_INTERNAL);
+		else if(subSection.hasAttribute(TYPE)) 
+			nodeType.setValue(GSXML.NODE_TYPE_INTERNAL);
+		else // leaf
+			nodeType.setValue(GSXML.NODE_TYPE_LEAF);
+		docNode.setAttributeNode(nodeType);
+		return docNode;
+	}
+	
+	
+	/** Given an identifier that is either a docPID or a concatenation of 
+	 * docPID+sectionID, this method works out the fedora assigned docPID and 
+	 * sectionID and then calls getContentBody(docPID, sectionID) with those. 
+	 * @param docID is expected to be of the form 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" or
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+	 * "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+	 * is returned! */
+	public String getContent(String docID) {
+		return this.getContent(new String[]{docID});
+	}
+	
+	/** Given an identifier that is a concatenation of docID+sectionID, this
+	 * method works out the fedora assigned docPID and sectionID and then calls 
+	 * getContentBody(docPID, sectionID) with those. 
+	 * @param docIDs is an array of document identifiers of the form 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+	 * If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+	 * "greenstone:&lt;collectionName&gt;-Section1" is returned! */
+	public String getContent(String[] docIDs) {
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null; 
+		
+		//<documentNodeList>
+		Element docNodeList = doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		try{
+			for(int i = 0; i < docIDs.length; i++) {
+				// get the sectionID and docPID from the docID
+				String sectionID = this.removePrefix(
+						getSectionIDFromDocID(docIDs[i]), SECTION);
+				String docPID = getDocPIDFromDocID(docIDs[i]);
+				if(sectionID.equals("")) // if no section is specified, get 
+					sectionID = "1"; // get the content for Section id="1"
+							
+				// Get the contents for the requested section of document docPID 
+				String sectionContent = this.getContentBody(docPID, sectionID);
+				
+				// set the nodeID attribute
+				Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+				Attr nodeId = doc.createAttribute(GSXML.NODE_ID_ATT);
+				
+				nodeId.setValue(docIDs[i]); // just set the docID which will contain
+							// the docPID (and sectionID if already present)
+				
+				docNode.setAttributeNode(nodeId);
+				// set the text content to what was retrieved
+				Element nodeContent = doc.createElement(GSXML.NODE_CONTENT_ELEM);
+				Text textNode = doc.createTextNode(sectionContent);
+				
+				nodeContent.appendChild(textNode);
+				docNode.appendChild(nodeContent);
+				//add the documentNode to the docNodeList 
+				docNodeList.appendChild(docNode);
+			}
+		} catch(Exception e) { 
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics("requested doc Section datastream");
+		}
+		Element responseMsg = createResponseMessage(doc, docNodeList, ex,
+				GSXML.REQUEST_TYPE_PROCESS, "DocumentContentRetrieve");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		} catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+		
+	/** Gets the contents of a textNode from a section.
+	 * @return the text content of a section.
+	 * @param docPID the pid of the document from which a section's text is to 
+	 * be retrieved.
+	 * @param sectionID is the section identifier of the document denoted by 
+	 * docPID whose text is to be returned.
+	*/
+	protected String getContentBody(String docPID, String sectionID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException
+	{	
+		String section = this.getSection(docPID, sectionID);
+		
+		// the content is nested inside a <Section> element, 
+		// we extract it from there:
+		InputSource source = new InputSource(new StringReader(section));
+		Document doc = builder.parse(source);
+			
+		// The document Element is the <Section> we want. 
+		// Get its text contents:
+		section = FedoraCommons.getValue(doc.getDocumentElement());
+		
+		// we are going to remove all occurrences of "_httpdocimg_/"
+		// that precede associated filenames, because that's a GS3 
+		// defined macro for resolving relative urls. It won't help
+		// with documents stored in fedora.
+		section = section.replaceAll(GS3FilePathMacro+"/", "");
+		return section;
+	}
+		
+	/** Here we create the greenstone's response message element: 
+	 * &lt;message&lg;&lt;response&gt;&lt;content&gt;&lt;/response&gt;&lt;/message&gt; 
+	 * @return a greenstone response-message element.
+	 * @param doc - the Document object which should me used to create the
+	 * &lt;message&gt; and &lt;response&gt; elements 
+	 * @param content - the element that is to be nested inside &lt;response&gt;
+	 * @param ex - any exception that occurred when trying to create
+	 * the content parameter
+	 * @param responseType - the value for the type attribute of &lt;response&gt;,
+	 * such as "describe", "retrieve", "browse", "query"... 
+	 * @param originator - indiates the collectionName or service (like 
+	 * DocumentContentRetrieve) from where this response message originates
+	*/
+	protected Element createResponseMessage(Document doc, Element content, 
+			Exception ex, String responseType, String originator) 
+	{
+		Element response = doc.createElement(GSXML.RESPONSE_ELEM);
+		// from = "FedoraGS3"
+		Attr attribute = doc.createAttribute(GSXML.FROM_ATT);
+		String from = originator.equals("") ? FEDORA_GS3
+				: FEDORA_GS3+"/"+originator;
+		
+		attribute.setValue(from);
+		response.setAttributeNode(attribute);
+		
+		// type = "describe" or "process" - whatever's given in requestType: 
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(responseType);
+		response.setAttributeNode(attribute);
+		
+		if(content != null)
+			response.appendChild(content);
+		
+		// we'll create an error element for RemoteExceptions (web service problems)  
+		// and UnsupportedEncodingExceptions and 
+		if(ex != null) {
+			Element error = doc.createElement(GSXML.ERROR_ELEM);
+			error.appendChild(doc.createTextNode(ex.getMessage()));
+			// now append the error to the <response> element (after
+			// the content element whatever that was)
+			response.appendChild(error);
+		}
+		
+		Element message = doc.createElement(GSXML.MESSAGE_ELEM);
+		message.appendChild(response);
+		doc.appendChild(message);
+		return message;
+	}
+	
+	/** @return a &lt;serviceList&gt; Element as defined by GS3: containing all the
+	 * services (denoted by &lt;service&gt; elements) that are supported by FedoraGS3. 
+	 * At present these are: DocumentContentRetrieve, DocumentMetadataRetrieve,
+	 * DocumentStructureRetrieve, TextQuery, FieldQuery, ClassifierBrowse, 
+	 * ClassifierBrowseMetadataRetrieve (as indicated by member var serviceNames). 
+	 * @param doc - the Document object which should me used to create the
+	 * &lt;serviceList&gt; element */
+	protected Element createServiceList(Document doc) 
+	{ 
+		Element serviceList = doc.createElement(
+				GSXML.SERVICE_ELEM+GSXML.LIST_MODIFIER);
+		
+		for(int i = 0; i < serviceNames.length; i++) {
+			// create the <service name="serviceName[i]" type="servicetype" />
+			Element service = doc.createElement(GSXML.SERVICE_ELEM);
+			
+			Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+			attribute.setValue(serviceNames[i]);
+			service.setAttributeNode(attribute);
+			
+			attribute = doc.createAttribute(GSXML.TYPE_ATT);
+			if(serviceNames[i].equals("ClassifierBrowse")) //browseTitlesByLetter 
+				attribute.setValue(GSXML.SERVICE_TYPE_BROWSE);
+			else if(serviceNames[i].contains("Query")) // search services 
+				attribute.setValue(GSXML.SERVICE_TYPE_QUERY);
+			else 
+				attribute.setValue(GSXML.SERVICE_TYPE_RETRIEVE);
+			service.setAttributeNode(attribute);
+			
+			// add the service element to the serviceList element
+			// <serviceList><service /></serviceList>
+			serviceList.appendChild(service);
+		}
+		return serviceList;
+	}
+	
+	/** @return a GS3 response message for a describe services request: 
+	 * indicating the list of services supported by the Fedora-Greenstone 
+	 * interface. These are DocumentContentRetrieve, DocumentMetadataRetrieve,
+	 * DocumentStructureRetrieve, ClassifierBrowse, TextQuery, FieldQuery, 
+	 * ClassifierBrowseMetadataRetrieve - as indicated by member variable
+	 * serviceNames. */
+	public String getServiceList() 
+	{
+		Document doc = builder.newDocument();
+		Element serviceList = createServiceList(doc);
+		// make <serviceList> the body of the responseMessage: 
+		// <message><response><serviceList></response></message>
+		Element responseMsg = createResponseMessage(doc, serviceList, null,
+				GSXML.REQUEST_TYPE_DESCRIBE, "");
+		try {
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** @return a GS3 describe response message listing the collections and  
+	 * collection-specific metadata stored in the Fedora-Greenstone repository. */
+	public String getCollectionList()
+	{
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null; // any RemoteException
+		
+		// create the <collectionList /> element
+		Element collectionList = doc.createElement(
+				GSXML.COLLECTION_ELEM+GSXML.LIST_MODIFIER);
+		try{
+			String[] collectionNames = this.getCollectionNames(
+					this.getCollections()); // this line could throw RemoteException 
+			for(int i = 0; i < collectionNames.length; i++) {
+				// create the <collection name="somename" /> element
+				Element collection = doc.createElement(GSXML.COLLECTION_ELEM);
+				Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+				attribute.setValue(collectionNames[i]);
+				collection.setAttributeNode(attribute);
+				
+				// append the <collection> element as child of <collectionList>
+				collectionList.appendChild(collection);
+				
+				//if(collection.hasAttribute(GSXML.NAME_ATT))
+					//LOG.debug(collection.getAttribute(GSXML.NAME_ATT));
+			}
+		} catch(RemoteException e) { // if this happens, perhaps it's because it 
+			// can't find Greenstone collections in fedora repository?
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics(
+				"greenstone collections in fedora repository");
+		} 
+		
+		// make <collectionList> the body of the responseMessage: 
+		// <message><response><collectionList></response></message>
+		Element responseMsg = createResponseMessage(doc, collectionList, ex,
+				GSXML.REQUEST_TYPE_DESCRIBE, "");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** @return a GS3 describe response message for a collection in the 
+	 * Fedora-Greenstone repository. 
+	 * @param collectionName - the name of the collection that is to be described.  
+	 * It will be converted to a fedora collection pid, which is of the form 
+	 * "greenstone:&lt;collectionName&gt;-collection". */
+	public String describeCollection(String collectionName)
+	{
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null;
+		
+		Element collection = doc.createElement(GSXML.COLLECTION_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(collectionName);
+		collection.setAttributeNode(attribute);
+		
+		//<displayItem assigned="true" lang="en" name="name">
+		//"some display name"</displayItem>
+		Element displayItem = doc.createElement(GSXML.DISPLAY_TEXT_ELEM);
+		
+		attribute = doc.createAttribute(GSXML.LANG_ATT);
+		attribute.setValue(this.lang);
+		displayItem.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(GSXML.DISPLAY_TEXT_NAME);
+		displayItem.setAttributeNode(attribute);
+		
+		try{
+			Text textNode = doc.createTextNode(
+				this.getCollectionTitle(getCollectionPID(collectionName)));
+			displayItem.appendChild(textNode);
+		} catch(Exception e) { 
+			// can't find Greenstone collections in fedora repository or problem
+			// getting their titles from their metadata datastream?
+			ex = new FedoraGS3RunException(e);
+			ex.setSpecifics("greenstone collections or their metadata" 
+					+ "in the fedora repository");
+		} 
+		// now append the displayItem element as child of the collection element
+		collection.appendChild(displayItem);
+		// get the <serviceList> and add it into the collection description.
+		// Services for all collections in the FedoraGS3 repository are the 
+		// same, offering a ClassifierBrowse to browse titles by starting letter 
+		// and DocRetrieve services: Content, Metadata and Structure.
+		
+		Element serviceList = createServiceList(doc);
+		collection.appendChild(serviceList);
+		
+		Element responseMsg = createResponseMessage(doc, collection, ex,
+				GSXML.REQUEST_TYPE_DESCRIBE, collectionName);
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** @return a GS3 describe response message for the services of a collection 
+	 * in the Fedora-Greenstone repository. So far, these services are the same for
+	 * all fedora collections: they are the services given in member variable
+	 * serviceNames: DocumentContent/Metadata/StructureRetrieve, ClassifierBrowse,
+	 * ClassifierBrowseMetadataRetrieve.   
+	 * @param collectionName - the name of the collection whose services are to
+	 * be described. It will be converted to a fedora collection pid, which is of 
+	 * the form "greenstone:&lt;collectionName&gt;-collection". */
+	public String describeCollectionServices(String collectionName)
+	{
+		Document doc = builder.newDocument();
+		
+		Element collection = doc.createElement(GSXML.COLLECTION_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(collectionName);
+		collection.setAttributeNode(attribute);
+		
+		Element serviceList = createServiceList(doc);
+		collection.appendChild(serviceList);
+		
+		Element responseMsg = createResponseMessage(doc, collection, null,
+				GSXML.REQUEST_TYPE_DESCRIBE, collectionName);
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeCollectionService(collName, serviceName). 
+	 * @return a GS3 describe response message for the requested service 
+	 * of the given collection. DocumentContent/Metadata/StructureRetrieve 
+	 * return nothing special except their names; browse (and any query)
+	 * return more complex XML responses.
+	 * All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeService(serviceName). 
+	 * @param serviceName - the name of the service in the collection which is to 
+	 * be described.*/
+	public String describeService(String serviceName)
+	{
+		// For all the *retrieve* services (incl ClassifierBrowseMetadataRetrieve)
+		// we return: 
+		// <message><response from="<name>Retrieve" type="describe">
+		// <service name="<name>Retrieve" type="retrieve" /></response></message>
+		// But for browse (and any query) service, we return the data necessary
+		// for displaying it
+		
+		Document doc = this.builder.newDocument();
+		Element service = doc.createElement(GSXML.SERVICE_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(serviceName);
+		service.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		
+		if(serviceName.toLowerCase().endsWith("retrieve"))
+			attribute.setValue(GSXML.SERVICE_TYPE_RETRIEVE);
+		
+		else if(serviceName.toLowerCase().contains("browse")) {
+			attribute.setValue(GSXML.SERVICE_TYPE_BROWSE);
+			
+			// we need name and description <displayItem> elements
+			Element displayItem 
+				= createNameValuePairElement(doc, 
+						GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, "Browse");
+			service.appendChild(displayItem);
+			
+			displayItem = createNameValuePairElement(doc, 
+					GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_DESCRIPTION, 
+					"Browse pre-defined classification hierarchies");
+			service.appendChild(displayItem);
+			
+			// now need a classifierList
+			Element classifierList = doc.createElement(
+					GSXML.CLASSIFIER_ELEM+GSXML.LIST_MODIFIER);
+			
+			int classifierNum = 1;
+			// append a <classifier content="some letter" name="CL#">
+			// for each letter of the alphabet:
+			Element classifier = createClassifierElement(doc, "TitleByLetter", 
+				classifierNum++, "titles (by letter)", "Browse titles by letter");
+			// now add this <classifier> to the <classifierList>
+			classifierList.appendChild(classifier);
+			
+			// ANY MORE CLASSIFIERS? ADD THEM HERE
+			
+			service.appendChild(classifierList);
+		} // ELSE check for whether it is a query service
+		else if(serviceName.toLowerCase().contains("query")) {
+			attribute.setValue(GSXML.SERVICE_TYPE_QUERY);
+			if(serviceName.equals("TextQuery"))
+				describeTextQueryService(service);
+			else if(serviceName.equals("FieldQuery"))
+				describeFieldQueryService(service);
+		}
+		
+		// don't forget to add the type attribute to the service!
+		service.setAttributeNode(attribute);
+		
+		String from = serviceName;
+		
+		Element responseMsg = createResponseMessage(doc, service, null,
+				GSXML.REQUEST_TYPE_DESCRIBE, from);
+		try{ 
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** Appends children to the parameter service Element that make the 
+	 * final service Element into a describe response XML for FedoraGS3's 
+	 * TextQuery service.
+	 * @param service is the service Element that is being filled out. */
+	protected void describeTextQueryService(Element service) {
+		Document doc = service.getOwnerDocument();
+		// we need name, submit (button) and description <displayItem> elements
+		Element displayItem = createNameValuePairElement(doc, 
+			GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+			"Text Search");
+		service.appendChild(displayItem);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_SUBMIT, "Search");
+		service.appendChild(displayItem);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_DESCRIPTION, 
+				"Title and full-text search service");
+		service.appendChild(displayItem);
+		
+		//create the <paramList> 
+		Element paramList = doc.createElement(
+			GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		
+		// we ignore granularity to search at: it will always be
+		// document and section level
+		// we ignore casefolding: always on (that is, case is irrelevant)
+		// we ignore document display order: always ranked
+		
+		// Constructing the following:
+		// <param default="100" name="maxDocs" type="integer">
+		// <displayItem name="name">Maximum hits to return</displayItem>
+		// </param>
+		Element param = doc.createElement(GSXML.PARAM_ELEM);
+		
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(MAXDOCS);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.DEFAULT_ATT);
+		attribute.setValue("100");
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_INTEGER);
+		param.setAttributeNode(attribute);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+				"Maximum hits to return");
+		param.appendChild(displayItem);
+		
+		paramList.appendChild(param);
+		
+		// Constructing the following:
+		// <param name="query" type="string">
+		// <displayItem name="name">Query string</displayItem>
+		// </param>	
+		param = doc.createElement(GSXML.PARAM_ELEM);
+		
+		attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(QUERY);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_STRING);
+		param.setAttributeNode(attribute);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+				"Query string");
+		param.appendChild(displayItem);
+		
+		paramList.appendChild(param);
+		
+		service.appendChild(paramList);
+	}
+	
+	/** Appends children to the parameter service Element that make the 
+	 * final service Element into a describe response XML for FedoraGS3's 
+	 * FieldQuery service.
+	 * @param service is the service Element that is being filled out. */
+	protected void describeFieldQueryService(Element service) {
+		Document doc = service.getOwnerDocument();
+		// we need name, submit (button) and description <displayItem> elements
+		Element displayItem = createNameValuePairElement(doc, 
+			GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+			"Form Search");
+		service.appendChild(displayItem);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_SUBMIT, "Search");
+		service.appendChild(displayItem);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_DESCRIPTION, 
+				"Simple fielded search");
+		service.appendChild(displayItem);
+		
+		//create the <paramList> 
+		Element paramList = doc.createElement(
+			GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
+		
+		// we ignore granularity to search at: it will always be
+		// document and section level
+		// we ignore casefolding: always on (that is, case is irrelevant)
+		// we ignore document display order: always ranked
+		
+		// Constructing the following:
+		// <param default="100" name="maxDocs" type="integer">
+		// <displayItem name="name">Maximum hits to return</displayItem>
+		// </param>
+		Element param = doc.createElement(GSXML.PARAM_ELEM);
+		
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(MAXDOCS);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.DEFAULT_ATT);
+		attribute.setValue("100");
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_INTEGER);
+		param.setAttributeNode(attribute);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+				"Maximum hits to return");
+		param.appendChild(displayItem);
+		
+		paramList.appendChild(param);
+		
+		// Constructing the following:
+		// <param name="simpleField" occurs="4" type="multi">
+		// <displayItem name="name"></displayItem>
+		//
+		// <param name="query" type="string">
+		//   <displayItem name="name">Word or phrase </displayItem>
+		// </param>
+		//
+		// <param default="allFields" name="fieldname" type="enum_single">
+		//   <displayItem name="name">in field</displayItem>
+		//   
+		//   <option name="docTitles">
+		//     <displayItem name="name">document titles</displayItem>
+		//   </option>
+		//   <option name="allTitles">
+		//     <displayItem name="name">document and section titles</displayItem>
+		//   </option>
+		//   <option name="fullText">
+		//     <displayItem name="name">full text</displayItem>
+		//   </option>
+		//	 <option name="all">
+		//     <displayItem name="name">titles and full text</displayItem>
+		//   </option>
+		//   <option name="">
+		//     <displayItem name="name"></displayItem>
+		//       </option>
+		//  </param>
+		// </param>
+		Element rowOfParams = doc.createElement(GSXML.PARAM_ELEM);  
+		attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(SIMPLEFIELD_ATT);
+		rowOfParams.setAttributeNode(attribute);
+		
+		// we want the row of controls to occur multiple times
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_MULTI);
+		rowOfParams.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(OCCURS_ATT);
+		attribute.setValue("4"); // we want this row to occur 4 times
+		rowOfParams.setAttributeNode(attribute);
+		
+		// <param name="query" type="string">
+		//   <displayItem name="name">Word or phrase </displayItem>
+		// </param>
+		param = doc.createElement(GSXML.PARAM_ELEM);
+		
+		attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(QUERY);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_STRING);
+		param.setAttributeNode(attribute);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+				"Word or phrase");
+		param.appendChild(displayItem);
+		rowOfParams.appendChild(param);
+		
+		// <param default="allFields" name="fieldName" type="enum_single">
+		//   <displayItem name="name">in field</displayItem>
+		param = doc.createElement(GSXML.PARAM_ELEM);
+		attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(FIELDNAME_ATT);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.TYPE_ATT);
+		attribute.setValue(GSXML.PARAM_TYPE_ENUM_SINGLE);
+		param.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.DEFAULT_ATT);
+		attribute.setValue(ALL_FIELDS);
+		param.setAttributeNode(attribute);
+		
+		displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+				"in field");
+		param.appendChild(displayItem);
+		
+		String[] searchFieldNames 
+			= {ALL_FIELDS, DOC_TITLES, ALL_TITLES, FULLTEXT};
+		String[] searchFieldDisplay  = {"all titles and full-text", 
+			"document titles only", "document and section titles", 
+			"full-text only"};
+		
+		// for each fieldName create an option element and insert
+		// the option into the enum_multi drop-down param:
+		// <option name="fieldName">
+		//	 <displayItem name="name">fieldName</displayItem>
+		// </option>
+		for(int i = 0; i < searchFieldNames.length; i++) {
+			Element option = doc.createElement(GSXML.PARAM_OPTION_ELEM);
+			attribute = doc.createAttribute(GSXML.NAME_ATT);
+			attribute.setValue(searchFieldNames[i]);
+			option.setAttributeNode(attribute);
+			
+			displayItem = createNameValuePairElement(doc, 
+					GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, 
+					searchFieldDisplay[i]);
+			option.appendChild(displayItem);
+			param.appendChild(option); // add option to the drop-down box
+		}
+		
+		rowOfParams.appendChild(param);
+		paramList.appendChild(rowOfParams);
+		service.appendChild(paramList);
+	}
+	
+	/** 
+	 * @return a GS3 describe response message for the requested service 
+	 * of the given collection. DocumentContent/Metadata/StructureRetrieve 
+	 * return nothing special except their names; browse (and any query)
+	 * return more complex XML responses.
+	 * All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeService(serviceName).   
+	 * @param collectionName - the name of the collection whose service is to
+	 * be described. It will be converted to a fedora collection pid, which is of 
+	 * the form "greenstone:&lt;collectionName&gt;-collection". 
+	 * @param serviceName - the name of the service in the collection which is to 
+	 * be described. */
+	public String describeCollectionService(String collectionName, 
+			String serviceName) {
+		// collectionName can be ignored, because all services are FedoraGS3 
+		// services and are not unique to any particular (greenstone) collection. 
+		return describeService(serviceName);
+	}
+	
+	/** This method performs the implemented browse operation: allowing the
+	 * user to browse the titles of documents in the given collection by letter
+	 * and returning the results.
+	 * @param classifierID is the id of the classifier on which to browse. In
+	 * this case, the classifier indicates whether we browse titles by letter, or
+	 * browse (documents) by collection; and it is of the form &lt;CL(letter)&gt;.
+	 * @param collectionName is the name of the collection whose documents 
+	 * starting with the given letter will be returned.
+	 * @return a GS3 DocumentStructureRetrieve response message which lists all 
+	 * the documents that start with the letter indicated by parameter classifier.
+	*/
+	public String browse(String collectionName, String classifierID)
+	{
+		Document doc = builder.newDocument();
+		FedoraGS3RunException ex = null; //any RemoteException or UnsupportedEncodingException
+		
+		// <classifierNodeList>
+		Element classifierNodeList = doc.createElement(
+				GSXML.CLASS_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		// <classifierNode nodeID="classifierNum">
+		Element requestedClassifierNode = doc.createElement(
+				GSXML.CLASS_NODE_ELEM);
+		Attr attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+		attribute.setValue(classifierID);
+		requestedClassifierNode.setAttributeNode(attribute);
+		classifierNodeList.appendChild(requestedClassifierNode);
+		
+		// <nodeStructure>
+		Element nodeStructure = doc.createElement(GSXML.NODE_STRUCTURE_ELEM);
+		requestedClassifierNode.appendChild(nodeStructure);
+		
+		// And one more time, the top level classifierNode:
+		Element classifierNode = doc.createElement(GSXML.CLASS_NODE_ELEM);
+		attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+		attribute.setValue(classifierID);
+		classifierNode.setAttributeNode(attribute);
+		nodeStructure.appendChild(classifierNode);
+		
+		// Work out what we're browsing base on the classifierID's number
+		// classifier CL1 = browse titles by letter;
+		// classifier CL2 = browse by collection;
+		//remove the CL prefix and obtain the number from the id:
+		int classifierNum = Integer.parseInt(classifierID.replace("CL", ""));
+		switch(classifierNum) {
+			case 1:
+				// we're going to loop to the end of the alphabet
+				int num = 1;
+				for(char ch = 'A'; ch <= 'Z'; ch++, num++) {
+					// <classifierNode nodeID="CL3.1">
+					Element subClassifier = doc.createElement(
+							GSXML.CLASS_NODE_ELEM);
+					attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+					attribute.setValue(classifierID+"."+num);
+					subClassifier.setAttributeNode(attribute);
+					classifierNode.appendChild(subClassifier);
+					// now we are going to retrieve the document structure for
+					// this subClassifierID: all the documents that begin with
+					// its letter.
+					// remove the starting CL
+					String letter = String.valueOf(ch);
+					try{
+						String[] docPIDs = this.browseTitlesByLetter(
+								collectionName, letter);
+						// append the <docNodes> for the docPIDs found as children 
+						// of subclassifier 
+						getStructureElement(subClassifier, docPIDs, DESCENDANTS);
+										//CHILDREN); // for testing
+					} catch(Exception e) { 
+						ex = new FedoraGS3RunException(e);
+						ex.setSpecifics("requested portion of TOC file or "
+								+ "trouble with fielded search ");
+					}
+				}
+				break;
+			case 2:
+				break;
+			default:
+				ex = new FedoraGS3RunException( // cause is regular exception
+					new Exception("Unknown classifier ID: " + classifierID));
+		}
+		Element responseMsg = createResponseMessage(doc, classifierNodeList, ex,
+				GSXML.REQUEST_TYPE_DESCRIBE, collectionName+"/ClassifierBrowse");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** This method performs something equivalent to a greenstone3 
+	 * ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+	 * @param classNodeIDs array of classifierNode IDs of for which the metadata
+	 * needs to be returned.
+	 * @return a GS3 ClassifierBrowseMetadataRetrieve response message which 
+	 * lists the metadata for all the classifierNodes passed as parameter.*/
+	public String browseMetadataRetrieve(String[] classNodeIDs)
+	{
+		Document doc = this.builder.newDocument();
+		// <classifierNodeList>
+		Element classifierNodeList = doc.createElement(
+				GSXML.CLASS_NODE_ELEM+GSXML.LIST_MODIFIER);
+		
+		// create <classifierNode><metadataList><metadata>s
+		// </metadataList></classifierNode> for all letters of alphabet
+		for(int i = 0; i < classNodeIDs.length; i++) {
+			// strip ID of everything before the first '.' (i.e. remove "CL#.")
+			int index = classNodeIDs[i].indexOf('.');
+			String subClassifierNumber = classNodeIDs[i].substring(index+1);
+			int subClassifierNum = Integer.parseInt(subClassifierNumber);
+			char letter = (char)('A' + subClassifierNum - 1); // A = 1
+			
+			// <classifierNode nodeID="CL#.subNum">
+			Element classifierNode = doc.createElement(GSXML.CLASS_NODE_ELEM);
+			Attr attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+			attribute.setValue(classNodeIDs[i]);
+			classifierNode.setAttributeNode(attribute);
+			
+			// <metadataList>
+			Element metadataList = doc.createElement(
+					GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
+			
+			// at least one metadata element: that of the title of this
+			// classifierNode:
+			// <metadata name="Title">letter</metadata>
+			Element metadata = this.createNameValuePairElement(doc, 
+					GSXML.METADATA_ELEM, "Title", String.valueOf(letter));
+			
+			// now connect up everything
+			metadataList.appendChild(metadata);
+			classifierNode.appendChild(metadataList);
+			classifierNodeList.appendChild(classifierNode);
+		}
+		
+		Element responseMsg = createResponseMessage(doc, classifierNodeList, null,
+				GSXML.REQUEST_TYPE_PROCESS, //collName + 
+				"ClassifierBrowseMetadataRetrieve");
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	/** @return a newly created element of the following format:
+	 * &lt;classifier content="somecontent" name="CL+num"&gt;
+	 * 		&lt;displayItem name="name"&gt;someClassifierName&lt;/displayItem&gt;
+	 * 		&lt;displayItem name="description"&gt;Browse by classifier name&lt;/displayItem&gt;
+	 * &lt;/classifier&gt;
+	 * @param doc - the document used to create the element
+	 * @param content - value of the content attribute
+	 * @param classifierNum - the number suffixed to the CL, together forming
+	 * the classifier Node's ID 
+	 * @param displayNameVal is the bodytext of a named displayItem element 
+	 * @param displayDescrVal is the bodytext of a displayItem element with
+	 * description */
+	protected Element createClassifierElement(Document doc, String content, 
+			int classifierNum, String displayNameVal, String displayDescrVal) 
+	{
+		final String CL = "CL";
+		Element classifier = doc.createElement(GSXML.CLASSIFIER_ELEM);
+		// content attribute
+		Attr att = doc.createAttribute(GSXML.CLASSIFIER_CONTENT_ATT);
+		att.setValue(content);
+		classifier.setAttributeNode(att);
+		// name attribute
+		att = doc.createAttribute(GSXML.NAME_ATT);
+		att.setValue(CL + classifierNum);
+		classifier.setAttributeNode(att);
+		
+		// now create the displayItem children for classifier:
+		// <displayItem name="name">#letter</displayItem>
+        // <displayItem name="description">
+		//Browse titles starting with #letter</displayItem>
+		Element displayItem = createNameValuePairElement(doc, 
+				GSXML.DISPLAY_TEXT_ELEM, GSXML.DISPLAY_TEXT_NAME, displayNameVal);
+		classifier.appendChild(displayItem);
+		displayItem = createNameValuePairElement(doc, GSXML.DISPLAY_TEXT_ELEM, 
+				GSXML.DISPLAY_TEXT_DESCRIPTION, displayDescrVal);
+		classifier.appendChild(displayItem);
+		
+		return classifier;
+	}
+	
+		
+	/** @return a newly created element of the following format:
+	 * &lt;elementName name="somename"&gt;"some display value"&lt;/elementName&gt;
+	 * @param doc - the document used to create the element
+	 * @param elementName - the tag name
+	 * @param name - value of attribute name
+	 * @param value - the body text of the element */
+	protected Element createNameValuePairElement(Document doc, String elementName, 
+			String name, String value) {
+		// <elementName name="somename">"some display value"</elementName>
+		Element element = doc.createElement(elementName);
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(name);
+		element.setAttributeNode(attribute);
+		
+		element.appendChild(doc.createTextNode(value));
+		return element;
+	}
+	
+	/** 
+	 * @param collection is the collection to search in
+	 * @param query is the query term to search for. It won't specify the
+	 * indexed field to search in, which will mean that GSearch will
+	 * search all default indexed fields.
+	 * @param maxDocs is the maximum number of results to return (which
+	 * at present we consider equivalent to FedoraGSearch's hitpageSize).   
+	*/
+	public String[] textQuery(String collection, String query, 
+			int maxDocs) 
+		throws Exception
+	{
+		// no need to search there is no query or query is empty spaces
+		if(query.trim().equals(""))
+			return new String[]{};
+		
+		// QUERY value won't specify indexed field to search, Fedora 
+		// Gsearch will take that as meaning all default indexed fields. 
+		// Params to search() method below: string of fielded query terms;  
+		// hitpageStart, hitpageEnd, snippetsMax (leave that 0)
+		query = query + " " + "PID" + COLON + GREENSTONE;
+		
+		String searchResult = this.fedoraGSearch.search(query, 1, maxDocs, 0);
+		// now we have the XML returned by FedoraGSearch, get the pids
+		// of the documents returned (if any)
+		String[] pids = this.fedoraGSearch.getPIDsFromSearchResult(
+				collection, searchResult);
+		return pids;
+	}
+	
+	/** 
+	 * This method performs a fieldquery, searching for x number of phrases
+	 * in each of the 4 indexed fields.  
+	 * @param collection is the collection to search in
+	 * @param nameValParamsMap is a Map of several(key, value) entries,
+	 * 4 of which we're concerned with here:
+	 * - the keys are ALL_FIELDS, DOC_TITLES, ALL_TITLES, FULLTEXT
+	 * - the values are a comma separated list of terms (phrases or single
+	 * words) to search that field in. There may be more than 1 or
+	 * there may be none (in which case there may be N empty values or
+	 * spaces separated by commas).
+	 * @param maxDocs is the maximum number of results to return (which
+	 * at present we consider equivalent to FedoraGSearch's hitpageSize).   
+	 * */
+	public String[] fieldQuery(String collection, Map nameValParamsMap, 
+			int maxDocs) 
+		throws Exception
+	{
+		// we're going to maintain a list of UNIQUE pids that were returned
+		// in search results. Hence we use Set:
+		java.util.Set set = new java.util.HashSet();
+		
+		// (1) Use Fedora's search to search document titles, if they were
+		// specified:
+		String[] docTitlepids = {};
+		
+		String docTitleTerms = (String)nameValParamsMap.get(DOC_TITLES);
+		if(docTitleTerms != null) { // no doc titles may have been specified
+			String[] phrases = docTitleTerms.split(COMMA);
+			
+			// search the individual phrases first:
+			for(int i = 0; i < phrases.length; i++) {
+				if(phrases.equals("") || phrases.equals(" "))
+					continue; //skip when there are no terms
+				docTitlepids = this.searchDocumentTitles(
+						collection, phrases[i], false);
+				for(int j = 0; j < docTitlepids.length; j++)
+					set.add(docTitlepids[j]);
+			}
+		}
+		// (2) use FedoraGSearch to search doc AND section titles, and 
+		// fulltext (in case these were specified in nameValParamsMap):
+		String searchResult = this.fedoraGSearch.search(
+				nameValParamsMap, 1, maxDocs);
+		
+		String[] pids = this.fedoraGSearch.getPIDsFromSearchResult(
+				collection, searchResult);
+		
+		for(int i = 0; i < pids.length; i++)
+			set.add(pids[i]);
+		
+		pids = null;
+		pids = new String[set.size()];
+		set.toArray(pids); // unique pids
+		return pids;
+	}
+	
+	/**	@return a String representing Greenstone3 XML for a query process
+	 * response returning the results for the query denoted by parameter
+	 * nameValParamsMap.
+	 * @param nameValParamsMap is a Hashmap of name and value pairs for all the
+	 * query field data values. The names match the field names that
+	 * describeCollectionService() would have returned for the query service. 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the query service
+	 * This method is only ever called when any of the services in the digital 
+	 * library described themselves as type=query. Therefore any digital
+	 * libraries that have no query services, can just return emtpy message 
+	 * strings (or even "") since this method will never be called on them 
+	 * anyway. */
+	public String query(String collection, String service, 
+			Map nameValParamsMap) 
+	{
+		FedoraGS3RunException ex = null; 
+		// (1) obtain the requested number of maximum result documents
+		int maxDocs = 100;
+		try{
+			maxDocs = Integer.parseInt((String)nameValParamsMap.get(MAXDOCS));
+		} catch(NumberFormatException e) {
+			maxDocs = 100;
+		} 
+		
+		String pids[] = {};
+		// (2) for Textquery, we simply search ALL_FIELDS using FedoraGSearch
+		if(service.equals("TextQuery")) {
+			try {
+				// get the Query field:
+				String query = (String)nameValParamsMap.get(QUERY);
+				pids = textQuery(collection, query, maxDocs);
+			}
+			catch(Exception e) {
+				LOG.error("Error in TextQuery processing: " + e);
+				ex = new FedoraGS3RunException(
+					"When trying to use FedoraGenericSearch for a TextQuery", e);
+				
+			}
+		} else { // (3) FieldQuery
+			// first get the comma-separated lists
+			String listOfFieldNames = (String)nameValParamsMap.get(FIELDNAME_ATT);
+			String listOfSearchTerms = (String)nameValParamsMap.get(QUERY);
+			// both are comma separated lists, so split both on 'comma'
+			String[] fieldNames = listOfFieldNames.split(COMMA);
+			String[] searchTerms = listOfSearchTerms.split(COMMA);
+			
+			// In the fieldNames and searchTerms lists of nameValParamsMap, 
+			// each searchTerm element was matched with its correspondingly
+			// indexed fieldName. 
+			// A new map is going to reorganise this, by putting all terms
+			// for a particular fieldName together in a comma separated list
+			// and associating that with the fieldName. I.e. (key, value) ->
+			// (fieldName, comma-separated list of all terms in that field)
+			Map map = new HashMap();
+			for(int i = 0; i < searchTerms.length; i++) {
+				// there may be fewer searchTerms than fieldNames (since some
+				// fieldNames may have been left empty), so loop on searchTerms
+				if(map.containsKey(fieldNames[i])) { //fieldName is already 
+					// in the list, so append comma with new value
+					String termsList = (String)map.get(fieldNames[i]);
+					termsList = termsList + COMMA + searchTerms[i];
+					map.put(fieldNames[i], termsList);
+				} else { // this is the first time this fieldName occurred
+					// just put the fieldName with searchTerm as-is 
+					map.put(fieldNames[i], searchTerms[i]);
+				}
+			}
+			
+			try {
+				// For fieldquery, we search on all the fieldNames specified 
+				// - if DOC_TITLES is specified then we use Fedora's search
+				// - for all other fieldNames specified, we use FedoraGSearch
+				pids = fieldQuery(collection, map, maxDocs);
+			}
+			catch(Exception e) {
+				LOG.error("Error in FieldQuery processing: " + e);
+				ex = new FedoraGS3RunException(
+					"When trying to use FedoraGenericSearch for a FieldQuery", e);
+			}
+		}
+		
+		// Build Greenstone XML Query response message for from 
+		// the pids (which should be document identifiers)
+		Document doc = builder.newDocument();
+		// <metadataList><metadata name="numDocsMatched" value="n" />
+		// </metadataList>
+		Element metadataList = doc.createElement(
+				GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
+		Element metadata = doc.createElement(GSXML.METADATA_ELEM);
+		
+		Attr attribute = doc.createAttribute(GSXML.NAME_ATT);
+		attribute.setValue(NUM_DOCS_MATCHED);
+		metadata.setAttributeNode(attribute);
+		
+		attribute = doc.createAttribute(GSXML.VALUE_ATT);
+		attribute.setValue(Integer.toString(pids.length));
+		metadata.setAttributeNode(attribute);
+		
+		metadataList.appendChild(metadata);
+		
+		// <documentNodeList>
+		// <documentNode nodeID="HASHac0a04dd14571c60d7fbfd.4.2"
+		// docType='hierarchy' nodeType="leaf" />
+		// ...
+		// ...
+		// </documentNodeList>
+		Element docNodeList = doc.createElement(
+				GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
+		// for each 
+		for(int i = 0; i < pids.length; i++) {
+			Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM);
+			attribute = doc.createAttribute(GSXML.NODE_ID_ATT);
+			attribute.setValue(pids[i]);
+			docNode.setAttributeNode(attribute);
+			
+			attribute = doc.createAttribute(GSXML.DOC_TYPE_ATT);
+			attribute.setValue("hierarchy");
+			docNode.setAttributeNode(attribute);
+			
+			attribute = doc.createAttribute(GSXML.NODE_TYPE_ATT);
+			attribute.setValue("root");
+			docNode.setAttributeNode(attribute);
+			docNodeList.appendChild(docNode);
+		}
+		
+		Element responseMsg = createResponseMessage(doc, docNodeList, ex,
+				GSXML.REQUEST_TYPE_PROCESS, service);
+		try{
+			return FedoraCommons.elementToFormattedString(responseMsg);
+		}catch(TransformerException e) {
+			return FedoraGS3RunException.xmlToStringConversionFailureResponseMsg
+				+ " " + e;
+		}
+	}
+	
+	public static void main(String args[]) {
+		try{
+			// testing default constructor
+			//FedoraGS3Connection con = new FedoraGS3Connection();
+			
+			// testing constructor that takes properties file to show initial
+			// fedora server values
+			java.io.File propertyFilename 
+				= new java.io.File("fedoraGS3.properties");
+			FedoraGS3Connection con = new FedoraGS3Connection(propertyFilename);
+			
+			// DESCRIBE: serviceList, collectionList
+			System.out.println("serviceList:\n" + con.getServiceList());
+			
+			System.out.println("collectionList:\n" + con.getCollectionList());
+			
+			String[] colPIDs = con.getCollections();
+			String[] collectionNames = con.getCollectionNames(con.getCollections());
+			
+			
+			for(int i = 0; i < collectionNames.length; i++) {
+				System.out.println("Describing collections:\n");
+				System.out.println(con.describeCollection(collectionNames[i]));
+				System.out.println("Describing collection services:\n" 
+					+ con.describeCollectionServices(collectionNames[i]));
+			}
+			
+			String[] serviceNames = con.getServiceNames();
+			for(int i = 0; i < serviceNames.length; i++) {
+				System.out.println("Describing " + serviceNames[i] + ":\n"
+					+ con.describeCollectionService("demo", serviceNames[i]));
+			}
+			
+						
+			// TRYING OUT SPECIAL top-level document metadata retrieval (DLS, DC)
+			// along with EX of the top-level document:
+			System.out.println("\nGET META for greenstone:gs2mgdemo-HASH01d667303fe98545f03c14ae:");
+			System.out.println(con.getDocumentMetadata(new String[]{"greenstone:gs2mgdemo-HASH01d667303fe98545f03c14ae"}));
+			
+						
+			String[] docIDs = con.getCollectionDocs(colPIDs[0]);
+			System.out.println("\nGET CONTENT:");
+			for(int i = 0; i < docIDs.length; i++) {
+				System.out.println(con.getContent(docIDs[i]));
+			}
+			
+			System.out.println("\nGET META:");
+			for(int i = 0; i < docIDs.length; i++) {
+				System.out.println(con.getDocumentMetadata(docIDs[i]));
+			}
+			
+			String[] getTitlesFor = {
+					"greenstone:gs2mgdemo-HASH01d667303fe98545f03c14ae",
+					"greenstone:gs2mgdemo-HASHa568bac1d8d7bd12a0938b",
+					"greenstone:gs2mgdemo-HASHa568bac1d8d7bd12a0938b-1",
+					"greenstone:gs2mgdemo-HASH01d667303fe98545f03c14ae-1.7",
+					"greenstone:gs2mgdemo-HASHa568bac1d8d7bd12a0938b-1.5.1"
+			};
+			
+			// first let's display the regular meta for top-level docs and 
+			// their sections
+			for(int i = 0; i < getTitlesFor.length; i++) {
+				System.out.println(con.getDocumentMetadata(getTitlesFor[i]));
+			}
+			
+			System.out.println("\nTitles are:");
+			System.out.println(con.getTitleMetadata(getTitlesFor));
+			
+			System.out.println("\nGET STRUCTURE:");
+			for(int i = 0; i < docIDs.length; i++) {
+				System.out.println(con.getChildren(docIDs[i]));
+				System.out.println(con.getDocumentStructure(docIDs[i]));
+			}
+			
+			// TEST ERROR CASES:
+			System.out.println("\nTESTING ERROR CASES");
+			System.out.println(con.getContent("greenstone:demo-pinky"));
+			String[] errorCases = { "greenstone:demo-HASH23d1019b589e2ef6a680e3-1.5.1.5", 
+			"greenstone:demo-pinky" };
+			System.out.println(con.getContent(errorCases));
+			System.out.println(con.getDocumentMetadata(errorCases));
+			System.out.println(con.getDocumentStructure(errorCases));
+			
+			System.out.println("\nCLASSIFIER BROWSE");
+			System.out.println(con.browse("gs2mgdemo", //"ClassifierBrowse", 
+					"CL1"));
+			
+			System.out.println("\nCLASSIFIER BROWSE METADATA RETRIEVE");
+			String[] classNodeIDs = new String[26];
+			for(int i = 0; i < classNodeIDs.length; i++) {
+				int subClassifierNum = i + 1;
+				classNodeIDs[i] = "CL1." + subClassifierNum;
+			}
+			System.out.println(con.browseMetadataRetrieve(//"gs2mgdemo", 
+					classNodeIDs));
+			
+			System.out.println("Testing query services");
+			System.out.println("TEXT QUERY:");
+			Map formControlValsMap = new HashMap();
+			formControlValsMap.put(MAXDOCS, "100");
+			formControlValsMap.put(QUERY, "snails");
+			String searchResponse 
+				= con.query("gs2mgdemo", "TextQuery", formControlValsMap);
+			System.out.println(searchResponse);
+			
+			System.out.println("FIELD QUERY:");
+			formControlValsMap.clear();
+			formControlValsMap.put(MAXDOCS, "100");
+			formControlValsMap.put(QUERY, "interview,Gender equality,cyclone");
+			formControlValsMap.put(FIELDNAME_ATT, 
+					"allFields,docTitles,allFields,allFields");
+			searchResponse 
+				= con.query("gs2mgdemo", "FieldQuery", formControlValsMap);
+			System.out.println(searchResponse);
+			
+			System.exit(0);
+		}catch(Exception e) {
+			JOptionPane.showMessageDialog(
+					null, e, "Error", JOptionPane.ERROR_MESSAGE);
+			//System.err.println("ERROR: " + e);
+			e.printStackTrace();
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3DL.java	(revision 15317)
@@ -0,0 +1,401 @@
+/**
+ *#########################################################################
+ * FedoraGS3DL.java - works with the demo-client for Greenstone 3, of the 
+ * Greenstone digital library suite from the New Zealand Digital Library 
+ * Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+
+import org.greenstone.fedora.services.FedoraGS3Exception.FedoraVersionNotSupportedException;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.rmi.RemoteException;
+
+import javax.xml.transform.TransformerException;
+//import javax.xml.transform.TransformerConfigurationException;
+
+/** 
+ * Defines the methods that must be provided to retrieve the datastreams 
+ * specific to Greenstone documents stored in a Fedora repository. 
+ * @author ak19 
+*/
+public interface FedoraGS3DL {
+	/* CONSTANTS (FOLLOWED BY METHOD DECLARATIONS) */
+	
+	/** Instead of message router, we indicate that request messages 
+	 * sent here come from FedoraGS3 */
+	public static final String FEDORA_GS3 = "FedoraGS3";
+	
+	// Some constant string literals we'll be dealing with
+	
+	/** "greenstone" is the FEDORA PID prefix we'll be working with
+	 * @see <a href="http://dltj.org/2006/12/fedora-batch-processing/">Fedora batch processing</a>
+	*/
+	public static final String GREENSTONE = "greenstone";
+	public static final String GREENSTONE_ = GREENSTONE+":";
+	public static final String COLLECTION = "collection";
+	public static final String _COLLECTION = "-"+COLLECTION;
+	
+	public static final String WILDCARD = "*";
+	public static final String HYPHEN = "-";
+	public static final String COLON = ":";
+	public static final String PERIOD = ".";
+	
+	// public static final String UTF16 = "UTF-16"; // not used
+	public static final String UTF8 = "UTF8";
+	
+	// attribute names
+	public static final String TITLE = "Title";
+	public static final String ID = "id";
+	public static final String NAME = "name";
+	public static final String COLLECTIONNAME = "collectionname";
+	public static final String QUALIFIER = "qualifier";
+	public static final String ENGLISH = "en";
+	
+	// tag names
+	public static final String METADATA = "metadata";
+	public static final String SECTION_ELEMENT = "Section";
+	
+	/** EX marks the XML metadata file that contains Greenstone extracted 
+	 * metadata */
+	public static final String EX = "EX";
+	/** Fedora's Dublin Core metadata */
+	public static final String DC = "DC";
+	/** DLS metadata of Greenstone documents - this metadata set is optionally 
+	 * provided for top level documents. Not all Greenstone top-level documents 
+	 * in the Fedora repository may have associated DLS metadata, however.*/
+	public static final String DLS = "DLS";	
+	/** Table of contents for a Greenstone-Fedora document which outlines the 
+	 * structure of the document. */
+	public static final String TOC = "TOC";
+	/** The SECTION prefix in the name of a section's datastream; 
+	 * eg. SECTION1.2.2 */
+	public static final String SECTION = "SECTION";
+	
+	
+	/* METHOD DEFINITIONS */
+	/** @return the default language used to query for titles (and anything else
+	 * where there are multiple language options). Upon initialisation, this 
+	 * defaults to English. */
+	public String getLanguage();
+
+	/** Sets the the default language used to query for titles (and anything else
+	 * where there are multiple language options). If the default language for any
+	 * query is not available, then English ("en") is used. If that's not available
+	 * then the first other available language is used.
+	 * @param lang - the two-letter language code to set the default language to. */
+	public void setLanguage(String lang);
+	
+	/** The default maximum number of search results returned for a search. Upon
+	 * initialisation, this defaults to Java's Integer.MAX_VALUE. */
+	public int getMaxResults();
+	
+	/** Set the default maximum number of search results returned for a search. 
+	 * @param maxresults - the new default maximum number of search results to 
+	 * be returned. */
+	public void setMaxResults(int maxresults);
+	
+	/** @return fedora's baseURL */
+	public String getBaseURL();
+	
+	/** @return the portAddressURL of the Fedora APIA web service
+	 * (should be the endpoint location in the APIA's WSDL file). 
+	 * Else set this in the .properties file to something else. */
+	public String getPortAddressURL();
+	
+	/** @return the baseURL for gsdlAssocFiles */
+	public String getAssocFileBaseURL();
+	
+	/* GET COLLECTIONS, DOCUMENTS, SECTIONS, AND TITLES */
+	
+	/** Gets all greenstone collections. Searches for greenstone:*-collection.
+	 * @return an array of Strings containing the pids of all collections 
+	 * matching the format greenstone:*-collection. */
+	public String[] getCollections() throws RemoteException;
+	
+	/** @return the &lt;name&gt;s (in greenstone:&lt;name&gt;-collection) for the collections
+	 * indicated by collPIDs. 
+	 * @param collPIDs - an array of Strings denoting the pids for greenstone
+	 * collections stored in the fedora repositoryl. These should be of the
+	 * format "greenstone:&lt;collectionName&gt;-collection". */
+	public String[] getCollectionNames(String[] collPIDs);
+
+	/** @return "greenstone:&lt;name&gt;-collection" for all &lt;name&gt;s in the 
+	 * parameter collNames.
+	 * @param collNames - a list of names of greenstone collections
+	 * stored in the fedora repository. */
+	public String[] getCollectionPIDs(String[] collNames);
+
+	/** @return greenstone:&lt;name&gt;-collection for the &lt;name&gt; denoted by  
+	 * parameter collName.
+	 * @param collName - the name of a greenstone collection stored 
+	 * stored in the fedora repository. */
+	public String getCollectionPID(String collName);
+
+	/** 
+	 * Gets the title of the collection denoted by the given collection's pid by
+	 * retrieving the title metadata for it from the collection's EX datastream. 
+	 * @return the title (in the default language, else English, else the
+	 * first title found) for the particular collection denoted by its PID. 
+	 * @param collPID is the pid of a greenstone collection in the fedora 
+	 * repository. */
+	public String getCollectionTitle(String collPID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return the collection titles for all the collections indicated by
+	 * collPIDs. 
+	 * @param collPIDs - a list of pids identifying greenstone collections 
+	 * stored in the fedora repository. */
+	public String[] getCollectionTitles(String[] collPIDs) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return the title metadata for the given doc objects of a collection. 
+	 * These titles are returned in the same order as the given docIDs. 
+	 * @param docPIDs - a list of pids identifying documents stored in the 
+	 * fedora repository. */
+	public String[] getDocTitles(String[] docPIDs)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+	
+	/** Gets the title metadata for a particular doc object in a collection
+	 * denoted by docPID. The docPID already contains the collection name. 
+	 * @return the title for the fedora document item denoted by docPID
+	 * @param docPID is the pid of the document in the fedora repository 
+	 * (docPID is of the form greenstone:&lt;colName&gt;-&lt;doc-identifier&gt; */
+	public String getDocTitle(String docPID) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return the title metadata for the given document sections. 
+	 * These titles are returned in the same order as the given docPIDs
+	 * and associated sectionIDs. 
+	 * @param docPIDs - a list of pids identifying documents stored in the 
+	 * fedora repository. 
+	 * @param sectionIDs - a list of sectionIDs identifying individual sections
+	 * of documents stored in the fedora repository whose titles are requested. */
+	public String[] getSectionTitles(String[] docPIDs, String[] sectionIDs) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+	
+	/** @return the title metadata for the given document section. 
+	 * (The docPID already contain the collection name anyway.) 
+	 * @param docPID - a pid identifying a document in the fedora repository. 
+	 * @param sectionID - the sectionID of the section of the 
+	 * document whose title is requested. */
+	public String getSectionTitle(String docPID, String sectionID) 
+		throws UnsupportedEncodingException, RemoteException, 
+			SAXException, IOException;
+	
+	/** @return a list of the fedora pids of all (document) objects in the 
+	 * given greenstone collection stored in fedora's repository. All 
+	 * pids that do not map to a collection are assumed to be documents.
+	 * @param colPID is the pid of the greenstone collection stored in
+	 * the fedora repository. */
+	public String[] getCollectionDocs(String colPID) throws RemoteException;
+
+	/** Given the pid of a document fedora data object, this method will return 
+	 * all itemIDs that are part of that data object and are Sections. 
+	 * @return an array of itemIDs of the Sections of the document, 
+	 * indicated by docPID, in ascending order. These are of the form: "SECTION1.*"
+	 * @param docPID is a fedora pid identifying a greenstone document object. */
+	public String[] getSectionNames(String docPID) throws RemoteException;
+
+	/** Given the pid of a document fedora data object, this method will return all
+	 * itemIDs that are part of that data object and are Sections, but just the 
+	 * Section numbers are returned. 
+	 * @return an array of itemIDs of the Section numbers of the document 
+	 * indicated by docPID, in ascending order. Return values are of form: "1.*".
+	 * @param docPID is a fedora pid identifying a greenstone document object. */
+	public String[] getSectionNumbers(String docPID) throws RemoteException;
+
+	/** @return the titles for the document sections denoted by the parameters.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionIDs is a list of identifiers identifying sections in the
+	 * document denoted by docPID, whose titles need to be returned. Each 
+	 * sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+	 * or a section number (eg. 1.5.1). */
+	public String[] getTitles(String docPID, String[] sectionIDs) 
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return the title for the document section denoted by the parameters.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, whose title needs to be returned. The 
+	 * sectionID may sectionID may be either a section name (e.g. SECTION1.5.1) 
+	 * or a section number (eg. 1.5.1). */
+	public String getTitle(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return the &lt;docName&gt; in the parameter docPID (which is of the form: 
+	 *  greenstone:&lt;colname&gt;-&lt;docName&gt;) 
+	 *  @param docPID is the pid of a greenstone document in the fedora 
+	 *  repository. */
+	public String getDocName(String docPID);
+	
+	/** @return the &lt;name&gt; in the parameter collPID 
+	 * (greenstone:&lt;name&gt;-collection) 
+	 * @param collPID is the pid of a greenstone collection in the fedora 
+	 * repository. 
+	*/
+	public String getCollectionName(String collPID);
+	
+	/* GETTING A DOCUMENT OR SECTION'S DATA STREAMS */
+	
+	/* All "greenstone:*" objects in fedora (be they collections or documents) 
+	 * have TOC, EX and DC datastreams. The following methods return the content
+	 * (XML) of these datastreams as is. */
+	/** All objects (incl "greenstone:*" objects) in fedora - be they collections, 
+	 * top-level documents or document sections) have an EX datastream. This method
+	 * returns the content (XML) of the DC datastream as it is stored in fedora's 
+	 * repository. 
+	 * @return a String version of the XML in the DC datastream for the fedora object
+	 * denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository. */
+	public String getDC(String pid) throws RemoteException, UnsupportedEncodingException;
+
+	/** All "greenstone:*" objects in fedora (be they collections, top-level 
+	 * documents or document sections) have an EX datastream. This method 
+	 * returns the content (XML) of the EX datastream as is.
+	 * @return a String version of the XML in the DC datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository. */
+	public String getEX(String pid) throws RemoteException, UnsupportedEncodingException;
+
+	/** 
+	 * Some "greenstone:*" top-level documents in the fedora repository (but not 
+	 * greenstone collections or document sections) have a DLS metadata datastream. 
+	 * This method returns the content (XML) of the DLS datastream as is.
+	 * @return a String version of the XML in the DLS datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository.
+	 * */
+	public String getDLS(String pid) throws RemoteException, UnsupportedEncodingException;
+	
+	/** All "greenstone:*" objects in fedora (be they collections or documents) 
+	 * have a TOC datastream. This method returns the content (XML) of the TOC  
+	 * datastream as is. (Calls default fedora-system 3 dissemination &lt;pid&gt;/TOC.)
+	 * @return a String version of the XML in the DC datastream for the fedora
+	 * object denoted by pid.
+	 * @param pid - the fedora persistent identifier for an item in the fedora
+	 * repository. 
+	*/
+	public String getTOC(String pid) throws RemoteException, UnsupportedEncodingException;
+	
+	/** @return the section's XML (as a String) as it is stored in fedora. 
+	 * Works out if sectionID is a sectionName or sectionNumber.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSection(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException;
+	
+	/** @return the required section's DC metadata XML datastream.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSectionDCMetadata(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException;
+
+	/** @return the required section's EX metadata XML datastream.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSectionEXMetadata(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException;
+	
+	/* METHODS FOR GETTING THE STRUCTURE OF DOCUMENTS */
+
+	/** @return the XML content of the TOC of just that portion of the TOC which   
+	 * contains the section denoted by sectionID and its direct child subsections. 
+	 * The children are returned in the order they are encountered, which 
+	 * happens to be in the required order of ascending sectionID. 
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public Element getChildrenOfSectionXML(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return a string representing the XML content of the TOC of just
+	 * that portion of the TOC which contains the section denoted by sectionID  
+	 * and its direct child subsections. 
+	 * The children are returned in the order they are encountered, which 
+	 * happens to be in the required order of ascending sectionID. 
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getChildrenOfSection(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException, TransformerException;
+
+	/** @return the part of the TOC XML file (which outlines doc structure)  
+	 * relating to the given section. This includes the section denoted by
+	 * sectionID as well as all descendent subsections thereof. 
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public Element getSubsectionXML(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, 
+			SAXException, IOException;
+
+	/** @return a String representation of the part of the TOC XML file   
+	 * (which outlines doc structure) relating to the given section. This    
+	 * includes the section denoted by sectionID as well as all descendent  
+	 * subsections thereof.
+	 * @param docPID is a fedora pid identifying a greenstone document object.
+	 * @param sectionID identifies the particular section in the
+	 * document denoted by docPID, may be a section name or number. */
+	public String getSubsection(String docPID, String sectionID)
+		throws RemoteException, UnsupportedEncodingException, SAXException,  
+			IOException, TransformerException;
+
+	/* BROWSING */
+	
+	/** Allows browsing document titles of a greenstone collection stored in 
+	 * the fedora repository by letter. 
+	 * @return the browse results for documents that start with any letter from 
+	 * A to Z. Returns the document pids whose titles start with the given letter.
+	 * @param letter is the starting letter to browse by. */
+	public String[] browseTitlesByLetter(String collName, String letter) 
+		throws RemoteException, FedoraVersionNotSupportedException;
+
+	/** Allows querying document titles of a greenstone collection stored in 
+	 * the fedora repository for a term that may occur anywhere in their titles. 
+	 * @return the document pids whose titles contain the parameter term.
+	 * @param titleContents is the word or phrase to search the collection's 
+	 * document titles for. 
+	 * @param startsWith - if true, searches for titles that start with 
+	 * titleContents. Else it searches for titles that contain titleContents. */
+	public String[] searchDocumentTitles(String collName, String titleContents,
+			boolean startsWith) 
+		throws RemoteException, FedoraVersionNotSupportedException;
+
+	/* The following single method can be used instead.
+	 * ComparisonOperator can be contains or startswith. */
+	/* public String[] browse(String term, ComparisonOperator?); */
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraGS3Exception.java	(revision 15317)
@@ -0,0 +1,304 @@
+/**
+ *#########################################################################
+ * FedoraGS3Exception.java - works with the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.rmi.RemoteException;
+
+import org.apache.log4j.Logger;
+import org.greenstone.gsdl3.util.GSXML;
+import org.xml.sax.SAXException;
+
+/**
+ * The exceptions that can be thrown by FedoraGS3. This class
+ * represents a general FedoraGS3 exception. It will LOG the 
+ * exceptions for all the (static inner) subclasses. And, through 
+ * the Cause object, also for the static inner Exception classes 
+ * that do not inherit but are encapsulated in subclass 
+ * FedoraGS3RunException when its constructor is called with the
+ * particular Exception type. The 'Cause' Exception classes therefore
+ * indicate the root causes for why a FedoraGS3RunException was thrown.
+ * @author ak19
+*/
+public class FedoraGS3Exception extends Exception {
+	/** Constant string message to display when a connection is refused */
+	public static final String connectionRefusedMessage 
+		= "\nUnable to connect. Either the host" 
+	    + " and/or port contain invalid values\nOR the fedora" 
+	    + " server at that location is down/not yet running." 
+	    + "\nTry once more by changing the values for host or port.";
+	/** Constant string message to display if the sslHandshake fails
+	 * when trying to connect to Fedora using https */
+	public static final String sslHandshakeExceptionMessage
+		= "SSLHandshakeException.\nThe protocol 'https' might be"
+		+ "incorrect.\nTry once more. Perhaps with 'http' instead.";
+	/** Constant string message to check against if "AXIS engine  
+	 * could not find a target service to invoke" message is the cause 
+	 * for an AxisFault exception embedded in a RemoteException */
+	public static final String missingTargetService
+		= "could not find a target service to invoke";
+	/** The logging instance for this class */
+	private static final Logger LOG = Logger.getLogger(
+			FedoraGS3Exception.class.getName());
+		
+	/** No argument constructor merely sets the message to 
+	 * this class' name. */
+	public FedoraGS3Exception(){ 
+		super("FedoraGS3Exception");
+		if(this.getMessage() != null) {
+			LOG.error("Message: " + this.getMessage());
+		}
+		if(this.getCause() != null) {
+			LOG.error("Cause: " + this.getCause().getMessage());
+		}
+		LOG.debug(this); // stacktrace
+	}
+	
+	/** Constructs a FedoraGS3Exception with the given message.
+	 * @param message is an information String of what went wrong. */
+	public FedoraGS3Exception(String message){ 
+		super(message);
+		if(this.getMessage() != null) {
+			LOG.error("Message: " + this.getMessage());
+		}
+		if(this.getCause() != null) {
+			LOG.error("Cause: " + this.getCause().getMessage());
+		}
+		LOG.debug(this); // stacktrace
+	}
+	
+	/** Constructs a FedoraGS3Exception with the given message and cause.
+	 * @param message is an information String of what went wrong. 
+	 * @param cause is a Throwable object (perhaps another Exception) 
+	 * of what caused this exception to occur. */
+	public FedoraGS3Exception(String message, Throwable cause) { 
+		super(message, cause);
+		if(this.getMessage() != null) {
+			LOG.error("Message: " + this.getMessage());
+		}
+		if(this.getCause() != null) {
+			LOG.error("Cause: " + this.getCause().getMessage());
+		}
+		LOG.debug(this); // stacktrace
+	}
+	
+	/** Constructs a FedoraGS3Exception with the given cause.
+	 * @param cause is a Throwable object (perhaps another Exception) 
+	 * of what caused this exception to occur. */
+	public FedoraGS3Exception(Throwable cause) { 
+		super("FedoraGS3Exception", cause);
+		if(this.getMessage() != null) {
+			LOG.error("Message: " + this.getMessage());
+		}
+		if(this.getCause() != null) {
+			LOG.error("Cause: " + this.getCause().getMessage());
+		}
+		LOG.debug(this); // stacktrace
+	}
+
+	/** Represents an exception that occurs when FedoraGS3 is running 
+	 * A subclass of FedoraGS3Exception */
+	public static class FedoraGS3RunException extends FedoraGS3Exception {
+		/** If a problem occurs converting the error message into XML
+		 * this string is created in the format of XML stating the 
+		 * problem that occurred when trying to convert XML to String. */
+		protected static String xmlToStringConversionFailureResponseMsg; 
+		/** Some extra information as to what when wrong */
+		protected String specifics = "";
+		
+		static {
+			StringBuffer buf = new StringBuffer("<" + GSXML.MESSAGE_ELEM + ">");
+			buf.append("<" + GSXML.RESPONSE_ELEM + " " 
+					+ GSXML.FROM_ATT + "=\"" + "FedoraGS3\"" + ">");
+			buf.append("<" + GSXML.ERROR_ELEM + " " 
+				+ GSXML.ERROR_TYPE_ATT + "=\""+ GSXML.ERROR_TYPE_OTHER + "\"" + ">");
+			buf.append("(TransformerException): trouble converting original XML " 
+					+ "response message into String.");
+			buf.append("</" + GSXML.ERROR_ELEM + ">");
+			buf.append("</" + GSXML.RESPONSE_ELEM + ">");
+			buf.append("</" + GSXML.MESSAGE_ELEM + ">");
+			xmlToStringConversionFailureResponseMsg = buf.toString();
+			//System.err.println(xmlToStringConversionFailureResponseMsg);
+		}
+		
+		public FedoraGS3RunException() { 
+			super("FedoraGS3RunException"); 
+		}
+		
+		public FedoraGS3RunException(String message){ 
+			super(message); 
+		}
+		
+		public FedoraGS3RunException(String message, Throwable cause) { 
+			super("FedoraGS3RunException " + message, cause); 
+		}
+		
+		public FedoraGS3RunException(Throwable cause) { 
+			super("Caused by " 
+				+ cause.getClass() + ":\n" + cause.getMessage(), cause);
+		}
+		
+		public void setSpecifics(String specifics) {
+			this.specifics = specifics;
+		}
+		
+		/** Overloading getMessage() to return some details as to what
+		 * exactly went wrong. */
+		public String getMessage() {
+			String msg = "";
+			Throwable cause = this.getCause();
+			
+			if(cause == null)
+				return super.getMessage();
+			
+			if(cause instanceof RemoteException) {
+				// specifically indicate it's a RemoteException (as it encapsulates
+				// different exception classes) 
+				msg = "(RemoteException): problem invoking web service, " +
+					"possibly trouble finding " + specifics;
+			} else if(cause instanceof UnsupportedEncodingException) {
+				msg = "(UnsupportedEncodingException): trouble converting " 
+					+ specifics + "returned " 
+					+ "from Fedora web services to " + FedoraConnection.UTF8;
+			} else if(cause instanceof SAXException) {
+				msg = "(SAXException): trouble parsing " 
+				+ specifics + " returned from web service";
+			} else if(cause instanceof IOException) {
+				msg = "(IOException): trouble parsing " 
+				+ specifics + " returned from web service";
+			} 
+			/*else if(cause instanceof TransformerException) {
+				msg = msg + "(TransformerException) - trouble converting original XML " 
+				+ "response into String"; 
+			}*/ 
+			// else (other Exception, including FedoraVersionNotSupportedException) 
+			// in those cases, just return it as it is.
+			
+			// else msg = "";
+			if(!msg.equals(""))
+				msg = " " + msg + ". ";
+			
+			return this.getClass().getCanonicalName() 
+				+ msg + super.getMessage();
+		} 
+	}
+	
+	/** Static inner class FedoraGS3InitFailureException is an Exception
+	 * that is thrown when no connection can be made to the Fedora server
+	 * and therefore the FedoraGS3 object construction failed.
+	 * Its constructor allows other exceptions to be encapsulated within
+	 * it, via the cause object (a Throwable, superclass of Exception) 
+	 * parameter. This (the actual exception that caused the 
+	 * FedoraGS3InitFailureException) can be queried by interested parties
+	 * via the getCause() method. */
+	public static class FedoraGS3InitFailureException extends FedoraGS3Exception {
+		public static final String MESSAGE = 
+			"Unable to instantiate FedoraToGS3Interface"; 
+		public FedoraGS3InitFailureException(){ super(MESSAGE); }
+		public FedoraGS3InitFailureException(String message){ super(message); }
+		public FedoraGS3InitFailureException(String message, Throwable cause) { 
+			super(message, cause); 
+		}
+		public FedoraGS3InitFailureException(Throwable cause) { 
+			super(MESSAGE+ " due to exception " 
+				+ cause.getClass() + ":\n" + cause.getMessage(), cause);
+		}
+	}
+	
+	//***************** FEDORA CONNECTION EXCEPTIONS**********************/
+	/** 
+	 * When the user chooses to cancel out of the FedoraConnection dialog of
+	 * the constructor (where they have to enter authentication information), 
+	 * this exception is thrown, so that classes making use of FedoraConnection 
+	 * may choose whether to exit their program or deal with it differently. 
+	 * */
+	public static class CancelledException extends Exception {
+		public CancelledException() {
+    		super("User cancelled out of connecting to Fedora.\n"
+    			+ "Cannot instantiate FedoraConnection.\n");
+    	}
+    }
+	
+	/** 
+	 * This AuthenticationFailedException can be thrown when the user enters 
+	 * an invalid username and password into the FedoraConnection Authentication 
+	 * popup dialog (displayed upon FedoraConnection object construction). 
+	*/
+	public static class AuthenticationFailedException extends Exception {
+		public AuthenticationFailedException() {
+    		super("(401) Incorrect username and/or password. " 
+    				+ "Please re-enter values.");
+    	}
+    }
+	
+	/** 
+	 * This ServerNotFoundException can be thrown when the user enters 
+	 * there is no (Fedora) server listening at a given host and port.
+	 * Thrown when a 404 Not Found occurs.
+	*/
+	public static class ServerNotFoundException extends Exception {
+		public ServerNotFoundException(String message) {
+    		super(message);
+    	}
+    }
+	
+	/** 
+	 * This AuthenticationFailedException can be thrown when there is some
+	 * server listening at the host and port values entered by the user, but
+	 * when this server is (most likely) not a Fedora Server. 
+	 * The IOException message received in such cases is:
+	 * "Unable to instantiate FedoraConnection
+	 * java.io.IOException: Request failed [404 /fedora/describe]"
+	 * And in such cases, we can throw this NotAFedoraServerException
+	 * to deal with it more particularly than more general IOExceptions. 
+	*/
+	public static class NotAFedoraServerException extends Exception {
+		public static final String MESSAGE =
+			"There is a server listening at the given host and port," 
+			+ "\nbut it does not seem to be a Fedora server." 
+			+ "\nTry changing the host and/or port values.";
+		
+		public NotAFedoraServerException() {
+    		super(MESSAGE);
+    	}
+		
+		public NotAFedoraServerException(String message) {
+    		super(MESSAGE + ":\n(" + message + ")");
+    	}
+    }
+
+	/**
+	 * Certain functionality in Fedora - in particular fielded search - is
+	 * implemented differently or uses slightly different Fedora types in older
+	 * versions of Fedora (fielded search in 2.0 uses a different Condition class). 
+	 * In that case, the fielded search web service cannot be performed, and
+	 * this FedoraVersionNotSupportedException is thrown.
+	 */
+	public static class FedoraVersionNotSupportedException extends Exception {
+		
+		public FedoraVersionNotSupportedException(String fedoraVersion) {
+			super("Fedora repository version is " + fedoraVersion 
+				+ "\nHowever, browsing/searching by field only works "
+				+ "from version " + FedoraConnection.SUPPORTED_VERSION + " onwards.");
+		}
+	}
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/FedoraToGS3Interface.java	(revision 15317)
@@ -0,0 +1,286 @@
+/**
+ *#########################################################################
+ * FedoraToGS3Interface.java - works with the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+import java.util.Map;
+
+
+/**
+ * The following methods return the same data as FedoraGS3DL, but formatted as 
+ * Greenstone Response-Message XML. This way our java-client can parse   
+ * the returned XML in the same way and store them in the same datastructures. 
+ * @author ak19
+*/
+public interface FedoraToGS3Interface // extends FedoraGS3DL 
+{
+	/** Interface declaring some string constants of literals to look for */
+	public interface Constants {
+		public static final String GS3FilePathMacro = "_httpdocimg_";
+		/** Prefix of the (img) files associated  with Greenstone documents 
+		 * in the Fedora repository */
+		public static final String ASSOCFILEPREFIX = "FG";
+		
+		/** names of query form controls */
+		public static final String MAXDOCS = "maxDocs";
+		public static final String QUERY = "query";
+		public static final String SIMPLEFIELD_ATT = "simpleField";
+		public static final String OCCURS_ATT = "occurs";
+		public static final String FIELDNAME_ATT = "fieldName";
+		public static final String NUM_DOCS_MATCHED = "numDocsMatched";
+		
+		/** Field search names and separator used externally */
+		public static final String ALL_FIELDS = "allFields";
+		public static final String DOC_TITLES = "docTitles"; // doc titles only
+		public static final String ALL_TITLES = "allTitles"; // all titles, section & doc
+		public static final String FULLTEXT = "fullText";
+		public static final String COMMA = ",";
+	}
+	
+	/* DESCRIBE SERVICES */
+	/** @return a GS3 response message for a describe services request: 
+	 * indicating the list of services supported by the Fedora-Greenstone 
+	 * interface. These are DocumentContentRetrieve, DocumentMetadataRetrieve,
+	 * DocumentStructureRetrieve, BrowseByLetter - as indicated by member
+	 * variable serviceNames. */
+	public String getServiceList();
+
+	/** @return a GS3 describe response message listing the collections and  
+	 * collection-specific metadata stored in the Fedora-Greenstone repository. */
+	public String getCollectionList();
+
+	/** @return a GS3 describe response message for a collection in the 
+	 * Fedora-Greenstone repository. 
+	 * @param collectionName - the name of the collection that is to be described.  
+	 * It will be converted to a fedora collection pid, which is of the form 
+	 * "greenstone:&lt;collectionName&gt;-collection". */
+	public String describeCollection(String collectionName);
+	
+	/** @return a GS3 describe response message for the services of a collection 
+	 * in the Fedora-Greenstone repository. So far, these services are the same for
+	 * all fedora collections: they are the services given in member variable
+	 * serviceNames: DocumentContent/Metadata/StructureRetrieve, browse.   
+	 * @param collectionName - the name of the collection whose services are to
+	 * be described. It will be converted to a fedora collection pid, which is of 
+	 * the form "greenstone:&lt;collectionName&gt;-collection". */
+	public String describeCollectionServices(String collectionName);
+
+	/** 
+	 * All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeService(serviceName). 
+	 * @return a GS3 describe response message for the requested service 
+	 * of the given collection. DocumentContent/Metadata/StructureRetrieve 
+	 * return nothing special except their names; browse (and any query)
+	 * return more complex XML responses.   
+	 * @param collectionName - the name of the collection whose service is to
+	 * be described. It will be converted to a fedora collection pid, which is of 
+	 * the form "greenstone:&lt;collectionName&gt;-collection". 
+	 * @param serviceName - the name of the service in the collection which is to 
+	 * be described. */
+	public String describeCollectionService(String collectionName, 
+			String serviceName);
+	
+	/** All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeCollectionService(collName, serviceName). 
+	 * @return a GS3 describe response message for the requested service 
+	 * of the given collection. DocumentContent/Metadata/StructureRetrieve 
+	 * return nothing special except their names; browse (and any query)
+	 * return more complex XML responses.
+	 * All collections in this Digital Library (Fedora Repository) share 
+	 * the same services, so this method returns the same as 
+	 * describeService(serviceName). 
+	 * @param serviceName - the name of the service in the collection which is to 
+	 * be described.*/
+	public String describeService(String serviceName);
+	
+	/* RETRIEVE SERVICE: DOCUMENT CONTENT RETRIEVE */
+	
+	/** Given a list of document identifiers that are either docPIDs or  
+	 * concatenations of docPID+sectionID, this method retrieves their contents.
+	 * @param docID is expected to be of the form 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" or
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+	 * "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+	 * is returned. */
+	public String getContent(String docID);
+	
+	/** Given a document identifier that is either a docPID or a concatenation  
+	 * of docPID+sectionID, this method retrieves the content for it.
+	 * @param docIDs an array of document IDs where each is expected to be of the  
+	 * form "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+	 * or "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * If it is "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;", then the content for
+	 * "greenstone:&lt;collectionName&gt;-1" ("greenstone:&lt;collectionName&gt;-Section1")
+	 * is returned. */
+	public String getContent(String[] docIDs);
+	
+	/* RETRIEVE SERVICE: DOCUMENT STRUCTURE RETRIEVE */
+	
+	/** @return the documentStructure of the document or section given by docID. 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message. This method returns the entire
+	 * subSection of the docID (that is, all descendents included).
+	 * @param docID the identifier for the document whose structure is required.
+	 * This is either of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" 
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-"
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response */
+	public String getDocumentStructure(String docID);
+	
+	/** @return a view of the structure of the document or section given by docID
+	 * which contains only the section and its direct children. This structure is 
+	 * returned in the XML format of a Greenstone3 DocumentStructureRetrieve 
+	 * response message. 
+	 * @param docID the identifier for the document whose structure is required.
+	 * This is of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-"
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response */
+	public String getChildren(String docID);
+	
+	/** @return the documentStructure of the documents or sections given by docIDs. 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message. This method returns the entire
+	 * subSection of each docID (that is, all descendents included).
+	 * @param docIDs an array of document identifiers whose structures are requested
+	 * These are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;"
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response */
+	public String getDocumentStructure(String[] docIDs);
+	
+	/** @return the documentStructure of the documents or sections given by docIDs
+	 * but only the sections and their children (not any further descendents). 
+	 * The structure is returned in the XML format of a Greenstone3 
+	 * DocumentStructureRetrieve response message.
+	 * @param docIDs an array of document identifiers whose structures are requested
+	 * These are of the format "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;"
+	 * OR "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-&lt;sectionNumber&gt;" 
+	 * where "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;-1" is the same as 
+	 * "greenstone:&lt;collectionName&gt;-&lt;docPID&gt;" and will return the same response */
+	public String getChildren(String[] docIDs);
+	
+	
+	/* RETRIEVE SERVICE: DOCUMENT METADATA RETRIEVE */
+	
+	/** Given a list of collectionIDs, returns a GS3 DocumentMetadataRetrieve 
+	 * response message that gives the metadata for each collection identified
+	 * @param collIDs is an array of fedora pids identifying collections in the
+	 * fedora repository 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX metadata for all the requested collections */
+	public String getCollectionMetadata(String[] collIDs);
+	
+	/** Given a list of document identifiers, a GS3 DocumentMetadataRetrieve 
+	 * response message is returned containing the metadata for each document. 
+	 * @param docIDs is an array of document identifiers (docID can either be &lt;pid&gt;s 
+	 * items (documents) in the fedora repository, or "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX, DC, DLS metadata for all the requested documents */
+	public String getDocumentMetadata(String[] docIDs);
+	
+	/** Given a collectionID, returns a GS3 DocumentMetadataRetrieve 
+	 * response message that gives the metadata for the collection identified
+	 * @param collID is a fedora pid identifying a collection in its repository
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX metadata for the requested collection */
+	public String getCollectionMetadata(String collID);
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing the metadata for the document. 
+	 * @param docID is a document identifier (docID can either be a &lt;pid&gt; 
+	 * of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * EX, DC, DLS metadata for all the requested document */
+	public String getDocumentMetadata(String docID);
+
+	/** @return a greenstone DocumentMetadataRetrieve response for the 
+	 * documents or collections indicated by the docIDsOrCollIDs.
+	 * @param docIDsOrCollIDs is an array of identifiers which may be either the
+	 * fedora pids for collections, or otherwise may be a document identifier.
+	 * In the last case, the document ID may consist of either
+	 * "documentPID-sectionNumber" or may just be just fedora documentPID */
+	public String getMetadata(String[] docIDsOrCollIDs);
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing ONLY the Title metadata for the document. 
+	 * @param docID is a document identifier (docID can either be a &lt;pid&gt;
+	 * of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * Title metadata for the requested document */
+	public String getTitleMetadata(String docID);
+	
+	/** Given a document identifier, returns a GS3 DocumentMetadataRetrieve 
+	 * response message containing ONLY the Title metadata for the documents. 
+	 * @param docIDs is a list of document identifiers (where docID can either be 
+	 * a &lt;pid&gt; of an item (document) in the fedora repository, or it can be 
+	 * "&lt;pid&gt;-sectionNumber". 
+	 * @return a GS3 DocumentMetadataRetrieve response message containing the
+	 * Title metadata for all the requested documents */
+	public String getTitleMetadata(String[] docIDs);
+		
+	/* BROWSE AND QUERY SERVICES */
+	
+	/** This method performs something equivalent to a greenstone3 
+	 * ClassifierBrowseMetadataRetrieve on the classifierNodeIDs
+	 * @param classNodeIDs are the IDs of the classifierNode for which the metadata
+	 * needs to be returned
+	 * @return a GS3 ClassifierBrowseMetadataRetrieve response message which 
+	 * lists the metadata for all the classifierNodes passed as parameter.*/
+	public String browseMetadataRetrieve(String[] classNodeIDs);
+		
+	/** This method performs the implemented browse operation: allowing the
+	 * user to browse the titles of documents in the given collection by letter
+	 * and returning the results.
+	 * @param classifierID is the id of the classifier on which to browse. In
+	 * this case, the classifier indicates whether we browse titles by letter, or
+	 * browse (documents) by collection; and it is of the form &lt;CL(letter)&gt;.
+	 * @param collectionName is the name of the collection whose documents 
+	 * starting with the given letter will be returned.
+	 * @return a GS3 DocumentStructureRetrieve response message which lists all 
+	 * the documents that start with the letter indicated by parameter classifier.
+	*/
+	public String browse(String collectionName, String classifierID);
+	
+	/* @returns the document identifiers returned for a search on the titles of 
+	 * documents that contain the given term in their title */
+	//public String queryTitle(String termInTitle) throws Exception;
+	
+	/**	@return a String representing Greenstone3 XML for a query process
+	 * response returning the results for the query denoted by parameter
+	 * nameValParamsMap.
+	 * @param nameValParamsMap is a Map of name and value pairs for all the
+	 * query field data values. The names match the field names that
+	 * describeCollectionService() would have returned for the query service. 
+	 * @param collection is the name of the collection 
+	 * @param service is the name of the query service
+	 * This method is only ever called when any of the services in the digital 
+	 * library described themselves as type=query. Therefore any digital
+	 * libraries that have no query services, can just return emtpy message 
+	 * strings (or even "") since this method will never be called on them 
+	 * anyway. */
+	public String query(String collection, String service, 
+			Map nameValParamsMap); 
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.java
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.java	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/GS3Fedora/org/greenstone/fedora/services/GSearchConnection.java	(revision 15317)
@@ -0,0 +1,513 @@
+/**
+ *#########################################################################
+ * GSearchConnection.java - works with the demo-client for Greenstone 3, 
+ * of the Greenstone digital library suite from the New Zealand Digital 
+ * Library Project at the  * University of Waikato, New Zealand.
+ * <BR><BR>
+ * Copyright (C) 2008 New Zealand Digital Library Project
+ * <BR><BR>
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * <BR><BR>
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *########################################################################
+ */
+
+package org.greenstone.fedora.services;
+
+import java.util.Vector;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.HashMap;
+
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.rpc.ServiceException;
+import java.net.MalformedURLException;
+
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.log4j.Logger;
+
+import javax.xml.parsers.ParserConfigurationException;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+
+/** 
+ * Class GSearchConnection connects to FedoraGSearch's web services.
+ * FedorGSearch offers indexing and full-text search functionality for 
+ * Fedora repositories. Its search web service (method gFindObjects)
+ * returns the response of a search as XML.
+ * GSearchConnection offers more convenient methods that extract just 
+ * the parts of search results that FedoraGS3Connection needs and returns
+ * that.
+ * @author ak19 
+*/
+public class GSearchConnection implements FedoraToGS3Interface.Constants {
+	/** Logger for this class. */
+	private static final Logger LOG = Logger.getLogger(
+			GSearchConnection.class.getName());
+	
+	/* Accessing the web services of Fedora Generic Search */
+	protected static String NAMESPACE_URI = "http://server.fedoragsearch.defxws.dk";
+	protected static String SERVICE_NAME = "OperationsService"; 
+	protected static final String INDEX_NAME = "FedoraIndex"; 
+
+	/** The names of the methods we use of Fedora Generic Search's web services
+	 * are declared here as static final Strings. */
+	protected static final String G_FIND_OBJECTS = "gfindObjects";
+	
+	/* Some fixed string literals that will be encountered in the response XMLs
+	 * that FedoraGSearch's method gFindObjects() returns. */
+	protected static final String PID = "PID";
+	protected static final String HIT_TOTAL = "hitTotal";
+	protected static final String OBJECT = "object";
+	protected static final String FIELD = "field";
+	protected static final String NAME = "name";
+	protected static final String DC_TITLE_FIELD = "dc.title";
+	protected static final String FULLTEXT_FIELD = "ds.fulltext";
+	
+	/** separator used internally to separate values of a search field */ 
+	protected static final String SPACE = " ";
+	
+	/** The Service object used to connect to the FedoraGSearch web services */
+	protected final Service service;
+	/** The Call object used to connect to the FedoraGSearch web services */
+	protected final Call call;
+	/** The portName object used when connecting to FedoraGSearch's web services */
+	protected final QName portName;
+	
+	/** A DocumentBuilder object used to construct and parse XML */
+	protected final DocumentBuilder builder;
+	
+	/** Constructor that takes a String representing the url of the WSDL
+	 * file for FedoraGSearch's web services, and tries to establish a 
+	 * connection to those web services. 
+	 * @param wsdlFileLocation is a String representing the url of the WSDL file
+	*/
+	public GSearchConnection(String wsdlFileLocation) 
+		throws MalformedURLException, ServiceException, 
+			ParserConfigurationException
+	{ 
+		URL wsdlURL = new URL(wsdlFileLocation);
+		service = new Service(wsdlURL, new QName(NAMESPACE_URI, SERVICE_NAME));
+		//call = (Call) service.createCall(new QName(NAMESPACE_URI, PORT_NAME));
+		
+		Iterator i = service.getPorts();
+		// FIXME: can we just assume it's the first port of service SERVICE_NAME?
+		// Do we need to work out which port to get??? Remember, the port names  
+		// vary between wsdls though!
+		if(i.hasNext()) {
+			portName = (QName)i.next();
+			call = (Call) service.createCall(portName);
+		
+			String endpointLocation = call.getTargetEndpointAddress();
+			LOG.debug("Wsdl file url: " + wsdlURL 
+					+ "\nEndpoint location is: " + endpointLocation);
+		} else { // should never happen: a service without a port
+			// portName = null;
+			call = (Call)service.createCall(); 
+				// FIXME: possibly manually get the ports and choose
+				// one containing "FEDORA" and "API-A" in its name?
+			throw new ServiceException(this.getClass() + ": No port in wsdl file");
+		}
+		
+		// we can set the portName which remains constant for the various methods
+		// call.setPortName(portName);
+		
+		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+		builder = factory.newDocumentBuilder(); // to create XML docs
+	}
+		
+	
+	/**
+	 * Method to invoke gfindObjects operation of Fedora Generic Search
+	 * web services.
+	 * 
+	 * Parameter types, parameter order and return type of gFindObjects are as  
+	 * obtained from the wsdl file for the Fedora Generic Search web services 
+	 * located at:
+	 * http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl
+	 *  &lt;wsdl:message name="gfindObjectsRequest"&gt;
+	 *  &lt;wsdl:part name="query" type="xsd:string"/&gt;
+	 *  &lt;wsdl:part name="sort" type="xsd:string"/&gt;
+	 *  &lt;wsdl:part name="hitPageStart" type="xsd:int"/&gt;
+	 *  &lt;wsdl:part name="hitPageSize" type="xsd:int"/&gt;
+	 *  &lt;wsdl:part name="snippetsMax" type="xsd:int"/&gt;
+	 *  &lt;wsdl:part name="fieldMaxLength" type="xsd:int"/&gt;
+	 *  &lt;wsdl:part name="indexName" type="xsd:string"/&gt;
+	 *  &lt;wsdl:part name="resultPageXslt" type="xsd:string"/&gt;
+	 *  &lt;/wsdl:message&gt;
+	 * 
+	 * &lt;wsdl:message name="gfindObjectsResponse"&gt;
+	 * &lt;wsdl:part name="gfindObjectsReturn" type="xsd:string"/&gt;
+	 * &lt;/wsdl:message&gt;
+	 * 
+	 * &lt;wsdl:operation name="gfindObjects" 
+	 * parameterOrder="query sort hitPageStart hitPageSize snippetsMax 
+	 * fieldMaxLength indexName resultPageXslt"&gt;
+	 *  
+	 * This method works: it searches the dc.title field of our FedoraIndex 
+	 * for the term (e.g. "interview") and the result returned is an XML String.
+	 *
+	 * There's no example on how to call gFindObjects with parameters. In 
+	 * particular, I don't know what values the parameter <b>sort</b> can take.
+	 * But topazproject has an example on how to call updateIndex(). 
+	 * @see <a href="http://www.topazproject.org/trac/wiki/FedoraSearch?format=txt">An example on how to call updateIndex() with parameters</a>
+	 * @see <a href="http://ws.apache.org/axis/java/apiDocs/org/apache/axis/client/Service.html">Axis Service class</a>
+	 * @see <a href="http://ws.apache.org/axis/java/apiDocs/javax/xml/rpc/Call.html">Axis RPC Call, for specification of interface Call</a>
+	 * @see <a href="http://ws.apache.org/axis/java/apiDocs/org/apache/axis/client/Call.html">Axis client Call class, for implementation of interface Call</a> 
+	*/
+	protected String gFindObjects(String searchFieldedTerms, String sort, 
+			int hitPageStart, int hitPageSize, int snippetsMax, 
+			int fieldMaxLength, String indexName, String resultPageXslt) throws Exception
+	{
+		// "Prefills as much info from the WSDL as it can. Right now it's SOAPAction, 
+		// operation qname, parameter types and return type of the Web Service. 
+		// This method considers that port name and target endpoint address have 
+		// already been set. This is useful when you want to use the same Call instance
+		// for several calls on the same Port. NOTE: Not part of JAX-RPC specification."
+		
+		//call.removeAllParameters(); // no need for this when using setOpName below
+		call.setOperationName(G_FIND_OBJECTS);
+		
+		String valueFound =(String)call.invoke( new Object[] {
+				searchFieldedTerms, sort, hitPageStart, hitPageSize, snippetsMax,
+				fieldMaxLength, indexName, resultPageXslt} );
+					
+		return valueFound;
+	}
+	
+	/**
+	 * Method that performs a search for the given searchTerm inside the given
+	 * indexed field.
+	 * @param searchFieldName is the name of the indexed field within which the
+	 * given searchTerm is to be searched for.
+	 * @param searchTerm is the term to be searched for.
+	 * @param hitPageStart is the page of search results to start returning.
+	 * @param hitPageSize is the number of search result pages to return, 
+	 * starting from hitPageStart.
+	 * @param snippetsMax is the maximum number of separate snippets containing  
+	 * the searchTerm that are to be returned. (snippetsMax or a fewer number of 
+	 * occurrences of the word in the text will be returned)
+	*/
+	public String search(String searchFieldName, String searchTerm, 
+			int hitPageStart, int hitPageSize, int snippetsMax) throws Exception
+	{
+		final String sort = ""; // returns results from highest to lowest rank
+		final int fieldMaxLength = 50; // maximum length in words of field values 
+				// returned. E.g. snippet sizes will be reduced to fieldMaxLength 
+				// words too. It doesn't matter what we set this too, the only
+				// element of the response XML we'll be using is the PID of the
+				// document in which the searchTerm occurred.
+		final String resultPageXslt = "";		
+		
+		// when a fieldname is given to search in (ds.fulltext, dc.title)
+		// then prepend that followed by a COLON to the searchTerm.
+		final String fullSearchTerm = searchFieldName.equals("") ?
+				searchTerm : (searchFieldName+":"+searchTerm); 
+		
+		return gFindObjects(fullSearchTerm, sort, 
+			hitPageStart, hitPageSize, snippetsMax, 
+			fieldMaxLength, INDEX_NAME, resultPageXslt);
+	}
+	
+	/** 
+	 * FedoraGSearch accepts a query of the form: 
+	 * <code>&lt;"cyclone val" "Gender Inequalities" ds.fulltext:"cyclone val"
+	 * ds.fulltext:"worst storm"&gt;</code>
+	 * where the first two phrases are searched for in all indexed fields,
+	 * (in this case dc.title and ds.fulltext), while the last two are 
+	 * searched for in the ds.fulltext field.
+	 * Another example: 
+	 * <code>&lt;gender dc.title:interview ds.fulltext:"cyclone val"&gt;
+	 * titles and fulltexts are searched for "gender", while title index
+	 * is searched for "interview" and fulltexts are searched for the phrase
+	 * "cyclone val"</code>
+	 * @param fieldsToSearchTerms is a Hashmap of searchfields and 
+	 * associated search terms (words or phrases). The terms are in a 
+	 * comma-separated list. fieldsToSearchTerms is a Hashmap of 
+	 * (Searchfields, associated-searchTerms) pairs. It can contain 3 
+	 * searchfields: allfields, titles, text. The value for each is a 
+	 * comma-separated list of search terms in that field.
+	 * Internally the field names get converted to what FedoraGSearch's
+	 * gfindObjects understands: titles becomes dc.title:, text becomes 
+	 * ds.fulltext and allfields becomes nothing.
+	 * @param hitPageStart is the page of search results to start returning.
+	 * @param hitPageSize is the number of search result pages to return, 
+	 * starting from hitPageStart.
+	 * @return the XML (in string format) returned from Fedora Generic Search's
+	 * gfindObjects method
+	 * 
+	*/
+	public String search(Map fieldsToSearchTerms,
+			int hitPageStart, int hitPageSize) 
+		throws Exception
+	{
+		LOG.debug("In FedoraGS3's GSearchConnection.search(Map,...)");
+		
+		// HashMap consists of several (key, value) entries, 3 of
+		// which will be dealt with here:
+		// - allfields, <comma separated list of search terms/phrases>
+		// - titles, <comma separated list of search terms/phrases>
+		// - (full)text, <comma separated list of search terms/phrases>
+		// We need to obtain each value and change the separator to space:
+		String allfields = (String)fieldsToSearchTerms.get(ALL_FIELDS);
+		String titles = (String)fieldsToSearchTerms.get(ALL_TITLES);
+		String fulltexts = (String)fieldsToSearchTerms.get(FULLTEXT);
+		
+		// Each field is a comma separated list of terms that may be 
+		// either a word OR a phrase.
+		// We're going to separate each term from the list,
+		// and put quotes around phrases, then combine all the terms
+		// together again with spaces to separate them.
+		allfields = formatSearchTermsInField(allfields, ALL_FIELDS); 
+			// ALL_FIELDS has no field name
+		titles = formatSearchTermsInField(titles, DC_TITLE_FIELD);
+		fulltexts = formatSearchTermsInField(fulltexts, FULLTEXT_FIELD);
+	
+		String fullSearchTerm = allfields + titles + fulltexts;
+		if(fullSearchTerm.trim().equals("")) { // nothing to search on
+			return "";
+		}
+		
+		// Finally, restrict the search to the Greenstone digital objects 
+		// stored in Fedora
+		final String greenstonePID 
+			= PID + FedoraGS3DL.COLON + FedoraGS3DL.GREENSTONE; 
+				//"PID:\"greenstone\""; 
+		fullSearchTerm += greenstonePID;
+			//! Everything after the colon in the pid is ignored by FedoraGSearch:
+				// "PID:\"greenstone:gs2mgdemo\""; // ignores "gs2mgdemo"
+		
+		// <snippet> tags interfere when PID field is searched on, set it to 0
+		return search(fullSearchTerm, hitPageStart, hitPageSize, 0);
+		// return search(fullSearchTerm, hitPageStart, hitPageSize, snippetsMax);
+	}
+	
+	/** Each field is a comma separated list of terms that may be either a word  
+	 * OR a phrase. We're going to separate each term from the list, and put 
+	 * quotes around phrases, then combine all the terms together again with 
+	 * spaces to separate them. Examples: 
+	 * <pre>dc.title:"a phrase" word
+	 * dc.fulltext: "cyclone val"
+	 * (ALL_FIELDS) interview gender</pre>
+	 * This is required to facilitate fielded searching with fedoraGSearch.
+	 * @param field is a comma separated list of search terms (corresponding 
+	 * to one fieldName) to be reorganised
+	 * @param fieldName is the name of the field to prepend to the reorganised
+	 * field value. FieldName ALL_FIELDS is ignored.
+	 * @return parameter field reorganised such that terms that are phrases 
+	 * are in quotes and each term is separated by a space from the previous one.
+	*/
+	protected String formatSearchTermsInField(String field, String fieldName) 
+	{	
+		if(field != null) { // check that the field isn't empty
+			//LOG.debug("field: " + field);
+			String[] terms = field.split(",");
+			field = ""; // we'll build it up again
+			for(int i = 0; i < terms.length; i++) {
+				// if it contains a space, then the term's a phrase,
+				// put it in quotes
+				if(terms[i].indexOf(SPACE) != -1) { 
+					terms[i] = "\"" + terms[i] + "\"";
+				}
+				field = field + terms[i] + SPACE;
+			}
+			
+			// Prefix it with the name of the field we want to search for 
+			// the term in. Every field other than allfields has a prefix
+			if(!fieldName.equals(ALL_FIELDS)) { 
+				field = fieldName + ":" + field;
+			}
+			
+		} else field = "";
+		return field;
+	}
+	
+	/** 
+	 * Uses FedoraGSearch to perform a search where the query is embedded in
+	 * fieldedSearchTerms, which not only provides the terms to search on, but
+	 * also the fields to search the (various) given terms in.
+	 * @param fieldedSearchTerms is the String specifying all the search terms
+	 * with their fields (or no field if it should search for the terms in 
+	 * all fields). The terms with no associated search-fields should come first.
+	 * Search terms may be in quotes.
+	 * @param snippetsMax is the maximum number of separate snippets containing  
+	 * the searchTerm (snippetsMax number of occurrences of the word in the text) 
+	 * returned.
+	 * @param hitPageStart is the page of search results to start returning.
+	 * @param hitPageSize is the number of search result pages to return, 
+	 * starting from hitPageStart.
+	 * @return the XML (in string format) returned from Fedora Generic Search's
+	 * gfindObjects method
+	*/
+	public String search(String fieldedSearchTerms,
+			int hitPageStart, int hitPageSize, int snippetsMax) throws Exception
+	{
+		LOG.debug("In method search(String fieldedSearchTerms,...). "
+				+ "Query is:\n" + fieldedSearchTerms);
+		
+		final String sort = ""; // returns results from highest to lowest rank
+		final int fieldMaxLength = 50; // maximum length in words of field values 
+				// returned. E.g. snippet sizes will be reduced to fieldMaxLength 
+				// words too
+		final String resultPageXslt = "";		
+		return gFindObjects(fieldedSearchTerms, sort, 
+				hitPageStart, hitPageSize, snippetsMax, 
+				fieldMaxLength, INDEX_NAME, resultPageXslt);
+	}
+	
+	/** Call this method with the return value of calling search(). 
+	 * Search results are returned in GSearch's XML response format, 
+	 * containing information that includes the PIDs of the documents that 
+	 * matched the search. These PIDs are returned in the array. 
+	 * @param collectionName is the name of the collection to restrict the 
+	 * search results by. If it's "", then results from all collections are
+	 * returned. Generally, don't want to pass "", because, theoretically, 
+	 * all indexed collections in the repository could be considered and 
+	 * not all of them may be Greenstone collections. If all Greenstone 
+	 * collections should be searched for, pass "greenstone" as the 
+	 * collection name instead.
+	 * @param searchResult is the Fedora Generic Search XML response returned 
+	 * from performing a gfindObjects() operations. 
+	 * @return an array of the pids of documents found for the search. */
+	public String[] getPIDsFromSearchResult(String collectionName,
+			String searchResult) 
+		throws Exception 
+	{
+		final String[] empty = {};
+		if(searchResult.equals("")) {
+			return empty;
+		}
+		
+		//	<?xml version="1.0" encoding="UTF-8"?>
+		//	<resultPage xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:zs="http://www.loc.gov/zing/srw/" indexName="FedoraIndex" dateTime="Sat Feb 09 16:43:04 NZDT 2008">
+		//	<gfindObjects hitTotal="1" resultPageXslt="" hitPageSize="10" hitPageStart="1" query="ds.fulltext:Cyclone">
+		//	<objects>
+		//	<object no="1" score="0.24639596">
+		//	<field name="PID">greenstone:gs2mgdemo-HASH01d667303fe98545f03c14ae</field>
+		//	<field name="repositoryName">Fedora</field>
+		//	<field name="object.type">FedoraObject</field>
+		//	<field name="object.state">Active</field>
+		//	<field name="object.label">The Courier - NÂ°159 - Sept- Oct 1996 Dossier Inves ... </field>
+		//	<field name="object.createdDate">2007-11-23T04:23:15.363Z</field>
+		//	<field name="object.lastModifiedDate">2008-01-15T04:37:49.518Z</field>
+		//	<field name="dc.title">some title</field>
+		//	<field name="dc.title">some title2</field>
+		//	...
+		//	<field name="ds.fulltext" snippet="yes">(The 1993 <span class="highlight">cyclone</span>, although</field>
+		//	<field name="ds.label">Metadata</field>
+		//	...
+		//	</object>
+		//	</objects>
+		//	</gfindObjects>
+		// 1. Get documentElement, which is <resultPage>
+		Element resultPage = FedoraCommons.getResponseAsDOM(builder, searchResult);
+		// 2. find the hitTotal value which is the number of results 
+		// it's an attribute of the sole compulsory <gFindObjects> element
+		int hitTotal = 0;
+		Element gfindObjectsEl
+			= (Element)resultPage.getElementsByTagName(G_FIND_OBJECTS).item(0);
+		String value = gfindObjectsEl.getAttribute(HIT_TOTAL);
+		hitTotal = Integer.parseInt(value);
+		if(hitTotal == 0) {
+			return new String[]{};
+		}
+		
+		// Our resulting list of pids will be no more than hitTotal,
+		// but may be fewer if we constrain the results to a collection
+		Vector pidsInCollection = new Vector(hitTotal);
+		
+		// Returns a NodeList of all descendant Elements with object tagname
+		NodeList objects = gfindObjectsEl.getElementsByTagName(OBJECT);
+		for(int i = 0; i < objects.getLength(); i++) {
+			// should be the case that pids.length == (digital)objects.getLength()
+			// get the PID of each object
+			Element object = (Element)objects.item(i);
+			NodeList fields = object.getElementsByTagName(FIELD);
+			
+			for(int j = 0; j < fields.getLength(); j++) { 
+				// find the sole <field> of <object> where NAME attribute == PID
+				Element field = (Element)fields.item(j);
+				if(field.getAttribute(NAME).equals(PID)) {
+					String pid = FedoraCommons.getValue(field);
+					// Either store only the pids which are part of the collection,
+					// or, if no collection is specified (=""),then store the pid too
+					if(collectionName.equals("") || pid.contains(collectionName)) {
+						pidsInCollection.add(pid);
+					}
+					break; // found pid field, meaning that we have
+						// finished for loop on <field>s of this <object>, 
+						// consider next <object>
+				}
+			}
+		}
+		String[] pids = new String[pidsInCollection.size()];
+		pidsInCollection.toArray(pids);
+		return pids;
+	}
+	
+	public static void main(String[] args) {
+		try { 
+			GSearchConnection searcher = new GSearchConnection(
+				"http://localhost:8080/fedoragsearch/services/FgsOperations?wsdl");
+			
+			
+			HashMap map = new HashMap();
+			map.put(GSearchConnection.ALL_FIELDS, "gender inequalities");
+			map.put(GSearchConnection.FULLTEXT, "cyclone val,worst storm");
+			//map.put(GSearchConnection.ALL_FIELDS, "\"gender inequalities\"");
+			//map.put(GSearchConnection.FULLTEXT, "\"cyclone val\",\"worst storm\"");
+			String searchResult = searcher.search(map, 1, 10); //snippetsMax: 3);
+			System.out.println(searchResult);
+			
+			String[] pids = searcher.getPIDsFromSearchResult("gs2mgdemo", searchResult);
+			System.err.println("Found pids for search:\n"); 
+			for(int i = 0; i < pids.length; i++) {
+				System.out.println(pids[i]);
+			}
+			
+			//searchResult = searcher.search("", "minh", 0, 50, 50);
+			//System.err.println(searchResult);
+			
+			//String searchTerms = "cyclone dc.title:interview dc.title:gender";
+			String searchTerms="\"gender inequalities\" ds.fulltext:\"cyclone val\" ds.fulltext:\"worst storm\"";
+			searchResult = searcher.search(searchTerms, 1, 10, 3);
+			System.out.println(searchResult);
+			
+			// Not restricting results to any collection (search results from 
+			// all collections)
+			pids = searcher.getPIDsFromSearchResult("", searchResult);
+			System.err.println("Found pids for search: "); 
+			for(int i = 0; i < pids.length; i++) {
+				System.out.println(pids[i]);
+			} 
+			
+			searchResult = searcher.search("ds.fulltext", "cyclone", 1, 10, 3);
+			//String searchResult = searcher.search("ds.label", "hierarchical", 1, 10, 3);
+			// System.out.println(searcher.search("ds.fulltext", "Pinky", 1, 10, 3));
+			System.out.println(searchResult);
+			
+			pids = null;
+			pids = searcher.getPIDsFromSearchResult("", searchResult);
+			System.err.println("Found pids for search: "); 
+			for(int i = 0; i < pids.length; i++) {
+				System.out.println(pids[i]);
+			}
+			
+		}catch(Exception e) {
+			System.err.println(e.getMessage());
+		}
+		
+	}
+
+}
Index: /other-projects/trunk/gs3-webservices-democlient/src/log4j.properties
===================================================================
--- /other-projects/trunk/gs3-webservices-democlient/src/log4j.properties	(revision 15317)
+++ /other-projects/trunk/gs3-webservices-democlient/src/log4j.properties	(revision 15317)
@@ -0,0 +1,61 @@
+## gs3-webservices-demo-client home 
+democlient.home=.
+
+##Configure log4j's operation at the meta level                              
+##Observe log4j parsing this file
+#log4j.debug=true
+##Set this to false for log4j to actually obey the log4j.disable property(next)
+#log4j.disableOverride=false
+##Disable all logging in all categories for messages with priority equal to
+##or lower than the one given here
+#log4j.disable=DEBUG
+
+#####configure the loggers####
+##general logger                                                   
+log4j.rootCategory=INFO, infolog
+
+### Print only messages of level INFO or above in the package
+### org.greenstone.gs3client
+log4j.category.org.greenstone.gs3client=INFO, clientlog
+log4j.additivity.org.greenstone.gs3client=false
+
+### Print all messages of level DEBUG or above in the package 
+### org.greenstone.fedora
+log4j.category.org.greenstone.fedora=DEBUG, clientlog
+log4j.additivity.org.greenstone.fedora=false
+
+###server logger - problem, the name can be: QBRSOAPServer-sitename,
+###where sitename need not always be localsite...
+###log4j.category.org.greenstone.gs3services.QBRSOAPServer=DEBUG, webserviceslog
+###log4j.additivity.org.greenstone.gs3services.QBRSOAPServer=false
+
+#####configure appenders and their oprions####                                  
+##general logger
+log4j.appender.infolog=org.apache.log4j.RollingFileAppender
+log4j.appender.infolog.File=${democlient.home}/logs/info.log
+#Control the maximum log file size
+log4j.appender.infolog.MaxFileSize=100KB
+#Keep backup file(s) (backups will be in filename.1, .2, .3 etc.)
+log4j.appender.infolog.MaxBackupIndex=3
+
+##client logger
+log4j.appender.clientlog=org.apache.log4j.RollingFileAppender
+log4j.appender.clientlog.File=${democlient.home}/logs/client.log
+#Control the maximum log file size
+log4j.appender.clientlog.MaxFileSize=200KB
+
+##web services logger
+###log4j.appender.webserviceslog=org.apache.log4j.RollingFileAppender
+###log4j.appender.webserviceslog.File=${democlient.home}/logs/webservices.log
+
+
+#####Configure appender layouts and their options#### 
+## general logger layout
+log4j.appender.infolog.layout=org.apache.log4j.PatternLayout
+log4j.appender.infolog.layout.ConversionPattern=%-5p: [%d{yyyy-MM-dd hh:mm:ss}] %C{1}.%M()%n %m%n
+
+log4j.appender.clientlog.layout=org.apache.log4j.PatternLayout
+log4j.appender.clientlog.layout.ConversionPattern=%-5p: [%d{yyyy-MM-dd hh:mm:ss}] %C{1}.%M()%n %m%n
+
+###log4j.appender.webserviceslog.layout=org.apache.log4j.PatternLayout
+###log4j.appender.webserviceslog.layout.ConversionPattern=%-5p: [%d{yyyy-MM-dd hh:mm:ss}] %C{1}.%M()%n %m%n
