[Mulgara-svn] r679 - in branches/mgr-73: . jxdata/iTQL jxdata/iTQL/backup_restore jxdata/iTQL/create_drop jxdata/iTQL/data_types jxdata/iTQL/data_types/binary/base64Binary jxdata/iTQL/data_types/binary/hexBinary jxdata/iTQL/data_types/boolean jxdata/iTQL/data_types/gDates jxdata/iTQL/filesystem jxdata/iTQL/fulltext_queries jxdata/iTQL/insert jxdata/iTQL/node_types jxdata/iTQL/prefix jxdata/iTQL/rdfs/rdfs-container-membership-superProperty jxdata/iTQL/rdfs/rdfs-domain-and-range jxdata/iTQL/rdfs/rdfs-no-cycles-in-subClassOf jxdata/iTQL/rdfs/rdfs-no-cycles-in-subPropertyOf jxdata/iTQL/rdfs/rdfs-subPropertyOf-semantics jxdata/iTQL/rdfs/statement-entailment jxdata/iTQL/transactions lib src/jar/ant-task/java/org/mulgara/ant/task/rdf src/jar/config src/jar/content-n3/java/org/mulgara/content/n3 src/jar/itql src/jar/itql/java/org/mulgara/itql src/jar/query/java/org/mulgara/connection src/jar/query/java/org/mulgara/query src/jar/query/java/org/mulgara/query/operation src/jar/rdql src/jar/resolver/java/org/mulgara/resolver src/jar/resolver-distributed/java/org/mulgara/resolver/distributed src/jar/server-http src/jar/store-stringpool-xa/java/org/mulgara/store/stringpool/xa src/jar/util-xa/java/org/mulgara/store/xa src/war/web-services/WEB-INF

andrae at mulgara.org andrae at mulgara.org
Mon Mar 17 04:18:26 UTC 2008


Author: andrae
Date: 2008-03-16 21:18:25 -0700 (Sun, 16 Mar 2008)
New Revision: 679

Added:
   branches/mgr-73/lib/axis-1.4.jar
   branches/mgr-73/lib/axis-ant-1.4.jar
   branches/mgr-73/lib/jaxrpc-1.4.jar
   branches/mgr-73/lib/log4j-1.2.15.jar
   branches/mgr-73/lib/saaj-1.4.jar
   branches/mgr-73/lib/wsdl4j-1.5.1.jar
   branches/mgr-73/src/jar/query/java/org/mulgara/connection/CommandExecutor.java
Removed:
   branches/mgr-73/jxdata/iTQL/exclude_queries/
   branches/mgr-73/lib/axis-1.1.jar
   branches/mgr-73/lib/axis-ant-1.1.jar
   branches/mgr-73/lib/jaxrpc-1.1.jar
   branches/mgr-73/lib/log4j-1.2.8.jar
   branches/mgr-73/lib/saaj-1.1.jar
   branches/mgr-73/lib/wsdl4j-1.4.jar
Modified:
   branches/mgr-73/.classpath
   branches/mgr-73/LEGAL.txt
   branches/mgr-73/build.properties
   branches/mgr-73/build.xml
   branches/mgr-73/common.xml
   branches/mgr-73/jxdata/iTQL/backup_restore/backup1Result3.txt
   branches/mgr-73/jxdata/iTQL/backup_restore/result3.txt
   branches/mgr-73/jxdata/iTQL/create_drop/queryResult3.txt
   branches/mgr-73/jxdata/iTQL/create_drop/queryResult5.txt
   branches/mgr-73/jxdata/iTQL/data_types/binary/base64Binary/result1.txt
   branches/mgr-73/jxdata/iTQL/data_types/binary/hexBinary/result1.txt
   branches/mgr-73/jxdata/iTQL/data_types/boolean/result1.txt
   branches/mgr-73/jxdata/iTQL/data_types/gDates/result1.txt
   branches/mgr-73/jxdata/iTQL/data_types/queryResult37.txt
   branches/mgr-73/jxdata/iTQL/data_types/result1.txt
   branches/mgr-73/jxdata/iTQL/filesystem/queryResult10.txt
   branches/mgr-73/jxdata/iTQL/filesystem/queryResult11.txt
   branches/mgr-73/jxdata/iTQL/filesystem/queryResult12.txt
   branches/mgr-73/jxdata/iTQL/filesystem/queryResult8.txt
   branches/mgr-73/jxdata/iTQL/filesystem/queryResult9.txt
   branches/mgr-73/jxdata/iTQL/filesystem/result1.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/drop1.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/queryResult8.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/result2.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/result3.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/result5.txt
   branches/mgr-73/jxdata/iTQL/fulltext_queries/result7.txt
   branches/mgr-73/jxdata/iTQL/insert/queryResult1.txt
   branches/mgr-73/jxdata/iTQL/node_types/result1.txt
   branches/mgr-73/jxdata/iTQL/prefix/result1.txt
   branches/mgr-73/jxdata/iTQL/rdfs/rdfs-container-membership-superProperty/configResult.txt
   branches/mgr-73/jxdata/iTQL/rdfs/rdfs-domain-and-range/configResult.txt
   branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subClassOf/configResult.txt
   branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subPropertyOf/configResult.txt
   branches/mgr-73/jxdata/iTQL/rdfs/rdfs-subPropertyOf-semantics/configResult.txt
   branches/mgr-73/jxdata/iTQL/rdfs/statement-entailment/configResult.txt
   branches/mgr-73/jxdata/iTQL/transactions/queryResult6.txt
   branches/mgr-73/jxdata/iTQL/transactions/queryResult7.txt
   branches/mgr-73/jxdata/iTQL/transactions/queryResult8.txt
   branches/mgr-73/jxdata/iTQL/transactions/queryResult9.txt
   branches/mgr-73/lib/antlr.jar
   branches/mgr-73/src/jar/ant-task/java/org/mulgara/ant/task/rdf/RDFLoad.java
   branches/mgr-73/src/jar/config/build.xml
   branches/mgr-73/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java
   branches/mgr-73/src/jar/itql/build.xml
   branches/mgr-73/src/jar/itql/java/org/mulgara/itql/Collaborator.java
   branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBean.java
   branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBeanUnitTest.java
   branches/mgr-73/src/jar/query/java/org/mulgara/connection/Connection.java
   branches/mgr-73/src/jar/query/java/org/mulgara/connection/DummyConnection.java
   branches/mgr-73/src/jar/query/java/org/mulgara/connection/SessionConnection.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/ModelResource.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/AddAlias.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Backup.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Command.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/CreateGraph.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Deletion.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/DropGraph.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Help.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Insertion.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Load.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/LocalCommand.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/NullOp.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Quit.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Restore.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetTime.java
   branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetUser.java
   branches/mgr-73/src/jar/rdql/build.xml
   branches/mgr-73/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/ForeignBlankNode.java
   branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java
   branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java
   branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java
   branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
   branches/mgr-73/src/jar/server-http/build.xml
   branches/mgr-73/src/jar/store-stringpool-xa/java/org/mulgara/store/stringpool/xa/XAStringPoolImpl.java
   branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
   branches/mgr-73/src/war/web-services/WEB-INF/server-config.wsdd
   branches/mgr-73/webdocs.xml
Log:
refs #73
refs #85

svn merge -r 627:675 ../../trunk/ .

This brings mgr-73 in sync with trunk just prior to the large log4j commit by
ronald.

conflicts fixed: build.xml, common.xml - everything else merged cleanly.



Modified: branches/mgr-73/.classpath
===================================================================
--- branches/mgr-73/.classpath	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/.classpath	2008-03-17 04:18:25 UTC (rev 679)
@@ -67,18 +67,18 @@
 	<classpathentry kind="lib" path="lib/xmlc-taskdef-2.2.jar"/>
 	<classpathentry kind="lib" path="lib/xmlc-all-runtime-2.2.jar"/>
 	<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
-	<classpathentry kind="lib" path="lib/wsdl4j-1.4.jar"/>
+	<classpathentry kind="lib" path="lib/wsdl4j-1.5.1.jar"/>
 	<classpathentry kind="lib" path="lib/trove-1.0.2.jar"/>
 	<classpathentry kind="lib" path="lib/sofa-1.0-alpha.jar"/>
 	<classpathentry kind="lib" path="lib/sablecc-2.18.2.jar"/>
-	<classpathentry kind="lib" path="lib/saaj-1.1.jar"/>
+	<classpathentry kind="lib" path="lib/saaj-1.4.jar"/>
 	<classpathentry kind="lib" path="lib/Quick4util.jar"/>
 	<classpathentry kind="lib" path="lib/Quick4rt.jar"/>
 	<classpathentry kind="lib" path="lib/plankton-1.2.6.jar"/>
 	<classpathentry kind="lib" path="lib/org.mortbay.jetty-4.2.19.jar"/>
 	<classpathentry kind="lib" path="lib/org.mortbay.jetty.plus-4.2.19.jar"/>
 	<classpathentry kind="lib" path="lib/mail-1.3.jar"/>
-	<classpathentry kind="lib" path="lib/log4j-1.2.8.jar"/>
+	<classpathentry kind="lib" path="lib/log4j-1.2.15.jar"/>
 	<classpathentry kind="lib" path="lib/jxunit3.jar"/>
 	<classpathentry kind="lib" path="lib/junit-3.8.1.jar"/>
 	<classpathentry kind="lib" path="lib/jtidy-r7-xmlc-2.2.jar"/>
@@ -93,7 +93,7 @@
 	<classpathentry kind="lib" path="lib/jl1.0.jar"/>
 	<classpathentry kind="lib" path="lib/jid3-0.34.jar"/>
 	<classpathentry kind="lib" path="lib/jboss-j2ee.jar"/>
-	<classpathentry kind="lib" path="lib/jaxrpc-1.1.jar"/>
+	<classpathentry kind="lib" path="lib/jaxrpc-1.4.jar"/>
 	<classpathentry kind="lib" path="lib/javax.servlet-2.3.jar"/>
 	<classpathentry kind="lib" path="lib/javacc.jar"/>
 	<classpathentry kind="lib" path="lib/jasper-runtime-4.2.29.jar"/>
@@ -113,8 +113,8 @@
 	<classpathentry kind="lib" path="lib/beepcore-0.9.08.jar"/>
 	<classpathentry kind="lib" path="lib/barracuda-ant-1.2.6.jar"/>
 	<classpathentry kind="lib" path="lib/barracuda-1.2.6.jar"/>
-	<classpathentry kind="lib" path="lib/axis-ant-1.1.jar"/>
-	<classpathentry kind="lib" path="lib/axis-1.1.jar"/>
+	<classpathentry kind="lib" path="lib/axis-ant-1.4.jar"/>
+	<classpathentry kind="lib" path="lib/axis-1.4.jar"/>
 	<classpathentry kind="lib" path="lib/aspectjrt-1.2.jar"/>
 	<classpathentry kind="lib" path="lib/apache-soap-2.2.jar"/>
 	<classpathentry kind="lib" path="lib/antlr.jar"/>

Modified: branches/mgr-73/LEGAL.txt
===================================================================
--- branches/mgr-73/LEGAL.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/LEGAL.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -59,10 +59,10 @@
               http://www.eclipse.org/legal/cpl-v10.html
 
     AXIS
-    JARs:     axis-1.1.jar
-              axis-ant-1.1.jar
-              saaj-1.1
-              jaxrpc-1.1.jar
+    JARs:     axis-1.4.jar
+              axis-ant-1.4.jar
+              saaj-1.4
+              jaxrpc-1.4.jar
     URL:      http://ws.apache.org/axis/index.html
     LICENSE:  Apache Software License, v2.0
               http://www.apache.org/licenses/LICENSE-2.0
@@ -253,7 +253,7 @@
               http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jtidy/jtidy/LICENSE.
     
     Log4J
-    JARs:     log4j-1.2.8.jar
+    JARs:     log4j-1.2.15.jar
     URL:      http://jakarta.apache.org
     LICENSE:  Apache Software License, v2.0
               http://www.apache.org/licenses/LICENSE-2.0
@@ -289,7 +289,7 @@
               http://www.opensource.org/licenses/lgpl-license.php
     
     WSDL4J
-    JARs:     wsdl4j-1.4.jar
+    JARs:     wsdl4j-1.5.1.jar
     URL:      http://sourceforge.net/projects/wsdl4j
     LICENSE:  Common Public License
               http://oss.software.ibm.com/developerworks/opensource/CPLv1.0.htm

Modified: branches/mgr-73/build.properties
===================================================================
--- branches/mgr-73/build.properties	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/build.properties	2008-03-17 04:18:25 UTC (rev 679)
@@ -97,7 +97,7 @@
 antlr.jar                =antlr.jar
 apache.soap.jar          =apache-soap-2.2.jar
 aspectjrt.jar            =aspectjrt-1.2.jar
