[Mulgara-svn] r1009 - branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver

ronald at mulgara.org ronald at mulgara.org
Sun Jun 22 22:54:55 UTC 2008


Author: ronald
Date: 2008-06-22 15:54:54 -0700 (Sun, 22 Jun 2008)
New Revision: 1009

Modified:
   branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/ExternalTransactionUnitTest.java
   branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/JotmTransactionStandaloneTest.java
Log:
Same cleanup as in r1008: extract duplicate query and results building code
into common methods.


Modified: branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/ExternalTransactionUnitTest.java
===================================================================
--- branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/ExternalTransactionUnitTest.java	2008-06-21 10:32:41 UTC (rev 1008)
+++ branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/ExternalTransactionUnitTest.java	2008-06-22 22:54:54 UTC (rev 1009)
@@ -298,47 +298,9 @@
         Xid xid = new TestXid(1);
         resource.start(xid, XAResource.TMNOFLAGS);
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer);
+        Answer answer = session.query(createQuery(modelURI));
+        compareResults(expectedResults(), answer);
         answer.close();
 
         resource.end(xid, XAResource.TMSUCCESS);
@@ -361,46 +323,10 @@
       Xid xid = new TestXid(1);
       resource.start(xid, XAResource.TMNOFLAGS);
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer1 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer1 = session.query(createQuery(modelURI));
+        Answer answer2 = session.query(createQuery(modelURI));
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-
         compareResults(answer1, answer2);
 
         answer1.close();
@@ -427,47 +353,9 @@
         Xid xid = new TestXid(1);
         resource.start(xid, XAResource.TMNOFLAGS);
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer);
+        Answer answer = session.query(createQuery(modelURI));
+        compareResults(expectedResults(), answer);
         answer.close();
 
         resource.end(xid, XAResource.TMSUCCESS);
@@ -491,47 +379,12 @@
       Xid xid2 = new TestXid(2);
       resource.start(xid1, XAResource.TMNOFLAGS);
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer1 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer1 = session.query(createQuery(modelURI));
         resource.end(xid1, XAResource.TMSUSPEND);
         resource.start(xid2, XAResource.TMNOFLAGS);
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(modelURI));
         resource.end(xid2, XAResource.TMSUSPEND);
 
         compareResults(answer1, answer2);
@@ -571,35 +424,11 @@
       rwResource.end(xid1, XAResource.TMSUSPEND);
 
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         Xid xid2 = new TestXid(2);
         roResource.start(xid2, XAResource.TMNOFLAGS);
 
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer = session.query(createQuery(modelURI));
 
         roResource.end(xid2, XAResource.TMSUSPEND);
         answer.beforeFirst();
@@ -619,39 +448,10 @@
         Xid xid3 = new TestXid(3);
         roResource.start(xid3, XAResource.TMNOFLAGS);
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model2URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(model2URI));
 
         roResource.end(xid3, XAResource.TMSUSPEND);
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer2);
+        compareResults(expectedResults(), answer2);
         answer2.close();
 
         Xid xid4 = new TestXid(4);
@@ -1069,7 +869,7 @@
           // Check committed phase is now updated and write-lock available
           rwResource.start(xid3, XAResource.TMNOFLAGS);
           assertChangeVisible(session2);
-          
+
           // Check internal transaction read-only
           assertChangeVisible(session1);
 
@@ -1095,78 +895,16 @@
   }
 
   private void assertChangeVisible(Session session) throws Exception {
-    Variable subjectVariable   = new Variable("subject");
-    Variable predicateVariable = new Variable("predicate");
-    Variable objectVariable    = new Variable("object");
-
-    List selectList = new ArrayList(3);
-    selectList.add(subjectVariable);
-    selectList.add(predicateVariable);
-    selectList.add(objectVariable);
-
     // Evaluate the query
-    Answer answer = session.query(new Query(
-      selectList,                                       // SELECT
-      new ModelResource(model3URI),                      // FROM
-      new ConstraintImpl(subjectVariable,               // WHERE
-                     predicateVariable,
-                     objectVariable),
-      null,                                             // HAVING
-      Arrays.asList(new Order[] {                       // ORDER BY
-        new Order(subjectVariable, true),
-        new Order(predicateVariable, true),
-        new Order(objectVariable, true)
-      }),
-      null,                                             // LIMIT
-      0,                                                // OFFSET
-      new UnconstrainedAnswer()                         // GIVEN
-    ));
+    Answer answer = session.query(createQuery(model3URI));
 
-    String[][] results = {
-      { "test:s01", "test:p01", "test:o01" },
-      { "test:s01", "test:p02", "test:o01" },
-      { "test:s01", "test:p02", "test:o02" },
-      { "test:s01", "test:p03", "test:o02" },
-      { "test:s02", "test:p03", "test:o02" },
-      { "test:s02", "test:p04", "test:o02" },
-      { "test:s02", "test:p04", "test:o03" },
-      { "test:s02", "test:p05", "test:o03" },
-      { "test:s03", "test:p01", "test:o01" },
-      { "test:s03", "test:p05", "test:o03" },
-      { "test:s03", "test:p06", "test:o01" },
-      { "test:s03", "test:p06", "test:o03" },
-    };
-    compareResults(results, answer);
+    compareResults(expectedResults(), answer);
     answer.close();
   }
 
   private void assertChangeNotVisible(Session session) throws Exception {
-    Variable subjectVariable   = new Variable("subject");
-    Variable predicateVariable = new Variable("predicate");
-    Variable objectVariable    = new Variable("object");
-
-    List selectList = new ArrayList(3);
-    selectList.add(subjectVariable);
-    selectList.add(predicateVariable);
-    selectList.add(objectVariable);
-
     // Evaluate the query
-    Answer answer = session.query(new Query(
-      selectList,                                       // SELECT
-      new ModelResource(model3URI),                      // FROM
-      new ConstraintImpl(subjectVariable,               // WHERE
-                     predicateVariable,
-                     objectVariable),
-      null,                                             // HAVING
-      Arrays.asList(new Order[] {                       // ORDER BY
-        new Order(subjectVariable, true),
-        new Order(predicateVariable, true),
-        new Order(objectVariable, true)
-      }),
-      null,                                             // LIMIT
-      0,                                                // OFFSET
-      new UnconstrainedAnswer()                         // GIVEN
-    ));
+    Answer answer = session.query(createQuery(model3URI));
     answer.beforeFirst();
     assertFalse(answer.next());
     answer.close();
@@ -1208,48 +946,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 resource2.end(new TestXid(3), XAResource.TMSUCCESS);
@@ -1346,48 +1046,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 session2.setAutoCommit(true);
@@ -1481,48 +1143,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 resource.end(new TestXid(1), XAResource.TMSUCCESS);
@@ -1629,32 +1253,8 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
                 answer.beforeFirst();
                 assertFalse(answer.next());
@@ -1751,32 +1351,8 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
                 answer.beforeFirst();
                 assertFalse(answer.next());
@@ -1872,32 +1448,8 @@
 
         roResource.start(new TestXid(3), XAResource.TMNOFLAGS);
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model3URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer = session.query(createQuery(model3URI));
         answer.beforeFirst();
         assertFalse(answer.next());
         answer.close();
@@ -1909,28 +1461,9 @@
         rwResource.rollback(new TestXid(2));
 
         roResource.start(new TestXid(4), XAResource.TMNOFLAGS);
-        selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
 
         // Evaluate the query
-        answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model3URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        answer = session.query(createQuery(model3URI));
 
         answer.beforeFirst();
         assertFalse(answer.next());
@@ -1981,6 +1514,51 @@
   // Internal methods
   //
 
+  private Query createQuery(URI model) {
+    Variable subjectVariable   = new Variable("subject");
+    Variable predicateVariable = new Variable("predicate");
+    Variable objectVariable    = new Variable("object");
+
+    List<SelectElement> selectList = new ArrayList<SelectElement>(3);
+    selectList.add(subjectVariable);
+    selectList.add(predicateVariable);
+    selectList.add(objectVariable);
+
+    return new Query(
+      selectList,                                       // SELECT
+      new ModelResource(model),                         // FROM
+      new ConstraintImpl(subjectVariable,               // WHERE
+                     predicateVariable,
+                     objectVariable),
+      null,                                             // HAVING
+      Arrays.asList(new Order[] {                       // ORDER BY
+        new Order(subjectVariable, true),
+        new Order(predicateVariable, true),
+        new Order(objectVariable, true)
+      }),
+      null,                                             // LIMIT
+      0,                                                // OFFSET
+      new UnconstrainedAnswer()                         // GIVEN
+    );
+  }
+
+  private String[][] expectedResults() {
+    return new String[][] {
+          { "test:s01", "test:p01", "test:o01" },
+          { "test:s01", "test:p02", "test:o01" },
+          { "test:s01", "test:p02", "test:o02" },
+          { "test:s01", "test:p03", "test:o02" },
+          { "test:s02", "test:p03", "test:o02" },
+          { "test:s02", "test:p04", "test:o02" },
+          { "test:s02", "test:p04", "test:o03" },
+          { "test:s02", "test:p05", "test:o03" },
+          { "test:s03", "test:p01", "test:o01" },
+          { "test:s03", "test:p05", "test:o03" },
+          { "test:s03", "test:p06", "test:o01" },
+          { "test:s03", "test:p06", "test:o03" },
+        };
+  }
+
   private void compareResults(String[][] expected, Answer answer) throws Exception {
     try {
       answer.beforeFirst();

Modified: branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/JotmTransactionStandaloneTest.java
===================================================================
--- branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/JotmTransactionStandaloneTest.java	2008-06-21 10:32:41 UTC (rev 1008)
+++ branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/JotmTransactionStandaloneTest.java	2008-06-22 22:54:54 UTC (rev 1009)
@@ -250,47 +250,9 @@
       try {
         txManager.getTransaction().enlistResource(session.getXAResource());
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer);
+        Answer answer = session.query(createQuery(modelURI));
+        compareResults(expectedResults(), answer);
         answer.close();
 
         txManager.commit();
@@ -314,47 +276,9 @@
         txManager.getTransaction().enlistResource(session.getXAResource());
         txManager.getTransaction().enlistResource(session.getXAResource());
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer);
+        Answer answer = session.query(createQuery(modelURI));
+        compareResults(expectedResults(), answer);
         answer.close();
 
         txManager.commit();
@@ -375,45 +299,10 @@
       Session session = sessionFactory.newSession();
       txManager.getTransaction().enlistResource(session.getXAResource());
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer1 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer1 = session.query(createQuery(modelURI));
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(modelURI));
 
         compareResults(answer1, answer2);
 
@@ -438,47 +327,9 @@
       try {
         txManager.getTransaction().enlistResource(session.getReadOnlyXAResource());
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer);
+        Answer answer = session.query(createQuery(modelURI));
+        compareResults(expectedResults(), answer);
         answer.close();
 
         txManager.commit();
@@ -501,51 +352,16 @@
       tx1.enlistResource(roResource);
 
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer1 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        
+        Answer answer1 = session.query(createQuery(modelURI));
+
         tx1 = txManager.suspend();
 
         txManager.begin();
         Transaction tx2 = txManager.getTransaction();
         tx2.enlistResource(roResource);
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(modelURI));
 
         tx2 = txManager.suspend();
 