-axis.jar                 =axis-1.1.jar
+axis.jar                 =axis-1.4.jar
 barracuda.jar            =barracuda-1.2.6.jar
 beep.jar                 =beepcore-0.9.08.jar
 bsh.jar                  =bsh-2.0b1.jar
@@ -115,7 +115,7 @@
 jargs.jar                =jargs-0.2.jar
 jasper.compiler.jar      =jasper-compiler-4.2.29.jar
 jasper.runtime.jar       =jasper-runtime-4.2.29.jar
-jaxrpc.jar               =jaxrpc-1.1.jar
+jaxrpc.jar               =jaxrpc-1.4.jar
 jakarta-oro.jar          =jakarta-oro-2.0.5.jar
 jca.jar                  =connector-1_5.jar
 jena.jar                 =jena-2.1.jar
@@ -134,17 +134,17 @@
 jotm.jar                 =jotm-2.0.10.jar
 howl.jar                 =howl-logger-0.1.11.jar
 l2fprod-common-sheet.jar =l2fprod-common-sheet.jar
-log4j.jar                =log4j-1.2.8.jar
+log4j.jar                =log4j-1.2.15.jar
 lucene.jar               =lucene-2.0.0.jar
 mail.jar                 =mail-1.3.jar
-saaj.jar                 =saaj-1.1.jar
+saaj.jar                 =saaj-1.4.jar
 servlet.jar              =javax.servlet-2.3.jar
 simple-jndi.jar          =simple-jndi-0.9.jar
 sofa-doc.jar             =sofa-doc.jar
 sofa.jar                 =sofa-1.0-alpha.jar
 swoop.jar                =swoop-modified-${tks-version}.jar
 trove.jar                =trove-1.0.2.jar
-wsdl4j.jar               =wsdl4j-1.4.jar
+wsdl4j.jar               =wsdl4j-1.5.1.jar
 xerces.jar               =xercesImpl.jar
 xmlParserAPIs.jar        =xmlParserAPIs.jar
 xom.jar                  =xom-1.0d21.jar

Modified: branches/mgr-73/build.xml
===================================================================
--- branches/mgr-73/build.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/build.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -175,7 +175,7 @@
        <pathelement path="${dist.dir}/${driver.jar}"/>
        <pathelement path="${dist.dir}/${ant-task.jar}"/>
        <pathelement path="${lib.dir}/apache-soap-2.2.jar"/>
-       <pathelement path="${lib.dir}/log4j-1.2.8.jar"/>
+       <pathelement path="${lib.dir}/log4j-1.2.15.jar"/>
      </classpath>
     </taskdef>
 
@@ -193,7 +193,7 @@
        <pathelement path="${dist.dir}/${driver.jar}"/>
        <pathelement path="${dist.dir}/${ant-task.jar}"/>
        <pathelement path="${lib.dir}/apache-soap-2.2.jar"/>
-       <pathelement path="${lib.dir}/log4j-1.2.8.jar"/>
+       <pathelement path="${lib.dir}/log4j-1.2.15.jar"/>
      </classpath>
     </taskdef>
 
@@ -217,6 +217,8 @@
     <delete dir="${javadoc.dir}"/>
     <delete dir="${jxtest.dir}"/>
     <delete dir="${src.docs.dir}"/>
+    <delete dir="${basedir}/testDatabase"/>
+    <delete dir="${basedir}/sqltest"/>
     <delete>
       <fileset dir="${basedir}" includes="*.log*"/>
     </delete>
@@ -489,7 +491,7 @@
           lib/${resolver-distributed.jar},
           lib/${resolver-jar.jar}, lib/${dtd.jar}, lib/${jrdf.base.jar}
           lib/activation-1.0.2.jar, lib/icu4j.jar, lib/jena-2.1.jar, lib/antlr.jar,
-          lib/${date-utils.jar}, lib/${commons-logging.jar}, lib/beepcore-0.9.08.jar, lib/log4j-1.2.8.jar, lib/${lucene.jar}, lib/mail-1.3.jar,
+          lib/${date-utils.jar}, lib/${commons-logging.jar}, lib/beepcore-0.9.08.jar, lib/log4j-1.2.15.jar, lib/${lucene.jar}, lib/mail-1.3.jar,
           lib/${jetty.jar}, lib/${jetty.plus.jar}, lib/${jasper.compiler.jar}, lib/${servlet.jar}, lib/jargs-0.2.jar,
           lib/castor-0.9.3.9-xml.jar, lib/trove-1.0.2.jar, lib/${jrdf.jar}, lib/${saaj.jar},
           lib/${jakarta-oro.jar}, lib/jta-spec1_0_1.jar, lib/${jotm.jar}, lib/${jotm.jrmp.jar}, lib/${carol.jar}, lib/${howl.jar},
@@ -1677,28 +1679,9 @@
        <param name="output.dir" expression="${test.dir}"/>
     </xslt>
 
-    <script language="javascript">
-      <![CDATA[
-      try {
-        // read the first line of the version file
-        var summaryFile = project.getProperty("test.dir") + "/junit-summary.txt";
-        var bufferedReader =
-               new java.io.BufferedReader(new java.io.FileReader(summaryFile));
-
-        var line = bufferedReader.readLine();
-        while ( line != null ) {
-           java.lang.System.out.println( line );
-           line = bufferedReader.readLine();
-        }
-        bufferedReader.close();
-
-      } catch (ex) {
-        java.lang.System.out.println("Unable to JUnit summary file "+ ex.getMessage());
-      }
-
-      ]]>
-    </script>
-
+    <concat>
+      <fileset file="${test.dir}/junit-summary.txt"/>
+    </concat>
   </target>
 
   <!-- =================================================================== -->
@@ -1909,7 +1892,7 @@
 lib/${store-stringpool-memory.jar}, lib/${store-stringpool-xa.jar}, lib/${tuples.jar},lib/${tuples-hybrid.jar},
 lib/${util.jar}, lib/${util-xa.jar}, lib/activation-1.0.2.jar,lib/icu4j.jar, lib/jena-2.1.jar, lib/${jid3.jar},
 lib/antlr.jar, lib/${date-utils.jar}, lib/${commons-logging.jar}, lib/beepcore-0.9.08.jar,lib/connector-1_5.jar,
-lib/${jotm.jar}, lib/${jotm_jrmp_stubs.jar}, lib/${carol.jar}, lib/${howl.jar}, lib/jta-spec1_0_1.jar, lib/log4j-1.2.15.jar, lib/${lucene.jar},
+lib/${jotm.jar}, lib/${jotm_carol.jar}, lib/${jotm_iiop_stubs.jar},lib/jta-spec1_0_1.jar, lib/log4j-1.2.15.jar, lib/${lucene.jar},
 lib/mail-1.3.jar, lib/${jetty.jar},lib/${jetty.plus.jar}, lib/${jasper.runtime.jar}, lib/${jasper.compiler.jar},
 lib/${servlet.jar},lib/jargs-0.2.jar, lib/castor-0.9.3.9-xml.jar, lib/xercesImpl.jar, lib/xmlParserAPIs.jar,
 lib/trove-1.0.2.jar,lib/${jrdf.jar}, lib/${sofa.jar}, lib/${rules.jar}, lib/${krule.jar}, lib/${saaj.jar}, lib/${axis.jar}, lib/${commons-discovery.jar},
@@ -1927,6 +1910,15 @@
           depends="dist, client-test, session-test, resolver-api-test, store-xa-test,
                    utils-test, jxtest, store-stringpool-xa-loadtest, publish-summary"
           description="Runs all tests (updates source first)">
+
+    <loadfile property="test.status.success" srcfile="${test.dir}/junit-summary.txt">
+      <filterchain>
+        <linecontainsregexp>
+          <regexp pattern="Success rate *100\.?0?0?%"/>
+        </linecontainsregexp>
+      </filterchain>
+    </loadfile>
+    <fail unless="test.status.success"/>
   </target>
 
   <target name="client-test"

Modified: branches/mgr-73/common.xml
===================================================================
--- branches/mgr-73/common.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/common.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -61,14 +61,14 @@
 
       <classpath>
 
-        <fileset dir="${lib.dir}" includes="**/axis-1.1.jar"/>
-        <fileset dir="${lib.dir}" includes="**/axis-ant-1.1.jar"/>
-        <fileset dir="${lib.dir}" includes="**/wsdl4j-1.4.jar"/>
-        <fileset dir="${lib.dir}" includes="**/log4j-1.2.8.jar"/>
+        <fileset dir="${lib.dir}" includes="**/axis-1.4.jar"/>
+        <fileset dir="${lib.dir}" includes="**/axis-ant-1.4.jar"/>
+        <fileset dir="${lib.dir}" includes="**/wsdl4j-1.5.1.jar"/>
+        <fileset dir="${lib.dir}" includes="**/log4j-1.2.15.jar"/>
         <fileset dir="${lib.dir}" includes="**/commons-logging-1.0.3.jar"/>
         <fileset dir="${lib.dir}" includes="**/commons-discovery-1.2.jar"/>
-        <fileset dir="${lib.dir}" includes="**/jaxrpc-1.1.jar"/>
-        <fileset dir="${lib.dir}" includes="**/saaj-1.1.jar"/>
+        <fileset dir="${lib.dir}" includes="**/jaxrpc-1.4.jar"/>
+        <fileset dir="${lib.dir}" includes="**/saaj-1.4.jar"/>
       </classpath>
     </taskdef>
   </target>
@@ -149,10 +149,10 @@
                        mail-*.jar, activation-*.jar, apache-soap-*.jar,
                        axis-*.jar, saaj-*.jar, emory-*.jar, trove-*.jar,
                        jargs-*.jar, org.mortbay.jetty*.jar, jta-spec*.jar,
-                       jotm*.jar, carol*.jar, howl*.jar, commons-logging-*.jar,
-                       Quick4rt.jar, commons-discovery-*.jar,
-                       commons-httpclient-*.jar, commons-codec-*.jar,
-                       connector-*.jar, jaxrpc-*.jar, ${date-utils.jar}"
+                       jotm*.jar, commons-logging-*.jar, Quick4rt.jar,
+                       commons-discovery-*.jar, commons-httpclient-*.jar,
+                       commons-codec-*.jar, connector-*.jar, jaxrpc-*.jar,
+                       ${date-utils.jar}"
              excludes="jboss-j2ee.jar"/>
   </path>
 
@@ -683,34 +683,15 @@
     <echo>Waiting for server to start on shutdown hook
           ${shutdownhook.port}</echo>
 
-    <script language="javascript">
+    <waitfor maxwait="120000" checkevery="1000" timeoutproperty="start.failed">
+      <socket server="localhost" port="${shutdownhook.port}"/>
+    </waitfor>
+    <sleep seconds="5"/>
 
-      <![CDATA[
-
-      var socket;
-      for (i=5; i<=120; i+=5) {
-        java.lang.Thread.sleep(5000);
-        try {
-          // Create a connection to the shut-down port.
-          socket = java.net.Socket("localhost",
-            project.getProperty("shutdownhook.port"));
-          socket.close();
-          break;
-        }
-        catch (ex) {
-         java.lang.System.out.println(ex+" after "+i+" seconds");
-        }
-      }
-      if (socket) {
-        java.lang.System.out.println("Mulgara started");
-        java.lang.Thread.sleep(5000);
-      }
-      else {
-        java.lang.System.out.println("Mulgara not started");
-      }
-
-      ]]>
-    </script>
+    <condition property="msg" value="Mulgara not started" else="Mulgara started">
+      <isset property="start.failed"/>
+    </condition>
+    <echo>${msg}</echo>
   </target>
 
   <!-- =================================================================== -->