@@ -576,51 +392,16 @@
       tx1.enlistResource(session.getReadOnlyXAResource());
 
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer1 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
-        
+        Answer answer1 = session.query(createQuery(modelURI));
+
         tx1 = txManager.suspend();
 
         txManager.begin();
         Transaction tx2 = txManager.getTransaction();
         tx2.enlistResource(session.getReadOnlyXAResource());
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Collections.singletonList(                        // ORDER BY
-            new Order(subjectVariable, true)
-          ),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(modelURI));
 
         tx2 = txManager.suspend();
 
@@ -660,35 +441,11 @@
       Transaction tx1 = txManager.suspend();
 
       try {
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         txManager.begin();
         txManager.getTransaction().enlistResource(roResource);
 
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(modelURI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer = session.query(createQuery(modelURI));
 
         Transaction tx2 = txManager.suspend();
 
@@ -709,40 +466,11 @@
         txManager.begin();
         txManager.getTransaction().enlistResource(roResource);
 
-        Answer answer2 = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model2URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer2 = session.query(createQuery(model2URI));
 
         Transaction tx3 = txManager.suspend();
 
-        String[][] results = {
-          { "test:s01", "test:p01", "test:o01" },
-          { "test:s01", "test:p02", "test:o01" },
-          { "test:s01", "test:p02", "test:o02" },
-          { "test:s01", "test:p03", "test:o02" },
-          { "test:s02", "test:p03", "test:o02" },
-          { "test:s02", "test:p04", "test:o02" },
-          { "test:s02", "test:p04", "test:o03" },
-          { "test:s02", "test:p05", "test:o03" },
-          { "test:s03", "test:p01", "test:o01" },
-          { "test:s03", "test:p05", "test:o03" },
-          { "test:s03", "test:p06", "test:o01" },
-          { "test:s03", "test:p06", "test:o03" },
-        };
-        compareResults(results, answer2);
+        compareResults(expectedResults(), answer2);
         answer2.close();
 
         txManager.begin();
@@ -1185,78 +913,16 @@
   }
 
   private void assertChangeVisible(Session session) throws Exception {
-    Variable subjectVariable   = new Variable("subject");
-    Variable predicateVariable = new Variable("predicate");
-    Variable objectVariable    = new Variable("object");
-
-    List selectList = new ArrayList(3);
-    selectList.add(subjectVariable);
-    selectList.add(predicateVariable);
-    selectList.add(objectVariable);
-
     // Evaluate the query
-    Answer answer = session.query(new Query(
-      selectList,                                       // SELECT
-      new ModelResource(model3URI),                      // FROM
-      new ConstraintImpl(subjectVariable,               // WHERE
-                     predicateVariable,
-                     objectVariable),
-      null,                                             // HAVING
-      Arrays.asList(new Order[] {                       // ORDER BY
-        new Order(subjectVariable, true),
-        new Order(predicateVariable, true),
-        new Order(objectVariable, true)
-      }),
-      null,                                             // LIMIT
-      0,                                                // OFFSET
-      new UnconstrainedAnswer()                         // GIVEN
-    ));
+    Answer answer = session.query(createQuery(model3URI));
 
-    String[][] results = {
-      { "test:s01", "test:p01", "test:o01" },
-      { "test:s01", "test:p02", "test:o01" },
-      { "test:s01", "test:p02", "test:o02" },
-      { "test:s01", "test:p03", "test:o02" },
-      { "test:s02", "test:p03", "test:o02" },
-      { "test:s02", "test:p04", "test:o02" },
-      { "test:s02", "test:p04", "test:o03" },
-      { "test:s02", "test:p05", "test:o03" },
-      { "test:s03", "test:p01", "test:o01" },
-      { "test:s03", "test:p05", "test:o03" },
-      { "test:s03", "test:p06", "test:o01" },
-      { "test:s03", "test:p06", "test:o03" },
-    };
-    compareResults(results, answer);
+    compareResults(expectedResults(), answer);
     answer.close();
   }
 
   private void assertChangeNotVisible(Session session) throws Exception {
-    Variable subjectVariable   = new Variable("subject");
-    Variable predicateVariable = new Variable("predicate");
-    Variable objectVariable    = new Variable("object");
-
-    List selectList = new ArrayList(3);
-    selectList.add(subjectVariable);
-    selectList.add(predicateVariable);
-    selectList.add(objectVariable);
-
     // Evaluate the query
-    Answer answer = session.query(new Query(
-      selectList,                                       // SELECT
-      new ModelResource(model3URI),                      // FROM
-      new ConstraintImpl(subjectVariable,               // WHERE
-                     predicateVariable,
-                     objectVariable),
-      null,                                             // HAVING
-      Arrays.asList(new Order[] {                       // ORDER BY
-        new Order(subjectVariable, true),
-        new Order(predicateVariable, true),
-        new Order(objectVariable, true)
-      }),
-      null,                                             // LIMIT
-      0,                                                // OFFSET
-      new UnconstrainedAnswer()                         // GIVEN
-    ));
+    Answer answer = session.query(createQuery(model3URI));
     answer.beforeFirst();
     assertFalse(answer.next());
     answer.close();
@@ -1298,48 +964,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 resource2.end(new TestXid(3), XAResource.TMSUCCESS);
@@ -1436,48 +1064,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 session2.setAutoCommit(true);
@@ -1571,48 +1161,10 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
-                String[][] results = {
-                  { "test:s01", "test:p01", "test:o01" },
-                  { "test:s01", "test:p02", "test:o01" },
-                  { "test:s01", "test:p02", "test:o02" },
-                  { "test:s01", "test:p03", "test:o02" },
-                  { "test:s02", "test:p03", "test:o02" },
-                  { "test:s02", "test:p04", "test:o02" },
-                  { "test:s02", "test:p04", "test:o03" },
-                  { "test:s02", "test:p05", "test:o03" },
-                  { "test:s03", "test:p01", "test:o01" },
-                  { "test:s03", "test:p05", "test:o03" },
-                  { "test:s03", "test:p06", "test:o01" },
-                  { "test:s03", "test:p06", "test:o03" },
-                };
-                compareResults(results, answer);
+                compareResults(expectedResults(), answer);
                 answer.close();
 
                 resource.end(new TestXid(1), XAResource.TMSUCCESS);
@@ -1719,32 +1271,8 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
                 answer.beforeFirst();
                 assertFalse(answer.next());
@@ -1841,32 +1369,8 @@
                   tx2Started.notify();
                 }
 
-                Variable subjectVariable   = new Variable("subject");
-                Variable predicateVariable = new Variable("predicate");
-                Variable objectVariable    = new Variable("object");
-
-                List selectList = new ArrayList(3);
-                selectList.add(subjectVariable);
-                selectList.add(predicateVariable);
-                selectList.add(objectVariable);
-
                 // Evaluate the query
-                Answer answer = session2.query(new Query(
-                  selectList,                                       // SELECT
-                  new ModelResource(model3URI),                      // FROM
-                  new ConstraintImpl(subjectVariable,               // WHERE
-                                 predicateVariable,
-                                 objectVariable),
-                  null,                                             // HAVING
-                  Arrays.asList(new Order[] {                       // ORDER BY
-                    new Order(subjectVariable, true),
-                    new Order(predicateVariable, true),
-                    new Order(objectVariable, true)
-                  }),
-                  null,                                             // LIMIT
-                  0,                                                // OFFSET
-                  new UnconstrainedAnswer()                         // GIVEN
-                ));
+                Answer answer = session2.query(createQuery(model3URI));
 
                 answer.beforeFirst();
                 assertFalse(answer.next());
@@ -1962,32 +1466,8 @@
 
         roResource.start(new TestXid(3), XAResource.TMNOFLAGS);
 
-        Variable subjectVariable   = new Variable("subject");
-        Variable predicateVariable = new Variable("predicate");
-        Variable objectVariable    = new Variable("object");
-
-        List selectList = new ArrayList(3);
-        selectList.add(subjectVariable);
-        selectList.add(predicateVariable);
-        selectList.add(objectVariable);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model3URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        Answer answer = session.query(createQuery(model3URI));
         answer.beforeFirst();
         assertFalse(answer.next());
         answer.close();
@@ -2005,22 +1485,7 @@
         selectList.add(objectVariable);
 
         // Evaluate the query
-        answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(model3URI),                      // FROM
-          new ConstraintImpl(subjectVariable,               // WHERE
-                         predicateVariable,
-                         objectVariable),
-          null,                                             // HAVING
-          Arrays.asList(new Order[] {                       // ORDER BY
-            new Order(subjectVariable, true),
-            new Order(predicateVariable, true),
-            new Order(objectVariable, true)
-          }),
-          null,                                             // LIMIT
-          0,                                                // OFFSET
-          new UnconstrainedAnswer()                         // GIVEN
-        ));
+        answer = session.query(createQuery(model3URI));
 
         answer.beforeFirst();
         assertFalse(answer.next());