Modified: branches/mgr-73/jxdata/iTQL/backup_restore/backup1Result3.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/backup_restore/backup1Result3.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/backup_restore/backup1Result3.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/backup_restore/result3.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/backup_restore/result3.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/backup_restore/result3.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/create_drop/queryResult3.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/create_drop/queryResult3.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/create_drop/queryResult3.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#vcard2</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#vcard2</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/create_drop/queryResult5.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/create_drop/queryResult5.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/create_drop/queryResult5.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#vcard1</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#vcard1</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/binary/base64Binary/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/binary/base64Binary/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/binary/base64Binary/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/binary/hexBinary/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/binary/hexBinary/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/binary/hexBinary/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/boolean/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/boolean/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/boolean/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/gDates/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/gDates/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/gDates/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/queryResult37.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/queryResult37.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/queryResult37.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#unknowntype</message></query><query><message>Successfully inserted statements into @server@#unknowntype</message></query><query><variables><color/></variables><solution><color datatype="http://example.com/Color">pink</color></solution></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#unknowntype</message></query><query><message>Successfully inserted statements into @server@#unknowntype</message></query><query><variables><color/></variables><solution><color datatype="http://example.com/Color">pink</color></solution></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/data_types/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/data_types/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/data_types/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/queryResult10.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/queryResult10.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/queryResult10.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><variables><object/></variables></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><variables><object/></variables></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/queryResult11.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/queryResult11.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/queryResult11.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>mp3</object></solution><solution><object>mbox</object></solution><solution><object>Trash</object></solution><solution><object>Root</object></solution><solution><object>Repository</object></solution><solution><object>Normal</object></solution><solution><object>InvalidAttachments</object></solution><solution><object>Invalid</object></solution><solution><object>Entries</object></solution><solution><object>EmptyHeader</object></solution><solution><object>Empty</object></solution><solution><object>CouldBe</object></solution><solution><object>Chrono_Trigger_600_AD_in_Piano.mp3</object></solution><solution><object>CVS</object></solution><solution><object>BadSubject</object></solution><solution><object>Attachments</object></solution></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>mp3</object></solution><solution><object>mbox</object></solution><solution><object>Trash</object></solution><solution><object>Root</object></solution><solution><object>Repository</object></solution><solution><object>Normal</object></solution><solution><object>InvalidAttachments</object></solution><solution><object>Invalid</object></solution><solution><object>Entries</object></solution><solution><object>EmptyHeader</object></solution><solution><object>Empty</object></solution><solution><object>CouldBe</object></solution><solution><object>Chrono_Trigger_600_AD_in_Piano.mp3</object></solution><solution><object>CVS</object></solution><solution><object>BadSubject</object></solution><solution><object>Attachments</object></solution></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/queryResult12.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/queryResult12.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/queryResult12.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>mbox</object></solution><solution><object>Trash</object></solution><solution><object>Root</object></solution><solution><object>Repository</object></solution><solution><object>Normal</object></solution><solution><object>InvalidAttachments</object></solution><solution><object>Entries</object></solution><solution><object>EmptyHeader</object></solution><solution><object>CouldBe</object></solution><solution><object>CVS</object></solution><solution><object>BadSubject</object></solution><solution><object>Attachments</object></solution></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>mbox</object></solution><solution><object>Trash</object></solution><solution><object>Root</object></solution><solution><object>Repository</object></solution><solution><object>Normal</object></solution><solution><object>InvalidAttachments</object></solution><solution><object>Entries</object></solution><solution><object>EmptyHeader</object></solution><solution><object>CouldBe</object></solution><solution><object>CVS</object></solution><solution><object>BadSubject</object></solution><solution><object>Attachments</object></solution></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/queryResult8.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/queryResult8.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/queryResult8.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>ical.rdf</object></solution></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables><solution><object>ical.rdf</object></solution></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/queryResult9.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/queryResult9.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/queryResult9.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><variables><object/></variables></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/filesystem/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/filesystem/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/filesystem/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully dropped model @server@#fsmodel</message></query><query><message>Successfully created model @server@#fsmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query><query><message>Successfully dropped model @server@#xsdmodel</message></query><query><message>Successfully created model @server@#xsdmodel</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully dropped graph @server@#fsmodel</message></query><query><message>Successfully created graph @server@#fsmodel</message></query><query><message>Successfully aliased http://mulgara.org/mulgara# as exp</message></query><query><message>Successfully inserted statements into @server@?def#fsmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query><query><message>Successfully dropped graph @server@#xsdmodel</message></query><query><message>Successfully created graph @server@#xsdmodel</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/drop1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/drop1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/drop1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped model @server@#model1</message></query><query><message>Successfully dropped model @server@#fulltext</message></query><query><message>Successfully dropped model @server@#fulltext2</message></query><query><message>Successfully dropped model @server@#normal_zh</message></query><query><message>Successfully dropped model @server@#fulltext_zh</message></query><query><message>Successfully dropped model @server@#numbers_test</message></query><query><message>Successfully dropped model @server@#numbers_fulltext</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully dropped graph @server@#model1</message></query><query><message>Successfully dropped graph @server@#fulltext</message></query><query><message>Successfully dropped graph @server@#fulltext2</message></query><query><message>Successfully dropped graph @server@#normal_zh</message></query><query><message>Successfully dropped graph @server@#fulltext_zh</message></query><query><message>Successfully dropped graph @server@#numbers_test</message></query><query><message>Successfully dropped graph @server@#numbers_fulltext</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/queryResult8.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/queryResult8.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/queryResult8.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#lucenetest</message></query><query><message>Successfully inserted statements into @server@#lucenetest</message></query><query><variables><page/></variables><solution><page resource="http://subject/"/></solution></query><query><message>Successfully dropped model @server@#lucenetest</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#lucenetest</message></query><query><message>Successfully inserted statements into @server@#lucenetest</message></query><query><variables><page/></variables><solution><page resource="http://subject/"/></solution></query><query><message>Successfully dropped graph @server@#lucenetest</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/result2.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/result2.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/result2.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#fulltext</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#fulltext</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/result3.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/result3.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/result3.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#fulltext2</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#fulltext2</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/result5.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/result5.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/result5.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#numbers_fulltext</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#numbers_fulltext</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/fulltext_queries/result7.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/fulltext_queries/result7.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/fulltext_queries/result7.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#fulltext_zh</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#fulltext_zh</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/insert/queryResult1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/insert/queryResult1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/insert/queryResult1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#inserttest</message></query><query><message>Successfully inserted statements into @server@#inserttest</message></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://www.w3.org/2002/12/cal/ical#Vevent"/></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#categories"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#comment"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#created"/><o>2004-05-10T12:12:24</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#description"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtend"/><o>2004-05-10T08:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtstamp"/><o>2004-05-10T12:12:24</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtstart"/><o>2004-05-10T07:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#duration"/><o>01-01-01T00:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#lastmodified"/><o>2004-05-10T12:12:37</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#location"/><o>Here</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#sequence"/><o>1</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#summary"/><o>Summary</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#uid"/><o>1272862874444564481399228405</o></solution></query><query><message>Successfully dropped model @server@#inserttest</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#inserttest</message></query><query><message>Successfully inserted statements into @server@#inserttest</message></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://www.w3.org/2002/12/cal/ical#Vevent"/></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#categories"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#comment"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#created"/><o>2004-05-10T12:12:24</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#description"/><o></o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtend"/><o>2004-05-10T08:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtstamp"/><o>2004-05-10T12:12:24</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#dtstart"/><o>2004-05-10T07:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#duration"/><o>01-01-01T00:00:00</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#lastmodified"/><o>2004-05-10T12:12:37</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#location"/><o>Here</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#sequence"/><o>1</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#summary"/><o>Summary</o></solution><solution><p resource="http://www.w3.org/2002/12/cal/ical#uid"/><o>1272862874444564481399228405</o></solution></query><query><message>Successfully dropped graph @server@#inserttest</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/node_types/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/node_types/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/node_types/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully dropped model @server@#type</message></query><query><message>Successfully created model @server@#type</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully dropped graph @server@#type</message></query><query><message>Successfully created graph @server@#type</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/prefix/result1.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/prefix/result1.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/prefix/result1.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#prefix</message></query><query><message>Successfully dropped model @server@#prefix</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#prefix</message></query><query><message>Successfully dropped graph @server@#prefix</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/rdfs-container-membership-superProperty/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/rdfs-container-membership-superProperty/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/rdfs-container-membership-superProperty/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/rdfs-domain-and-range/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/rdfs-domain-and-range/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/rdfs-domain-and-range/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subClassOf/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subClassOf/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subClassOf/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subPropertyOf/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subPropertyOf/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/rdfs-no-cycles-in-subPropertyOf/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/rdfs-subPropertyOf-semantics/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/rdfs-subPropertyOf-semantics/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/rdfs-subPropertyOf-semantics/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/rdfs/statement-entailment/configResult.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/rdfs/statement-entailment/configResult.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/rdfs/statement-entailment/configResult.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created model @server@#type</message></query><query><message>Successfully created model @server@#prefix</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Successfully created graph @server@#type</message></query><query><message>Successfully created graph @server@#prefix</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/transactions/queryResult6.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/transactions/queryResult6.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/transactions/queryResult6.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully dropped model @server@#trans1</message></query><query><message>Successfully created model @server@#trans2</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully rolled back changes</message></query><query><message>Auto commit is on</message></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><variables><p/><o/></variables></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully dropped graph @server@#trans1</message></query><query><message>Successfully created graph @server@#trans2</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully rolled back changes</message></query><query><message>Auto commit is on</message></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><variables><p/><o/></variables></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/transactions/queryResult7.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/transactions/queryResult7.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/transactions/queryResult7.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully dropped model @server@#trans1</message></query><query><message>Successfully created model @server@#trans2</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully committed transaction</message></query><query><message>Auto commit is on</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully dropped model @server@#trans2</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully dropped graph @server@#trans1</message></query><query><message>Successfully created graph @server@#trans2</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully committed transaction</message></query><query><message>Auto commit is on</message></query><query><variables><p/><o/></variables></query><query><variables><p/><o/></variables><solution><p resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/><o resource="http://mulgara.org/mulgara#Model"/></solution></query><query><message>Successfully dropped graph @server@#trans2</message></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/transactions/queryResult8.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/transactions/queryResult8.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/transactions/queryResult8.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully created model @server@#trans3</message></query><query><message>Successfully inserted statements into @server@#trans3</message></query><query><variables><s/><o/></variables><solution><s resource="uri:subject1"/><o>1</o></solution></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully created graph @server@#trans3</message></query><query><message>Successfully inserted statements into @server@#trans3</message></query><query><variables><s/><o/></variables><solution><s resource="uri:subject1"/><o>1</o></solution></query></answer>

Modified: branches/mgr-73/jxdata/iTQL/transactions/queryResult9.txt
===================================================================
--- branches/mgr-73/jxdata/iTQL/transactions/queryResult9.txt	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/jxdata/iTQL/transactions/queryResult9.txt	2008-03-17 04:18:25 UTC (rev 679)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully created model @server@#trans3</message></query><query><message>Successfully inserted statements into @server@#trans3</message></query><query><variables><s/><o/></variables><solution><s resource="uri:subject1"/><o>1</o></solution></query><query><message>Successfully dropped model @server@#trans3</message></query><query><message>Auto commit is on</message></query></answer>
+<answer xmlns="http://mulgara.org/tql#"><query><message>Auto commit is off</message></query><query><message>Successfully created graph @server@#trans3</message></query><query><message>Successfully inserted statements into @server@#trans3</message></query><query><variables><s/><o/></variables><solution><s resource="uri:subject1"/><o>1</o></solution></query><query><message>Successfully dropped graph @server@#trans3</message></query><query><message>Auto commit is on</message></query></answer>

Modified: branches/mgr-73/lib/antlr.jar
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/axis-1.1.jar
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/axis-1.4.jar (from rev 675, trunk/lib/axis-1.4.jar)
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/axis-ant-1.1.jar
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/axis-ant-1.4.jar (from rev 675, trunk/lib/axis-ant-1.4.jar)
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/jaxrpc-1.1.jar
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/jaxrpc-1.4.jar (from rev 675, trunk/lib/jaxrpc-1.4.jar)
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/log4j-1.2.15.jar (from rev 675, trunk/lib/log4j-1.2.15.jar)
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/log4j-1.2.8.jar
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/saaj-1.1.jar
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/saaj-1.4.jar (from rev 675, trunk/lib/saaj-1.4.jar)
===================================================================
(Binary files differ)

Deleted: branches/mgr-73/lib/wsdl4j-1.4.jar
===================================================================
(Binary files differ)

Copied: branches/mgr-73/lib/wsdl4j-1.5.1.jar (from rev 675, trunk/lib/wsdl4j-1.5.1.jar)
===================================================================
(Binary files differ)

Modified: branches/mgr-73/src/jar/ant-task/java/org/mulgara/ant/task/rdf/RDFLoad.java
===================================================================
--- branches/mgr-73/src/jar/ant-task/java/org/mulgara/ant/task/rdf/RDFLoad.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/ant-task/java/org/mulgara/ant/task/rdf/RDFLoad.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -517,7 +517,7 @@
    */
   protected void createModel() throws BuildException {
     executeQuery("create <" + modelURI + "> ;", "create model",
-                 "Successfully created model ");
+                 "Successfully created graph ");
   }
 
   /**
@@ -527,7 +527,7 @@
    */
   protected void dropModel() throws BuildException {
     executeQuery("drop <" + modelURI + "> ;", "drop model",
-                 "Successfully dropped model ");
+                 "Successfully dropped graph ");
   }
 
   /**

Modified: branches/mgr-73/src/jar/config/build.xml
===================================================================
--- branches/mgr-73/src/jar/config/build.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/config/build.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -9,7 +9,7 @@
   <!-- =================================================================== -->
   <!-- Builds the base Mulgara configuration JAR                            -->
   <!-- =================================================================== -->
-  <target name="config-generate-uptodate">
+  <target name="-config-generate-uptodate">
 
     <condition property="config-generate-uptodate">
       <and>
@@ -21,8 +21,8 @@
     </condition>
   </target>
 
-  <target name="config-generate"
-     description="Generates the Mulgara config code" unless="config-generate-uptodate">
+  <target name="config-generate" description="Generates the Mulgara config code"
+      depends="-config-generate-uptodate" unless="config-generate-uptodate">
 
     <delete dir="${obj.dir}/jar/config/java"/>
 

Modified: branches/mgr-73/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java
===================================================================
--- branches/mgr-73/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/content-n3/java/org/mulgara/content/n3/Parser.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -517,9 +517,11 @@
    */
   private BlankNodeImpl createBlankNode() {
     try {
-      return new BlankNodeImpl(resolverSession.newBlankNode());
-    } catch (NodePoolException npe) {
-      throw new RuntimeException("Unable to create blank node", npe);
+      BlankNodeImpl bn = new BlankNodeImpl();
+      resolverSession.localize(bn);  // This sets and returns the node ID
+      return bn;
+    } catch (LocalizeException le) {
+      throw new RuntimeException("Unable to create blank node", le);
     }
   }
 