@@ -2057,6 +1522,51 @@
   // Internal methods
   //
 
+  private Query createQuery(URI model) {
+    Variable subjectVariable   = new Variable("subject");
+    Variable predicateVariable = new Variable("predicate");
+    Variable objectVariable    = new Variable("object");
+
+    List<SelectElement> selectList = new ArrayList<SelectElement>(3);
+    selectList.add(subjectVariable);
+    selectList.add(predicateVariable);
+    selectList.add(objectVariable);
+
+    return new Query(
+      selectList,                                       // SELECT
+      new ModelResource(model),                         // FROM
+      new ConstraintImpl(subjectVariable,               // WHERE
+                     predicateVariable,
+                     objectVariable),
+      null,                                             // HAVING
+      Arrays.asList(new Order[] {                       // ORDER BY
+        new Order(subjectVariable, true),
+        new Order(predicateVariable, true),
+        new Order(objectVariable, true)
+      }),
+      null,                                             // LIMIT
+      0,                                                // OFFSET
+      new UnconstrainedAnswer()                         // GIVEN
+    );
+  }
+
+  private String[][] expectedResults() {
+    return new String[][] {
+          { "test:s01", "test:p01", "test:o01" },
+          { "test:s01", "test:p02", "test:o01" },
+          { "test:s01", "test:p02", "test:o02" },
+          { "test:s01", "test:p03", "test:o02" },
+          { "test:s02", "test:p03", "test:o02" },
+          { "test:s02", "test:p04", "test:o02" },
+          { "test:s02", "test:p04", "test:o03" },
+          { "test:s02", "test:p05", "test:o03" },
+          { "test:s03", "test:p01", "test:o01" },
+          { "test:s03", "test:p05", "test:o03" },
+          { "test:s03", "test:p06", "test:o01" },
+          { "test:s03", "test:p06", "test:o03" },
+        };
+  }
+
   private void compareResults(String[][] expected, Answer answer) throws Exception {
     try {
       answer.beforeFirst();




More information about the Mulgara-svn mailing list