Modified: branches/mgr-73/src/jar/itql/build.xml
===================================================================
--- branches/mgr-73/src/jar/itql/build.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/itql/build.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -87,7 +87,7 @@
     </manifest>
     <manifest file="${obj.dir}/META-INF/MANIFEST_ITQL_BOOTSTRAP.MF">
       <attribute name="Main-Class" value="org.mulgara.util.Bootstrap"/>
-      <attribute name="Embedded-Jar" value="${query.jar}, ${driver.jar}, ${itql.jar},${util.jar}, ${server-beep.jar}, ${server-rmi.jar}, apache-soap-2.2.jar, log4j-1.2.8.jar,jargs-0.2.jar, ${jrdf.jar}, ${saaj.jar}, ${emory-util.jar}"/>
+      <attribute name="Embedded-Jar" value="${query.jar}, ${driver.jar}, ${itql.jar},${util.jar}, ${server-beep.jar}, ${server-rmi.jar}, apache-soap-2.2.jar, log4j-1.2.15.jar,jargs-0.2.jar, ${jrdf.jar}, ${saaj.jar}, ${emory-util.jar}"/>
       <attribute name="Embedded-Main-Class" value="org.mulgara.itql.TqlSession"/>
     </manifest>
   </target>
@@ -138,7 +138,7 @@
       <zipfileset src="${lib.dir}/${jrdf.jar}" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/jsr173_07_api.jar" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/jsr173_07_ri.jar" excludes="META-INF/**"/>
-      <zipfileset src="${lib.dir}/log4j-1.2.8.jar" excludes="META-INF/**"/>
+      <zipfileset src="${lib.dir}/log4j-1.2.15.jar" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/${saaj.jar}" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/${emory-util.jar}" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/${jta.jar}" excludes="META-INF/**"/>

Modified: branches/mgr-73/src/jar/itql/java/org/mulgara/itql/Collaborator.java
===================================================================
--- branches/mgr-73/src/jar/itql/java/org/mulgara/itql/Collaborator.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/itql/java/org/mulgara/itql/Collaborator.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -803,7 +803,7 @@
   public synchronized boolean createModel() throws SOAPException {
 
     log.warn("creating model " + SERVER + MODEL);
-    return executeCommand(CREATE_MODEL, "Successfully created model", false);
+    return executeCommand(CREATE_MODEL, "Successfully created graph", false);
   }
 
   /**
@@ -815,7 +815,7 @@
   public synchronized boolean dropModel() throws SOAPException {
 
     log.warn("dropping model " + SERVER + MODEL);
-    return executeCommand(DROP_MODEL, "Successfully dropped model", false);
+    return executeCommand(DROP_MODEL, "Successfully dropped graph", false);
   }
 
   /**

Modified: branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBean.java
===================================================================
--- branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBean.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBean.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -278,7 +278,6 @@
 
     if (log.isDebugEnabled()) log.debug("Begin transaction for :" + name);
 
-    if (legacySession != null) legacySession.setAutoCommit(false);
     SetAutoCommit autocommitCmd = new SetAutoCommit(false);
     try {
       // do what the autointerpreter does, but don't worry about the result
@@ -303,8 +302,6 @@
 
     if (log.isDebugEnabled()) log.debug("Commit transaction for :" + name);
 
-    // this is the same as a commit call
-    if (legacySession != null) legacySession.setAutoCommit(true);
     interpreter.commitAll();
   }
 
@@ -320,10 +317,6 @@
 
     log.warn("Rollback transaction for :" + name);
 
-    if (legacySession != null) {
-      legacySession.rollback();
-      legacySession.setAutoCommit(true);
-    }
     interpreter.rollbackAll();
   }
 
@@ -623,12 +616,9 @@
 
 
   /**
-   * Returns true if a quit command has been entered, simply calls the
-   * interpreter.isQuitRequested.
+   * Returns true if a quit command has been entered.
    *
    * @return true if a quit command has been entered
-   *
-   * @see ItqlInterpreter#isQuitRequested()
    */
   public boolean isQuitRequested() {
     return quit;
@@ -636,13 +626,13 @@
 
 
   /**
-   * Returns the {@linkplain ItqlInterpreter#getLastMessage last message} of
+   * Returns the {@linkplain TqlAutoInterpreter#getLastMessage last message} of
    * the interpreter.
    *
    * @return the results of the last command execution, null if the command did
    *      not set any message
    *
-   * @see ItqlInterpreter#getLastMessage()
+   * @see TqlAutoInterpreter#getLastMessage()
    */
   public String getLastMessage() {
     return interpreter.getLastMessage();
@@ -650,15 +640,15 @@
 
 
   /**
-   * Returns the {@linkplain ItqlInterpreter#getLastException last error} of the
-   * interpreter.
+   * Returns the {@linkplain TqlAutoInterpreter#getLastException last error} of
+   * the interpreter.
    *
    * @return the results of the last command execution, null if the command did
    *      not set any message
    *
-   * @see ItqlInterpreter#getLastException()
+   * @see TqlAutoInterpreter#getLastException()
    */
-  public ItqlInterpreterException getLastException() {
+  public ItqlInterpreterException getLastError() {
     return new ItqlInterpreterException(interpreter.getLastException());
   }
 

Modified: branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBeanUnitTest.java
===================================================================
--- branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBeanUnitTest.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/itql/java/org/mulgara/itql/ItqlInterpreterBeanUnitTest.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -29,6 +29,8 @@
 
 import org.mulgara.query.Answer;
 import org.mulgara.query.QueryException;
+import org.mulgara.server.SessionFactory;
+import org.mulgara.server.driver.SessionFactoryFinder;
 import org.mulgara.util.TempDir;
 
 // third party packages
@@ -159,6 +161,7 @@
     suite.addTest(new ItqlInterpreterBeanUnitTest("testRestoreApi1"));
     suite.addTest(new ItqlInterpreterBeanUnitTest("testRoundTrip1"));
     suite.addTest(new ItqlInterpreterBeanUnitTest("testMultipleBeanTest"));
+    suite.addTest(new ItqlInterpreterBeanUnitTest("testExplicitSession"));
 
     return suite;
   }
@@ -825,6 +828,76 @@
      */
   }
 
+  /**
+   * Test giving ItqlInterpreterBean an explicit session.
+   *
+   * @throws Exception if the test fails
+   */
+  public void testExplicitSession() throws Exception {
+
+    // log that we're executing the test
+    log.debug("Starting explicit session test");
+
+    URI serverURI = new URI("rmi://" + hostName + "/server1");
+    SessionFactory sessionFactory =
+                      SessionFactoryFinder.newSessionFactory(serverURI, true);
+
+    bean.close();
+    bean = new ItqlInterpreterBean(sessionFactory.newSession(),
+                                   sessionFactory.getSecurityDomain());
+
+    // auto-commit = true
+    bean.executeQuery(
+        "insert <es:foo1> <es:bar1> 'foo' into <" + testModel + ">;");
+
+    Answer answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting a single result", 1, answer.getRowCount());
+
+    bean.executeQuery(
+        "delete <es:foo1> <es:bar1> 'foo' from <" + testModel + ">;");
+
+    answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting no results", 0, answer.getRowCount());
+
+    // explicit tx with commit
+    bean.beginTransaction("explicit-session-test-commit");
+
+    bean.executeQuery(
+        "insert <es:foo1> <es:bar1> 'foo' into <" + testModel + ">;");
+
+    answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting a single result", 1, answer.getRowCount());
+
+    bean.executeQuery(
+        "delete <es:foo1> <es:bar1> 'foo' from <" + testModel + ">;");
+
+    bean.commit("explicit-session-test-commit");
+
+    answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting no results", 0, answer.getRowCount());
+
+    // explicit tx with rollback
+    bean.beginTransaction("explicit-session-test-rollback");
+
+    bean.executeQuery(
+        "insert <es:foo1> <es:bar1> 'foo' into <" + testModel + ">;");
+
+    answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting a single result", 1, answer.getRowCount());
+
+    bean.rollback("explicit-session-test-rollback");
+
+    answer = bean.executeQuery(
+        "select $p $o from <" + testModel + "> " + "where <es:foo1> $p $o;");
+    assertEquals("Expecting no results", 0, answer.getRowCount());
+  }
+
+
   // ItqlInt
 
   /**

Copied: branches/mgr-73/src/jar/query/java/org/mulgara/connection/CommandExecutor.java (from rev 675, trunk/src/jar/query/java/org/mulgara/connection/CommandExecutor.java)
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/connection/CommandExecutor.java	                        (rev 0)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/connection/CommandExecutor.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -0,0 +1,53 @@
+/**
+ * The contents of this file are subject to the Open Software License
+ * Version 3.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.opensource.org/licenses/osl-3.0.txt
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ */
+package org.mulgara.connection;
+
+import org.mulgara.query.Answer;
+import org.mulgara.query.Query;
+import org.mulgara.query.QueryException;
+import org.mulgara.query.TuplesException;
+import org.mulgara.query.operation.Command;
+import org.mulgara.query.operation.Load;
+
+
+/**
+ * A central point to direct to commands on a connection.
+ *
+ * @created Feb 22, 2008
+ * @author Paul Gearon
+ * @copyright &copy; 2008 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
+ * @licence <a href="{@docRoot}/../../LICENCE.txt">Open Software License v3.0</a>
+ */
+public abstract class CommandExecutor implements Connection {
+
+  /**
+   * @see org.mulgara.connection.Connection#execute(org.mulgara.query.operation.Command)
+   */
+  public String execute(Command cmd) throws Exception {
+    return (String)cmd.execute(this);
+  }
+
+  /**
+   * @see org.mulgara.connection.Connection#execute(org.mulgara.query.operation.Load)
+   */
+  public Long execute(Load cmd) throws QueryException {
+    return (Long)cmd.execute(this);
+  }
+
+  /**
+   * @see org.mulgara.connection.Connection#execute(org.mulgara.query.Query)
+   */
+  public Answer execute(Query cmd) throws QueryException, TuplesException {
+    return (Answer)cmd.execute(this);
+  }
+
+}

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/connection/Connection.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/connection/Connection.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/connection/Connection.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -13,12 +13,57 @@
 
 import java.net.URI;
 
+import org.mulgara.query.Answer;
+import org.mulgara.query.Query;
 import org.mulgara.query.QueryException;
+import org.mulgara.query.TuplesException;
 import org.mulgara.server.Session;
+import org.mulgara.query.operation.*;
 
 /**
- * A connection for sending commands to a server.
+ * This class abstracts connections to a server, holding any information relevant to that
+ * connection.  For those operations that are to be performed on a server, this interface
+ * is used to send the operations.  Other operations can be kept local, but the mechanism
+ * appears the same to the user, thereby abstracting away the interaction that each command
+ * has with servers.
  *
+ * While Connections can be created with the normal constructor, it may be preferable to use
+ * an instance of {@link org.mulgara.connection.ConnectionFactory} in order to cache connections
+ * based on the server URI.
+ *
+ * {@link org.mulgara.query.operation.Command}s to be issued may be executed with a Connection
+ * as a parameter, or can be passed to a Connection.  The appropriate use depends on the usage.
+ * When creating commands in code, the preferred idiom is to pass to a Connection.  For instance:
+ * <pre><code>
+ *  ConnectionFactory factory = new ConnectionFactory();
+ *  Connection conn = factory.newConnection(URI.create("rmi://localhost/server1"));
+ *
+ *  URI graph = URI.create("rmi://localhost/server1#graph");
+ *  Command create = new CreateGraph(graph);
+ *  Command load = new Load(new File("data.rdf").toURI(), graph, false);
+ *  Command query = new TqlInterpreter().parseCommand(queryString);
+ *
+ *  conn.execute(create);
+ *  conn.execute(load);
+ *  Answer answer = conn.execute(query);
+ * </code></pre>
+ * 
+ * This mechanism has the advantage of returning the appropriate type for each type of command
+ * For instance, {@link Query} commands return an {@link Answer}, while most other commands
+ * return a status string.
+ *
+ * Alternatively, if the commands are being generated by a query language parser, then the command
+ * operation should be picked up via polymorphism by calling execute on the command instead.
+ * <pre><code>
+ *  ConnectionFactory factory = new ConnectionFactory();
+ *  Connection conn = factory.newConnection(URI.create("rmi://localhost/server1"));
+ *  
+ *  Interpreter interpreter = new TqlInterpreter();
+ *  Command cmd = interpreter.parseCommand(commandString);
+ *  
+ *  Object result = cmd.execute(conn);
+ * </code></pre>
+ * 
  * @created 2007-09-25
  * @author Paul Gearon
  * @copyright &copy; 2007 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
@@ -71,4 +116,29 @@
    * Closes the current connection.
    */
   public void close() throws QueryException;
+
+  // Central execution of Command operations
+
+  /**
+   * Generic command execution method.
+   * @param The command to execute.
+   * @return A status message
+   * @throws Exception A general exception catchall
+   */
+  public String execute(Command cmd) throws Exception;
+
+  /**
+   * Loads data from a file or URL
+   * @param cmd The command to load the data
+   * @return The number of loaded statements
+   */
+  public Long execute(Load cmd) throws QueryException;
+
+  /**
+   * Issues a query on the connection.
+   * @param cmd The command to issue the query.
+   * @return An Answer with the query results.
+   */
+  public Answer execute(Query cmd) throws QueryException, TuplesException;
+
 }
\ No newline at end of file

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/connection/DummyConnection.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/connection/DummyConnection.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/connection/DummyConnection.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -25,7 +25,7 @@
  * @copyright &copy; 2007 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
  * @licence <a href="{@docRoot}/../../LICENCE.txt">Open Software License v3.0</a>
  */
-public class DummyConnection implements Connection {
+public class DummyConnection extends CommandExecutor implements Connection {
 
   /** Logger. */
   private static final Logger logger = Logger.getLogger(DummyConnection.class.getName());

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/connection/SessionConnection.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/connection/SessionConnection.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/connection/SessionConnection.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -29,7 +29,7 @@
  * @copyright &copy; 2007 <a href="mailto:pgearon at users.sourceforge.net">Paul Gearon</a>
  * @licence <a href="{@docRoot}/../../LICENCE.txt">Open Software License v3.0</a>
  */
-public class SessionConnection implements Connection {
+public class SessionConnection extends CommandExecutor implements Connection {
 
   /** Logger. */
   private static final Logger logger = Logger.getLogger(SessionConnection.class.getName());

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/ModelResource.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/ModelResource.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/ModelResource.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -104,15 +104,16 @@
 
   /**
    * @return an immutable singleton {@link Set} containing the {@link URL} of
-   *   the server if this is a Java RMI or BEEP model, or the empty {@link Set}
-   *   otherwise
+   *   the server if this is a Java RMI, BEEP, or local model, or the empty
+   *   {@link Set} otherwise
    */
   @SuppressWarnings("unchecked")
   public Set<URI> getDatabaseURIs() {
 
     try {
 
-      if ("beep".equals(uri.getScheme()) || "rmi".equals(uri.getScheme())) {
+      if ("beep".equals(uri.getScheme()) || "rmi".equals(uri.getScheme()) ||
+          "local".equals(uri.getScheme())) {
 
         // In Java RMI models, the database is the URI without
         // the fragment identifier

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/AddAlias.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/AddAlias.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/AddAlias.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -68,7 +68,7 @@
    * @param conn ignored.
    * @return The text of the help request.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return setResultMessage(SUCCESS_MSG_PREFIX + aliasTarget + SUCCESS_MSG_AS + aliasPrefix);
   }
 

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Backup.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Backup.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Backup.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -62,7 +62,7 @@
   /**
    * @return The URI of the destination graph.
    */
-  public URI getServerURI() throws UnsupportedOperationException {
+  public URI getServerURI() {
     return serverUri;
   }
 

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Command.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Command.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Command.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -49,10 +49,10 @@
   /**
    * Gets the associated server for a non-local operation.
    * @return the server URI if one can be determined,
-   *  or <code>null</code> if not a valid operation.
-   * @throws UnsupportedOperationException If this command is local only.
+   *  or <code>null</code> if this command is local or the uri
+   *  is unknown for some other reason.
    */
-  URI getServerURI() throws UnsupportedOperationException;
+  URI getServerURI();
 
   /**
    * Executes the operation. This is highly specific to each operation.

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/CreateGraph.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/CreateGraph.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/CreateGraph.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -15,7 +15,9 @@
 
 import org.apache.log4j.Logger;
 import org.mulgara.connection.Connection;
+import org.mulgara.query.QueryException;
 
+
 /**
  * Represents a command to create a new graph.
  * @created Aug 10, 2007
@@ -33,7 +35,12 @@
   
   /** The URI for the type of the graph. */
   private final URI type;
-  
+
+  /**
+   * Create a new create graph command
+   * @param graphUri The identifier for the graph
+   * @param type The identifier for the graph type
+   */
   public CreateGraph(URI graphUri, URI type) {
     super(graphUri);
     this.graphUri = graphUri;
@@ -41,6 +48,16 @@
   }
   
   /**
+   * Create a new create graph command, using the default graph type.
+   * @param graphUri The identifier for the graph
+   */
+  public CreateGraph(URI graphUri) {
+    super(graphUri);
+    this.graphUri = graphUri;
+    this.type = null;
+  }
+  
+  /**
    * Get the URI of the graph to create.
    * @return the URI of the graph to create.
    */
@@ -61,10 +78,10 @@
    * @param The connection to a session to create the graph in.
    * @return Text describing the outcome.
    */
-  public Object execute(Connection conn) throws Exception {
-    if (logger.isDebugEnabled()) logger.debug("Creating new model " + graphUri);
+  public Object execute(Connection conn) throws QueryException {
+    if (logger.isDebugEnabled()) logger.debug("Creating new graph " + graphUri);
     conn.getSession().createModel(graphUri, type);
-    return setResultMessage("Successfully created model " + graphUri);
+    return setResultMessage("Successfully created graph " + graphUri);
   }
 
 }

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Deletion.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Deletion.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Deletion.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -17,6 +17,7 @@
 import org.jrdf.graph.Triple;
 import org.mulgara.connection.Connection;
 import org.mulgara.query.Query;
+import org.mulgara.query.QueryException;
 
 /**
  * An AST element for deleting from a graph.
@@ -50,7 +51,7 @@
    * @param conn the session to delete the data from the graph in.
    * @return Text describing the action.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) throws QueryException {
     if (isSelectBased()) conn.getSession().delete(graph, getSelectQuery());
     else conn.getSession().delete(graph, getStatements());
     return setResultMessage("Successfully deleted statements from " + graph);

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/DropGraph.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/DropGraph.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/DropGraph.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -14,6 +14,7 @@
 import java.net.URI;
 
 import org.mulgara.connection.Connection;
+import org.mulgara.query.QueryException;
 
 /**
  * Represents a command to drop a graph.
@@ -45,9 +46,9 @@
    * @param conn the session to delete the graph in.
    * @return Text describing the action.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) throws QueryException {
     conn.getSession().removeModel(graphUri);
-    return setResultMessage("Successfully dropped model " + graphUri);
+    return setResultMessage("Successfully dropped graph " + graphUri);
   }
 
 }

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Help.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Help.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Help.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -53,7 +53,7 @@
    * @param conn ignored.
    * @return The text of the help request.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return setResultMessage(helpText);
   }
 

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Insertion.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Insertion.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Insertion.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -18,6 +18,7 @@
 import org.jrdf.graph.Triple;
 import org.mulgara.connection.Connection;
 import org.mulgara.query.Query;
+import org.mulgara.query.QueryException;
 
 /**
  * An AST element for inserting into a graph.
@@ -60,7 +61,7 @@
    * @param conn the session for the graph to insert the data into.
    * @return Text describing the action.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) throws QueryException {
     if (isSelectBased()) conn.getSession().insert(graph, getSelectQuery());
     else conn.getSession().insert(graph, getStatements());
     return setResultMessage("Successfully inserted statements into " + graph);

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Load.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Load.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Load.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -53,7 +53,7 @@
    * @param conn The connection to load the data over.
    * @return The number of statements that were inserted.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) throws QueryException {
     URI src = getSource();
     URI dest = getDestination();
     try {

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/LocalCommand.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/LocalCommand.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/LocalCommand.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -63,9 +63,9 @@
 
   /**
    * Gets the associated server for a non-local operation.
-   * @throws UnsupportedOperationException Always thrown for local commands.
+   * @return <code>null</code>
    */
-  public URI getServerURI() throws UnsupportedOperationException {
+  public URI getServerURI() {
     return null;
   }
   

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/NullOp.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/NullOp.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/NullOp.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -33,7 +33,7 @@
   /**
    * Do nothing.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return null;
   }
 

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Quit.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Quit.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Quit.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -39,7 +39,7 @@
    * No specific action to be taken here.  The client needs to know that this message
    * requires exiting of the main process.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return finalMessage;
   }
 

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Restore.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Restore.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/Restore.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -45,7 +45,7 @@
    * @param conn The connection to restore the data over.
    * @return A text string describing the operation.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) throws QueryException {
     URI src = getSource();
     URI dest = getDestination();
     try {

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetTime.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetTime.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetTime.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -35,7 +35,7 @@
   /**
    * Does nothing at the client, except to indicate that time keeping records are required.
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return setResultMessage(SET_TIME + (isOn() ? ON : OFF));
   }
 }

Modified: branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetUser.java
===================================================================
--- branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetUser.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/query/java/org/mulgara/query/operation/SetUser.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -90,7 +90,7 @@
   /**
    * Does nothing at the client, except to indicate that a user record has been created
    */
-  public Object execute(Connection conn) throws Exception {
+  public Object execute(Connection conn) {
     return setResultMessage(MESSAGE);
   }
 

Modified: branches/mgr-73/src/jar/rdql/build.xml
===================================================================
--- branches/mgr-73/src/jar/rdql/build.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/rdql/build.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -159,7 +159,7 @@
       <zipfileset src="${lib.dir}/beepcore-0.9.08.jar" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/jargs-0.2.jar" excludes="META-INF/**"/>
       <zipfileset src="${lib.dir}/${jrdf.jar}" excludes="META-INF/**"/>
-      <zipfileset src="${lib.dir}/log4j-1.2.8.jar" excludes="META-INF/**"/>
+      <zipfileset src="${lib.dir}/log4j-1.2.15.jar" excludes="META-INF/**"/>
     </jar>
   </target>
 

Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -34,21 +34,44 @@
 import java.io.StringWriter;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
-// Third party packages
-import junit.framework.*;        // JUnit
-import org.apache.log4j.Logger;  // Log4J
-import org.jrdf.graph.SubjectNode;  // JRDF
-import org.jrdf.graph.PredicateNode;  // JRDF
-import org.jrdf.graph.ObjectNode;  // JRDF
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.log4j.Logger;
+import org.jrdf.graph.BlankNode;
+import org.jrdf.graph.Literal;
+import org.jrdf.graph.ObjectNode;
+import org.jrdf.graph.PredicateNode;
+import org.jrdf.graph.SubjectNode;
 import org.jrdf.graph.Triple;
-
-// Locally written packages
-import org.mulgara.query.*;
+import org.jrdf.graph.URIReference;
+import org.mulgara.query.Answer;
+import org.mulgara.query.ConstraintConjunction;
+import org.mulgara.query.ConstraintDisjunction;
+import org.mulgara.query.ConstraintExpression;
+import org.mulgara.query.ConstraintImpl;
+import org.mulgara.query.ConstraintIs;
+import org.mulgara.query.ModelResource;
+import org.mulgara.query.Order;
+import org.mulgara.query.Query;
+import org.mulgara.query.QueryException;
+import org.mulgara.query.Subquery;
+import org.mulgara.query.TuplesException;
+import org.mulgara.query.UnconstrainedAnswer;
+import org.mulgara.query.Variable;
+import org.mulgara.query.rdf.LiteralImpl;
 import org.mulgara.query.rdf.Mulgara;
+import org.mulgara.query.rdf.TripleImpl;
 import org.mulgara.query.rdf.URIReferenceImpl;
-import org.mulgara.query.rdf.TripleImpl;
+import org.mulgara.query.rdf.VariableNodeImpl;
 import org.mulgara.server.Session;
 import org.mulgara.util.FileUtil;
 
@@ -102,6 +125,7 @@
     suite.addTest(new AdvDatabaseSessionUnitTest("testPrefixingWithUnbound"));
     suite.addTest(new AdvDatabaseSessionUnitTest("testDatabaseDelete"));
     suite.addTest(new AdvDatabaseSessionUnitTest("testCreateModel"));
+    suite.addTest(new AdvDatabaseSessionUnitTest("testInsertionBlankNodes"));
 
     return suite;
   }
@@ -1096,7 +1120,73 @@
     }
   }
 
+  /**
+   * Test two insertions in the same transaction using the same variable name.
+   * The variable blank node should map to different internal node ID's in each
+   * insert operation.
+   */
+  public void testInsertionBlankNodes()
+  {
+    logger.info("testInsertionBlankNodes");
+    
+    try {
+      Session session = database.newSession();
+      try {
+        session.createModel(model2URI, null);
+        session.setAutoCommit(false);
+        
+        URIReference refA = new URIReferenceImpl(URI.create("test:a"));
+        URIReference refP1 = new URIReferenceImpl(URI.create("test:p1"));
+        URIReference refP2 = new URIReferenceImpl(URI.create("test:p2"));
+        Literal o1 = new LiteralImpl("o1");
+        Literal o2 = new LiteralImpl("o2");
+        BlankNode bn = new VariableNodeImpl("bn");
+        
+        Set<Triple> insert1 = new HashSet<Triple>();
+        insert1.add(new TripleImpl(refA, refP1, bn));
+        insert1.add(new TripleImpl(bn, refP2, o1));
+        
+        Set<Triple> insert2 = new HashSet<Triple>();
+        insert2.add(new TripleImpl(refA, refP1, bn));
+        insert2.add(new TripleImpl(bn, refP2, o2));
+        
+        session.insert(model2URI, insert1);
+        session.insert(model2URI, insert2);
+        session.setAutoCommit(true);
+        
+        Variable subjectVariable   = new Variable("subject");
+        Variable predicateVariable = new Variable("predicate");
+        Variable objectVariable    = new Variable("object");
 
+        List<Object> selectList = new ArrayList<Object>(3);
+        selectList.add(subjectVariable);
+        selectList.add(predicateVariable);
+        selectList.add(objectVariable);
+        
+        Answer answer = session.query(new Query(
+              selectList,                                       // SELECT
+              new ModelResource(model2URI),                     // FROM
+              new ConstraintImpl(subjectVariable,               // WHERE
+                             predicateVariable,
+                             objectVariable),
+              null,                                             // HAVING
+              new ArrayList<Order>(),                           // ORDER BY
+              null,                                             // LIMIT
+              0,                                                // OFFSET
+              new UnconstrainedAnswer()                         // GIVEN
+            ));
+        
+        assertEquals(4, answer.getRowCount());
+      }
+      finally {
+        session.close();
+      }
+    }
+    catch (Exception e) {
+      fail(e);
+    }
+  }
+
   /**
    * Test two simultaneous, explicit transactions, in two threads. The second one should block
    * until the first one sets auto-commit back to true.

Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/CreateModelOperation.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -28,105 +28,62 @@
 package org.mulgara.resolver;
 
 // Java 2 standard packages
-import java.io.*;
-import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.*;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
 
-// Java 2 enterprise packages
-import javax.transaction.RollbackException;
-import javax.transaction.Status;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-import javax.transaction.InvalidTransactionException;
-
 // Third party packages
 import org.apache.log4j.Logger;
 import org.jrdf.graph.*;
 
 // Local packages
-import org.mulgara.content.Content;
-import org.mulgara.content.ContentHandler;
-import org.mulgara.content.ContentHandlerManager;
-import org.mulgara.content.ContentLoader;
 import org.mulgara.query.*;
 import org.mulgara.query.rdf.*;
 import org.mulgara.resolver.spi.*;
-import org.mulgara.resolver.url.URLResolver;
 import org.mulgara.server.Session;
 import org.mulgara.store.nodepool.NodePool;
 
 /**
  * An {@link Operation} that implements the {@link Session#createModel} method.
+ * TODO: Rename to CreateGraphOperation.
  *
  * @created 2004-11-24
- *
  * @author <a href="http://staff.pisoftware.com/raboczi">Simon Raboczi</a>
- *
  * @version $Revision: 1.9 $
- *
  * @modified $Date: 2005/02/22 08:16:08 $ by $Author: newmana $
- *
  * @maintenanceAuthor $Author: newmana $
- *
- * @copyright &copy;2004 <a href="http://www.tucanatech.com/">Tucana
- *   Technology, Inc</a>
- *
+ * @copyright &copy;2004 <a href="http://www.tucanatech.com/">Tucana  Technology, Inc</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-class CreateModelOperation implements Operation
-{
-  /**
-   * Logger.
-   *
-   * This is named after the class.
-   */
-  private static final Logger logger =
-    Logger.getLogger(CreateModelOperation.class.getName());
+class CreateModelOperation implements Operation {
+  /** Logger. This is named after the class. */
+  @SuppressWarnings("unused")
+  private static final Logger logger = Logger.getLogger(CreateModelOperation.class.getName());
 
-  /**
-   * The URI of the model to be created.
-   */
-  private final URI modelURI;
+  /** The URI of the model to be created. */
+  private final URI graphURI;
 
-  /**
-   * The URI of the type of the model to be created.
-   */
-  private URI modelTypeURI;
+  /** The URI of the type of the model to be created. */
+  private URI graphTypeURI;
 
-  //
-  // Constructor
-  //
 
   /**
    * Sole constructor.
    *
-   * @param modelURI  the {@link URI} of the model to be created, never
-   *   <code>null</code>
-   * @param modelTypeURI  thie {@link URI} of the type of model to create, or
-   *   <code>null</code> for the same type as the system model (<code>#</code>)
-   * @throws IllegalArgumentException if <var>modelURI</var> is
-   *   <code>null</code>
+   * @param graphURI  the {@link URI} of the graph to be created, never <code>null</code>
+   * @param graphTypeURI  thie {@link URI} of the type of graph to create, or
+   *       <code>null</code> for the same type as the system graph (<code>#</code>)
+   * @throws IllegalArgumentException if <var>graphURI</var> is <code>null</code>
    */
-  CreateModelOperation(URI modelURI, URI modelTypeURI) throws QueryException
-  {
-    // Validate "modelURI" parameter
-    if (modelURI == null) {
-      throw new IllegalArgumentException("Null \"modelURI\" parameter");
+  CreateModelOperation(URI graphURI, URI graphTypeURI) throws QueryException {
+    // Validate "graphURI" parameter
+    if (graphURI == null) throw new IllegalArgumentException("Null \"graphURI\" parameter");
+    if (!graphURI.isOpaque() && graphURI.getFragment() == null) {
+      throw new QueryException("Graph URI does not have a fragment (graphURI:\"" + graphURI + "\")");
     }
-    if (modelURI.getFragment() == null) {
-      throw new QueryException(
-          "Model URI does not have a fragment (modelURI:\"" + modelURI + "\")"
-      );
-    }
 
     // Initialize fields
-    this.modelURI     = modelURI;
-    this.modelTypeURI = modelTypeURI;
+    this.graphURI     = graphURI;
+    this.graphTypeURI = graphTypeURI;
   }
 
   //
@@ -136,75 +93,16 @@
   public void execute(OperationContext       operationContext,
                       SystemResolver         systemResolver,
                       ResolverSessionFactory resolverSessionFactory,
-                      DatabaseMetadata       metadata) throws Exception
-  {
-    // Default to the system model type
-    if (modelTypeURI == null) {
-      modelTypeURI = metadata.getSystemModelTypeURI();
-    }
+                      DatabaseMetadata       metadata) throws Exception {
+    // Default to the system graph type
+    if (graphTypeURI == null) graphTypeURI = metadata.getSystemModelTypeURI();
 
-    // Verify that the model URI is relative to the database URI.  The model
-    // URI can use one of the hostname aliases instead of the canonical
-    // hostname of the database URI.  No checking of the scheme specific part
-    // of the model URI is performed if the database URI is opaque.
-    boolean badModelURI = true;
-    URI databaseURI = metadata.getURI();
-    String scheme = modelURI.getScheme();
-    String fragment = modelURI.getFragment();
-    if (scheme != null && scheme.equals(databaseURI.getScheme()) &&
-        fragment != null) {
-      if (databaseURI.isOpaque()) {
-        // databaseURI is opaque.
-        if (modelURI.isOpaque()) {
-          // Strip out the query string.
-          String ssp = modelURI.getSchemeSpecificPart();
-          int qIndex = ssp.indexOf('?');
-          if (qIndex >= 0) {
-            ssp = ssp.substring(0, qIndex);
-          }
-
-          if (ssp.equals(databaseURI.getSchemeSpecificPart())) {
-            // modelURI is relative to databaseURI.
-            badModelURI = false;
-          }
-        }
-      } else {
-        // databaseURI is hierarchial.
-        String path;
-        String host;
-
-        if (
-            !modelURI.isOpaque() && (
-                modelURI.getSchemeSpecificPart().equals(
-                    databaseURI.getSchemeSpecificPart()
-                ) || (
-                    (host = modelURI.getHost()) != null &&
-                    modelURI.getPort() == databaseURI.getPort() &&
-                    (path = modelURI.getPath()) != null &&
-                    path.equals(databaseURI.getPath()) &&
-                    metadata.getHostnameAliases().contains(host.toLowerCase())
-                )
-            )
-        ) {
-          // modelURI is relative to databaseURI.
-          badModelURI = false;
-        }
-      }
-    }
-    if (badModelURI) {
-      throw new QueryException(
-          "Model URI is not relative to the database URI (modelURI:\"" +
-          modelURI + "\", databaseURI:\"" + databaseURI + "\")"
-      );
-    }
-
+    verifyGraphUriIsRelative(graphURI, metadata);
+    
     // Look up the resolver factory for the model type
-    ResolverFactory resolverFactory =
-      operationContext.findModelTypeResolverFactory(modelTypeURI);
+    ResolverFactory resolverFactory = operationContext.findModelTypeResolverFactory(graphTypeURI);
     if (resolverFactory == null) {
-      throw new QueryException(
-          "Couldn't find resolver factory in internal resolver map " +
-          modelTypeURI);
+      throw new QueryException("Couldn't find resolver factory in internal resolver map " + graphTypeURI);
     }
 
     // PREVIOUSLY WITHIN TRANSACTION
@@ -214,14 +112,13 @@
     assert resolver != null;
 
     // Find the local node identifying the model
-    long model = systemResolver.localizePersistent(new URIReferenceImpl(
-        modelURI));
-    assert model != NodePool.NONE;
+    long graph = systemResolver.localizePersistent(new URIReferenceImpl(graphURI));
+    assert graph != NodePool.NONE;
 
     // Check model does not already exist with a different model type.
     // TODO: there's a node leak here, if the model has already been created.
     Resolution resolution = systemResolver.resolve(new ConstraintImpl(
-        new LocalNode(model),
+        new LocalNode(graph),
         new LocalNode(metadata.getRdfTypeNode()),
         new Variable("x"),
         new LocalNode(metadata.getSystemModelNode())));
@@ -232,12 +129,12 @@
         Node eNode = systemResolver.globalize(resolution.getColumnValue(0));
         try {
           URIReferenceImpl existing = (URIReferenceImpl)eNode;
-          if (!new URIReferenceImpl(modelTypeURI).equals(existing)) {
-            throw new QueryException(modelURI + " already exists with model type " + existing +
-                " in attempt to create it with type " + modelTypeURI);
+          if (!new URIReferenceImpl(graphTypeURI).equals(existing)) {
+            throw new QueryException(graphURI + " already exists with model type " + existing +
+                " in attempt to create it with type " + graphTypeURI);
           }
         } catch (ClassCastException ec) {
-          throw new QueryException("Invalid model type entry in system model: " + modelURI + " <rdf:type> " + eNode);
+          throw new QueryException("Invalid model type entry in system model: " + graphURI + " <rdf:type> " + eNode);
         }
       }
     } finally {
@@ -250,28 +147,86 @@
     //       following security check doesn't succeed
 
     // Make sure security adapters are satisfied
-    for (Iterator i = operationContext.getSecurityAdapterList().iterator();
-         i.hasNext();)
-    {
-      SecurityAdapter securityAdapter = (SecurityAdapter) i.next();
+    for (Iterator<SecurityAdapter> i = operationContext.getSecurityAdapterList().iterator(); i.hasNext();) {
+      SecurityAdapter securityAdapter = i.next();
 
       // Tell the truth to the user
-      if (!securityAdapter.canCreateModel(model, systemResolver) ||
-          !securityAdapter.canSeeModel(model, systemResolver))
-      {
-        throw new QueryException("You aren't allowed to create " + modelURI);
+      if (!securityAdapter.canCreateModel(graph, systemResolver) || !securityAdapter.canSeeModel(graph, systemResolver)) {
+        throw new QueryException("You aren't allowed to create " + graphURI);
       }
     }
 
     // Use the session to create the model
-    resolver.createModel(model, modelTypeURI);
+    resolver.createModel(graph, graphTypeURI);
   }
 
   /**
    * @return <code>true</code>
    */
-  public boolean isWriteOperation()
-  {
+  public boolean isWriteOperation() {
     return true;
   }
+
+  /**
+   * Verify that the graph URI is relative to the database URI.  The graph
+   * URI can use one of the hostname aliases instead of the canonical
+   * hostname of the database URI.  No checking of the scheme specific part
+   * of the graph URI is performed if the database URI is opaque.
+   * @param graphURI
+   * @param metadata
+   * @throws QueryException
+   */
+  private void verifyGraphUriIsRelative(URI graphURI, DatabaseMetadata metadata) throws QueryException {
+    boolean badModelURI = true;
+    URI databaseURI = metadata.getURI();
+    String scheme = graphURI.getScheme();
+    String fragment = graphURI.getFragment();
+
+    if (scheme != null && scheme.equals(databaseURI.getScheme()) && fragment != null) {
+      if (databaseURI.isOpaque()) {
+        // databaseURI is opaque.
+        if (graphURI.isOpaque()) {
+          // Strip out the query string.
+          String ssp = graphURI.getSchemeSpecificPart();
+          int qIndex = ssp.indexOf('?');
+          if (qIndex >= 0) ssp = ssp.substring(0, qIndex);
+
+          if (ssp.equals(databaseURI.getSchemeSpecificPart())) {
+            // graphURI is relative to databaseURI.
+            badModelURI = false;
+          }
+        }
+      } else {
+        // databaseURI is hierarchial.
+        String path;
+        String host;
+
+        if (
+            !graphURI.isOpaque() && (
+                graphURI.getSchemeSpecificPart().equals(
+                    databaseURI.getSchemeSpecificPart()
+                ) || (
+                    (host = graphURI.getHost()) != null &&
+                    graphURI.getPort() == databaseURI.getPort() &&
+                    (path = graphURI.getPath()) != null &&
+                    path.equals(databaseURI.getPath()) &&
+                    metadata.getHostnameAliases().contains(host.toLowerCase())
+                )
+            )
+        ) {
+          // graphURI is relative to databaseURI.
+          badModelURI = false;
+        }
+      }
+    } else {
+      badModelURI = !graphURI.isOpaque();
+    }
+
+    if (badModelURI) {
+      throw new QueryException(
+          "Model URI is not relative to the database URI (graphURI:\"" +
+          graphURI + "\", databaseURI:\"" + databaseURI + "\")"
+      );
+    }
+  }
 }

Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/DefaultConstraintHandlers.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -201,6 +201,7 @@
             }
           }
         }),
+/*
         new NVPair(ConstraintNegation.class, new ConstraintResolutionHandler() {
           public Tuples resolve(QueryEvaluationContext context, ModelExpression modelExpr, ConstraintExpression constraintExpr) throws Exception {
             if (((ConstraintNegation)constraintExpr).getModel().equals(Variable.FROM)) {
@@ -215,6 +216,7 @@
             }
           }
         }),
+*/
         new NVPair(WalkConstraint.class, new ConstraintResolutionHandler() {
           public Tuples resolve(QueryEvaluationContext context, ModelExpression modelExpr, ConstraintExpression constraintExpr) throws Exception {
             return WalkFunction.walk(context, (WalkConstraint)constraintExpr, modelExpr, context.getResolverSession());
@@ -280,11 +282,13 @@
                                       ConstraintOperations.replace(bindings, wc.getUnanchoredConstraint()));
           }
         }),
+/*
         new NVPair(ConstraintNegation.class, new ConstraintBindingHandler() {
           public ConstraintExpression bindVariables(Map bindings, ConstraintExpression constraintExpr) throws Exception {
             return new ConstraintNegation(ConstraintOperations.replace(bindings, (Constraint)constraintExpr));
           }
         }),
+*/
         new NVPair(ConstraintConjunction.class, new ConstraintBindingHandler() {
           public ConstraintExpression bindVariables(Map bindings, ConstraintExpression constraintExpr) throws Exception {
             return new ConstraintConjunction(ConstraintOperations.replaceOperationArgs(bindings, (ConstraintOperation)constraintExpr));
@@ -312,11 +316,13 @@
             return new ConstraintImpl(constraint.getElement(0), constraint.getElement(1), constraint.getElement(2), newModel);
           }
         }),
+/*
         new NVPair(ConstraintNegation.class, new ConstraintModelRewrite() {
           public Constraint rewrite(ConstraintElement newModel, Constraint constraint) throws Exception {
             return new ConstraintNegation(new ConstraintImpl(constraint.getElement(0), constraint.getElement(1), constraint.getElement(2), newModel));
           }
         }),
+*/
       });
   }
 
@@ -331,6 +337,7 @@
                 context.localize(constraint.getElement(3)));
           }
         }),
+/*
         new NVPair(ConstraintNegation.class, new ConstraintLocalization() {
           public Constraint localize(QueryEvaluationContext context, Constraint constraint) throws Exception {
             return new ConstraintNegation(new ConstraintImpl(
@@ -340,6 +347,7 @@
                 context.localize(constraint.getElement(3))));
           }
         }),
+*/
       });
   }
 }

Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/StringPoolSession.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -31,13 +31,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.*;
-import javax.transaction.xa.XAResource;
 
-// Java 2 enterprise packages
-import javax.transaction.RollbackException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-
 // Third party packages
 import org.apache.log4j.Logger;
 import org.jrdf.graph.*;
@@ -46,7 +40,6 @@
 import org.mulgara.query.*;
 import org.mulgara.query.rdf.*;
 import org.mulgara.resolver.spi.*;
-import org.mulgara.server.SessionFactory;
 import org.mulgara.store.nodepool.NodePool;
 import org.mulgara.store.nodepool.NodePoolException;
 import org.mulgara.store.stringpool.SPObject;
@@ -86,13 +79,6 @@
    */
   private static final long NONE = NodePool.NONE;
 
-  /**
-   * Whether transactionality is enabled.
-   *
-   * Disabling transactionality can be useful for debugging.
-   */
-  private static final boolean TRANSACTIONAL = true;
-
   private static final int OBTAIN   = 0;
   private static final int PREPARE  = 1;
   private static final int COMMIT   = 2;
@@ -116,7 +102,7 @@
   private final URI databaseURI;
 
   /** The set of alternative hostnames for the current host. */
-  private final Set hostnameAliases;
+  private final Set<String> hostnameAliases;
 
   /** Where to store literals for this phase.  */
   private XAStringPool persistentStringPool;
@@ -130,9 +116,6 @@
   /** Where to store literals which won't outlive this session.  */
   private final StringPool temporaryStringPool;
   
-  /** Maps blank nodes into remembered IDs. */
-  Map<BlankNode,Long> blankNodeCache = new HashMap<BlankNode,Long>();
-
   private int state;
 
   private SimpleXAResource[] resources;
@@ -140,13 +123,14 @@
   private Object globalLock;
 
   StringPoolSession(URI          databaseURI,
-                    Set          hostnameAliases,
+                    Set<String>  hostnameAliases,
                     XAStringPool persistentStringPool,
                     XANodePool   persistentNodePool,
                     StringPool   temporaryStringPool,
                     NodePool     temporaryNodePool,
-                    Object globalLock)
-  {
+                    Object globalLock
+  ) {
+
     if (logger.isDebugEnabled()) {
       logger.debug("Constructing StringPoolSession " + System.identityHashCode(this), new Throwable());
     }
@@ -168,8 +152,8 @@
   // Globalize/Localize methods.
   //
 
-  public Node globalize(long localNode) throws GlobalizeException
-  {
+  public Node globalize(long localNode) throws GlobalizeException {
+
     if (state == ROLLBACK || state == RELEASE) {
       throw new GlobalizeException(localNode, "Attempting to globalize outside transaction.");
     }
@@ -200,23 +184,19 @@
   }
 
 
-  public long lookup(Node node) throws LocalizeException
-  {
+  public long lookup(Node node) throws LocalizeException {
     return localize(node, READ | TEMP);
   }
 
-  public long lookupPersistent(Node node) throws LocalizeException
-  {
+  public long lookupPersistent(Node node) throws LocalizeException {
     return localize(node, READ | PERSIST);
   }
 
-  public long localize(Node node) throws LocalizeException
-  {
+  public long localize(Node node) throws LocalizeException {
     return localize(node, WRITE | TEMP);
   }
 
-  public long localizePersistent(Node node) throws LocalizeException
-  {
+  public long localizePersistent(Node node) throws LocalizeException {
     return localize(node, WRITE | PERSIST);
   }
 
@@ -233,7 +213,6 @@
     synchronized (this.globalLock) {
       this.persistentStringPool.refresh();
       this.persistentNodePool.refresh();
-      blankNodeCache.clear();
       // !!Review: Call rollback on temporary? NB. Can't rollback non XA-SP/NP.
       //this.temporaryStringPool.refresh();
       //this.temporaryNodePool.refresh();
@@ -245,8 +224,7 @@
   }
 
 
-  public void prepare() throws SimpleXAResourceException
-  {
+  public void prepare() throws SimpleXAResourceException {
     if (logger.isDebugEnabled()) {
       logger.debug("Preparing phase on StringPoolSession " + System.identityHashCode(this) + " SP=" + System.identityHashCode(persistentStringPool));
     }
@@ -266,8 +244,7 @@
   }
 
 
-  public void commit() throws SimpleXAResourceException
-  {
+  public void commit() throws SimpleXAResourceException {
     if (logger.isDebugEnabled()) {
       logger.debug("Committing phase on StringPoolSession " + System.identityHashCode(this));
     }
@@ -282,7 +259,6 @@
     synchronized (globalLock) {
       persistentStringPool.commit();
       persistentNodePool.commit();
-      blankNodeCache.clear();
       for (int i = 0; i < resources.length; i++) {
         resources[i].commit();
       }
@@ -290,8 +266,7 @@
   }
 
 
-  public void rollback() throws SimpleXAResourceException
-  {
+  public void rollback() throws SimpleXAResourceException {
     if (logger.isDebugEnabled()) {
       logger.debug("Rollback phase on StringPoolSession " + System.identityHashCode(this));
     }
@@ -301,15 +276,13 @@
     state = ROLLBACK;
     persistentStringPool.rollback();
     persistentNodePool.rollback();
-    blankNodeCache.clear();
     for (int i = 0; i < resources.length; i++) {
       resources[i].rollback();
     }
   }
 
 
-  public void release() throws SimpleXAResourceException
-  {
+  public void release() throws SimpleXAResourceException {
     if (logger.isDebugEnabled()) {
       logger.debug("Release phase on StringPoolSession " + System.identityHashCode(this));
     }
@@ -323,7 +296,6 @@
 
     persistentStringPool.release();
     persistentNodePool.release();
-    blankNodeCache.clear();
 
     // TODO determine if release() should be called for the temp components.
     //temporaryStringPool.release();
@@ -437,9 +409,7 @@
     try {
       spObject = spoFactory.newSPObject(node);
     } catch (RuntimeException ex) {
-      throw new LocalizeException(
-          node, "Couldn't convert Node to SPObject", ex
-      );
+      throw new LocalizeException(node, "Couldn't convert Node to SPObject", ex);
     }
     assert spObject != null;
 
@@ -453,8 +423,7 @@
   }
 
 
-  protected long localizeBlankNode(BlankNode node, int flags)
-      throws LocalizeException {
+  protected long localizeBlankNode(BlankNode node, int flags) throws LocalizeException {
     try {
 
       // Check to see that it's a blank node impl (a Mulgara blank node)
@@ -464,15 +433,12 @@
         // If the blank node id is greater then zero return it.
         // FIXME: we should be checking that the BlankNodeImpl came from the
         //        correct phase, otherwise it is invalid to extract the NodeId.
-        if (bi.getNodeId() > 0) {
-          return bi.getNodeId();
-        }
+        if (bi.getNodeId() > 0) return bi.getNodeId();
 
         // If the blank node does not have a blank node id and we are in a read
         // phase then throw an exception.
         if ((bi.getNodeId() == 0) && ((flags & WRITE_MASK) == READ)) {
-          throw new LocalizeException(node, "Attempt to get a node ID from " +
-              "a non-allocated BlankNodeImpl in a read phase");
+          throw new LocalizeException(node, "Attempt to get a node ID from a non-allocated BlankNodeImpl in a read phase");
         }
 
         // If we are in a write phase.
@@ -485,8 +451,7 @@
           } else if (bi.getNodeId() == 0) {
             if ((flags & STORE_MASK) == TEMP) {
               bi.setNodeId(-temporaryNodePool.newNode());
-            }
-            else {
+            } else {
               bi.setNodeId(persistentNodePool.newNode());
             }
           }
@@ -494,13 +459,11 @@
         }
         // Throw an exception here if we're in a read phase and the blank node
         // id is negative.
-        throw new LocalizeException(node, "Attempt to persist a local blank " +
-           "node in a read phase");
+        throw new LocalizeException(node, "Attempt to persist a local blank node in a read phase");
       } else if ((flags & WRITE_MASK) == WRITE) {
       // Some other implementation of BlankNode, so we can't access internal
       // node ID and we can only create one - we must be in the WRITE phase.
         return getAllocatedNodeId(node, flags);
-
       } else {
         // If it's a read phase and not the local BlankNode then throw an
         // exception.
@@ -520,7 +483,6 @@
    */
   protected long getAllocatedNodeId(BlankNode bn, int flags) throws NodePoolException {
     assert !(bn instanceof BlankNodeImpl);
-    if (blankNodeCache.containsKey(bn)) return blankNodeCache.get(bn);
 
     long nodeId;
     if ((flags & STORE_MASK) == TEMP) {
@@ -528,28 +490,17 @@
     } else {
       nodeId = persistentNodePool.newNode();
     }
-    blankNodeCache.put(bn, nodeId);
     return nodeId;
   }
 
-  protected Node globalizeBlankNode(long localNode, SPObject spObject) throws
-      GlobalizeException {
+  protected Node globalizeBlankNode(long localNode, SPObject spObject) throws GlobalizeException {
 
-    Node node = null;
-
-    if (spObject == null) {
-      node = new BlankNodeImpl(localNode);
-    } else {
-      node = spObject.getRDFNode();
-    }
-
-    return node;
+    return (spObject == null) ? new BlankNodeImpl(localNode) : spObject.getRDFNode();
   }
 
 
-  private long localizeSPObject(SPObject spObject, int flags)
-      throws StringPoolException, NodePoolException
-  {
+  private long localizeSPObject(SPObject spObject, int flags) throws StringPoolException, NodePoolException {
+
     boolean persistent = true;
     SPObject relativeSPObject = mapRelative(spObject);
     long localNode = persistentStringPool.findGNode(relativeSPObject);
@@ -630,9 +581,7 @@
           String query = uri.getQuery();
           String ssp = databaseURI.getSchemeSpecificPart();
           if (query != null) ssp += '?' + query;
-          spObject = spObjectFactory.newSPURI(new URI(
-              databaseURI.getScheme(), ssp, uri.getFragment()
-          ));
+          spObject = spObjectFactory.newSPURI(new URI(databaseURI.getScheme(), ssp, uri.getFragment()));
         } catch (URISyntaxException ex) {
           logger.warn(
               "Cannot create absolute URI with base:\"" + databaseURI +
@@ -659,10 +608,7 @@
       String scheme = uri.getScheme();
       String fragment = uri.getFragment();
 
-      if (
-          scheme != null && scheme.equals(databaseURI.getScheme()) &&
-          fragment != null
-      ) {
+      if (scheme != null && scheme.equals(databaseURI.getScheme()) && fragment != null ) {
         if (databaseURI.isOpaque()) {
           // databaseURI is opaque.
           if (uri.isOpaque()) {
@@ -681,17 +627,11 @@
             if (ssp.equals(databaseURI.getSchemeSpecificPart())) {
               // Construct a new relative uri with just the fragment and
               // optional query string.
-              SPObjectFactory spObjectFactory =
-                  persistentStringPool.getSPObjectFactory();
+              SPObjectFactory spObjectFactory = persistentStringPool.getSPObjectFactory();
               try {
-                spObject = spObjectFactory.newSPURI(new URI(
-                    null, null, null, query, fragment
-                ));
+                spObject = spObjectFactory.newSPURI(new URI(null, null, null, query, fragment));
               } catch (URISyntaxException ex) {
-                logger.warn(
-                    "Cannot create relative URI with fragment:\"" + fragment +
-                    "\"", ex
-                );
+                logger.warn("Cannot create relative URI with fragment:\"" + fragment + "\"", ex);
               }
             }
           }
@@ -715,17 +655,11 @@
           ) {
             // Construct a new relative uri with just the fragment and
             // optional query string.
-            SPObjectFactory spObjectFactory =
-                persistentStringPool.getSPObjectFactory();
+            SPObjectFactory spObjectFactory = persistentStringPool.getSPObjectFactory();
             try {
-              spObject = spObjectFactory.newSPURI(new URI(
-                  null, null, null, uri.getQuery(), fragment
-              ));
+              spObject = spObjectFactory.newSPURI(new URI(null, null, null, uri.getQuery(), fragment));
             } catch (URISyntaxException ex) {
-              logger.warn(
-                  "Cannot create relative URI with fragment:\"" + fragment +
-                  "\"", ex
-              );
+              logger.warn("Cannot create relative URI with fragment:\"" + fragment + "\"", ex);
             }
           }
         }

Modified: branches/mgr-73/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/ForeignBlankNode.java
===================================================================
--- branches/mgr-73/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/ForeignBlankNode.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/resolver-distributed/java/org/mulgara/resolver/distributed/ForeignBlankNode.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -49,7 +49,7 @@
    * @return A string containing all the unique features of the node.
    */
   public String toString() {
-    return serverUri.toString() + ":_" + nodeId;
+    return "_:" + serverUri.toString() + ":" + nodeId;
   }
 
 
@@ -75,7 +75,7 @@
    * @return Hashcode of the nodeid.
    */
   public int hashCode() {
-    return serverHashCode ^ (int)(nodeId ^ (nodeId >>>32));
+    return serverHashCode ^ (int)(nodeId ^ (nodeId >>> 32));
   }
 
 }

Modified: branches/mgr-73/src/jar/server-http/build.xml
===================================================================
--- branches/mgr-73/src/jar/server-http/build.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/server-http/build.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -150,7 +150,7 @@
     <manifest file="${obj.dir}/META-INF/MANIFEST_Mulgara_HTTP_BOOTSTRAP.MF">
 
       <attribute name="Main-Class" value="org.mulgara.util.Bootstrap"/>
-      <attribute name="Embedded-Jar" value="lib/${driver.jar}, lib/${query.jar},lib/${itql.jar}, lib/${rules.jar}, lib/${server.jar}, lib/${util.jar}, lib/${config.jar}, lib/activation-1.0.2.jar, lib/icu4j.jar, lib/jena-2.1.jar,lib/antlr.jar, lib/${commons-logging.jar}, lib/log4j-1.2.8.jar, lib/mail-1.3.jar, lib/${jetty.jar},lib/${jetty.plus.jar}, lib/${jasper.runtime.jar}, lib/${servlet.jar}, lib/jargs-0.2.jar,lib/castor-0.9.3.9-xml.jar, lib/xercesImpl.jar, lib/xmlParserAPIs.jar, lib/${jrdf.jar},lib/jakarta-oro-2.0.5.jar, lib/${emory-util.jar}"/>
+      <attribute name="Embedded-Jar" value="lib/${driver.jar}, lib/${query.jar},lib/${itql.jar}, lib/${rules.jar}, lib/${server.jar}, lib/${util.jar}, lib/${config.jar}, lib/activation-1.0.2.jar, lib/icu4j.jar, lib/jena-2.1.jar,lib/antlr.jar, lib/${commons-logging.jar}, lib/log4j-1.2.15.jar, lib/mail-1.3.jar, lib/${jetty.jar},lib/${jetty.plus.jar}, lib/${jasper.runtime.jar}, lib/${servlet.jar}, lib/jargs-0.2.jar,lib/castor-0.9.3.9-xml.jar, lib/xercesImpl.jar, lib/xmlParserAPIs.jar, lib/${jrdf.jar},lib/jakarta-oro-2.0.5.jar, lib/${emory-util.jar}"/>
       <attribute name="Embedded-Main-Class" value="org.mulgara.server.EmbeddedMulgaraHttpServer"/>
     </manifest>
 

Modified: branches/mgr-73/src/jar/store-stringpool-xa/java/org/mulgara/store/stringpool/xa/XAStringPoolImpl.java
===================================================================
--- branches/mgr-73/src/jar/store-stringpool-xa/java/org/mulgara/store/stringpool/xa/XAStringPoolImpl.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/store-stringpool-xa/java/org/mulgara/store/stringpool/xa/XAStringPoolImpl.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -2238,15 +2238,14 @@
         }
 
         // Retrieve bytes from the AVLNode.
-        ByteBuffer data = ByteBuffer.allocate(dataSize);
-        data.limit(directDataSize);
-        avlNode.getBlock().get(
-            (AVLNode.HEADER_SIZE + IDX_DATA) * Constants.SIZEOF_LONG, data
-        );
+        ByteBuffer data = avlNode.getBlock().getSlice((AVLNode.HEADER_SIZE + IDX_DATA) * Constants.SIZEOF_LONG, directDataSize);
 
         // Retrieve the remaining bytes if any.
         if (dataSize > MAX_DIRECT_DATA_BYTES) {
-          data.limit(dataSize);
+          // need a bigger buffer
+          ByteBuffer newData = ByteBuffer.allocate(dataSize);
+          newData.put(data);
+          data = newData;
           retrieveRemainingBytes(objectPool, data, blockId);
         }
         data.rewind();

Modified: branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java
===================================================================
--- branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/jar/util-xa/java/org/mulgara/store/xa/Block.java	2008-03-17 04:18:25 UTC (rev 679)
@@ -30,7 +30,6 @@
 // Java 2 standard packages
 import java.io.*;
 import java.nio.*;
-import java.nio.channels.*;
 
 // Third party packages
 import org.apache.log4j.Category;
@@ -63,6 +62,7 @@
 
   public static final long INVALID_BLOCK_ID = -1;
 
+  @SuppressWarnings("unused")
   private final static Category logger =
       Category.getInstance(Block.class.getName());
 
@@ -273,16 +273,33 @@
    * @param offset The location of the required buffer within the data block.
    * @param byteBuffer The buffer to fill.
    */
-  
   public void get(int offset, ByteBuffer byteBuffer) {
-	  ByteBuffer src = bb.asReadOnlyBuffer();
-	  int start = byteOffset + offset;
-	  src.position(start);
-	  src.limit(Math.min(start + byteBuffer.limit() - byteBuffer.position(), src.limit()));
-	  byteBuffer.put(src);
+    assert offset + byteBuffer.remaining() <= blockSize;
+
+    ByteBuffer src = bb.asReadOnlyBuffer();
+    int pos = byteOffset + offset;
+    src.position(pos);
+    src.limit(pos + byteBuffer.remaining());
+    byteBuffer.put(src);
   }
 
   /**
+   * Gets a read-only portion of the buffer.
+   *
+   * @param offset The location of the required buffer within the data block.
+   * @param size The size of the slice to retrieve.
+   * @return The read only portion of the buffer desired.
+   */
+  public ByteBuffer getSlice(int offset, int size) {
+    assert offset + size <= blockSize;
+
+    ByteBuffer data = bb.asReadOnlyBuffer();
+    data.position(byteOffset + offset);
+    data.limit(byteOffset + offset + size);
+    return data.slice();
+  }
+
+  /**
    * Gets an array of integers from the buffer.
    *
    * @param offset The integer offset to get the data from.

Modified: branches/mgr-73/src/war/web-services/WEB-INF/server-config.wsdd
===================================================================
--- branches/mgr-73/src/war/web-services/WEB-INF/server-config.wsdd	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/src/war/web-services/WEB-INF/server-config.wsdd	2008-03-17 04:18:25 UTC (rev 679)
@@ -8,6 +8,7 @@
   <parameter name="sendMultiRefs" value="true"/>
   <parameter name="sendXMLDeclaration" value="true"/>
   <parameter name="axis.sendMinimizedElements" value="true"/>
+  <parameter name="dotNetSoapEncFix" value="true"/>
   <requestFlow>
    <handler type="java:org.apache.axis.handlers.JWSHandler">
     <parameter name="scope" value="session"/>

Modified: branches/mgr-73/webdocs.xml
===================================================================
--- branches/mgr-73/webdocs.xml	2008-03-17 03:35:45 UTC (rev 678)
+++ branches/mgr-73/webdocs.xml	2008-03-17 04:18:25 UTC (rev 679)
@@ -11,8 +11,15 @@
     <echo message="help:  This message."/>
   </target>
 
+  <target name="-webpage-includes-uptodate">
+    <uptodate property="webpage-includes-uptodate">
+      <srcfiles dir="${template.src.docs.dir}"/>
+      <globmapper from="*" to="${src.docs.dir}/*"/>
+    </uptodate>
+  </target>
 
-  <target name="webpage-includes" description="Creates the webpages directory and does the includes">
+  <target name="webpage-includes" description="Creates the webpages directory and does the includes"
+      depends="-webpage-includes-uptodate" unless="webpage-includes-uptodate">
     <copy todir="${src.docs.dir}">
       <fileset dir="${template.src.docs.dir}"/>
     </copy>




More information about the Mulgara-svn mailing list