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

ronald at mulgara.org ronald at mulgara.org
Sat Jun 21 10:32:42 UTC 2008


Author: ronald
Date: 2008-06-21 03:32:41 -0700 (Sat, 21 Jun 2008)
New Revision: 1008

Modified:
   branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java
Log:
Extracted copy-pasted query and results creations into a common method.


Modified: branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java
===================================================================
--- branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java	2008-06-21 01:30:43 UTC (rev 1007)
+++ branches/mgr-121-lockrecovery/src/jar/resolver/java/org/mulgara/resolver/AdvDatabaseSessionUnitTest.java	2008-06-21 10:32:41 UTC (rev 1008)
@@ -244,47 +244,9 @@
       // Load some test data
       Session session = database.newSession();
       try {
-        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);
-
         // 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();
       } finally {
         session.close();
@@ -294,7 +256,7 @@
     }
   }
 
-  
+
   public void testConcurrentQuery() throws URISyntaxException {
     logger.info("Testing concurrentQuery");
 
@@ -302,45 +264,10 @@
       // Load some test data
       Session session = database.newSession();
       try {
-        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);
-
         // 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);
 
@@ -354,7 +281,7 @@
     }
   }
 
-  
+
   public void testSubqueryQuery() throws URISyntaxException {
     logger.info("Testing subqueryQuery");
 
@@ -429,7 +356,7 @@
     }
   }
 
-  
+
   public void testConcurrentSubqueryQuery() throws URISyntaxException {
     logger.info("Testing concurrentSubqueryQuery");
 
@@ -511,7 +438,7 @@
     }
   }
 
-  
+
   /**
    * Note: What this test does is a really bad idea - there is no
    *       isolation provided as each operation is within its own
@@ -526,32 +453,8 @@
       session.createModel(model2URI, null);
 
       try {
-        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);
-
         // 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));
 
         answer.beforeFirst();
         while (answer.next()) {
@@ -562,37 +465,8 @@
         }
         answer.close();
 
-        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
-        ));
-        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);
+        Answer answer2 = session.query(createQuery(model2URI));
+        compareResults(expectedResults(), answer2);
         answer2.close();
 
         session.removeModel(model2URI);
@@ -604,7 +478,7 @@
     }
   }
 
-  
+
   public void testExplicitBasicQuery() throws URISyntaxException {
     logger.info("Testing basicQuery");
 
@@ -613,47 +487,10 @@
       Session session = database.newSession();
       try {
         session.setAutoCommit(false);
-        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);
-
         // 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);
 
         session.setAutoCommit(true);
 
@@ -675,39 +512,15 @@
     }
   }
 
-  
+
   public void testAnswerWriteCloseIsolation() throws URISyntaxException {
     logger.info("Testing AnswerWriteCloseIsolation");
 
     try {
       Session session = database.newSession();
       try {
-        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);
-
         // Evaluate the query
-        Answer answer = session.query(new Query(
-          selectList,                                       // SELECT
-          new ModelResource(systemModelURI),                      // 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(systemModelURI));
 
         session.setAutoCommit(false);
 
@@ -723,7 +536,7 @@
     }
   }
 
-  
+
   public void testExplicitIsolationQuery() throws URISyntaxException {
     logger.info("testExplicitIsolationQuery");
     URI fileURI  = new File("data/xatest-model1.rdf").toURI();
@@ -737,76 +550,17 @@
           session1.setAutoCommit(false);
           session1.setModel(model3URI, new ModelResource(fileURI));
 
-          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);
-
           // 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());
           answer.close();
 
           session1.setAutoCommit(true);
 
-          selectList = new ArrayList<SelectElement>(3);
-          selectList.add(subjectVariable);
-          selectList.add(predicateVariable);
-          selectList.add(objectVariable);
-
           // Evaluate the query
-          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
-          ));
-
-          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 = session2.query(createQuery(model3URI));
+          compareResults(expectedResults(), answer);
           answer.close();
 
           session1.removeModel(model3URI);
@@ -834,32 +588,8 @@
           session1.setAutoCommit(false);
           session1.setModel(model3URI, new ModelResource(fileURI));
 
-          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);
-
           // 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());
           answer.close();
@@ -867,28 +597,8 @@
           session1.rollback();
           session1.setAutoCommit(true);
 
-          selectList = new ArrayList<SelectElement>(3);
-          selectList.add(subjectVariable);
-          selectList.add(predicateVariable);
-          selectList.add(objectVariable);
-
           // Evaluate the query
-          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 = session2.query(createQuery(model3URI));
 
           answer.beforeFirst();
           assertFalse(answer.next());
@@ -918,145 +628,33 @@
           session1.setAutoCommit(false);
           session1.setModel(model3URI, new ModelResource(fileURI));
 
-          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);
-
           // 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());
           answer.close();
 
           session1.commit();
 
-          selectList = new ArrayList<SelectElement>(3);
-          selectList.add(subjectVariable);
-          selectList.add(predicateVariable);
-          selectList.add(objectVariable);
-
           // Evaluate the query
-          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 = 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();
 
           session1.removeModel(model3URI);
           session1.createModel(model3URI, null);
 
-          selectList = new ArrayList<SelectElement>(3);
-          selectList.add(subjectVariable);
-          selectList.add(predicateVariable);
-          selectList.add(objectVariable);
-
           // Evaluate the query
-          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 = session2.query(createQuery(model3URI));
 
-          results = 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" },
-          };
-          compareResults(results, answer);
+          compareResults(expectedResults(), answer);
           answer.close();
 
           session1.setAutoCommit(true);
 
-          selectList = new ArrayList<SelectElement>(3);
-          selectList.add(subjectVariable);
-          selectList.add(predicateVariable);
-          selectList.add(objectVariable);
-
           // Evaluate the query
-          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 = session2.query(createQuery(model3URI));
           answer.beforeFirst();
           assertFalse(answer.next());
           answer.close();
@@ -1084,79 +682,19 @@
           session1.createModel(model4URI, null);
           session1.setModel(model4URI, new ModelResource(fileURI));
 
-          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);
-
           // Check data loaded
-          Answer answer = session1.query(new Query(
-            selectList,                                       // SELECT
-            new ModelResource(model4URI),                      // 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 = session1.query(createQuery(model4URI));
 
-          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();
 
           // Delete all the data from the model
-          session2.delete(model4URI, new Query(
-            selectList,                                       // SELECT
-            new ModelResource(model4URI),                     // FROM
-            new ConstraintImpl(subjectVariable,               // WHERE
-                           predicateVariable,
-                           objectVariable),
-            null,                                             // HAVING
-            new ArrayList<Order>(),                           // ORDER BY
-            null,                                             // LIMIT
-            0,                                                // OFFSET
-            new UnconstrainedAnswer()                         // GIVEN
-          ));
+          session2.delete(model4URI, createQuery(model4URI));
 
           // Check all data removed from the model
           // This also checks that the delete successfully
           // performed the implicit commit.
-          answer = session1.query(new Query(
-            selectList,                                       // SELECT
-            new ModelResource(model4URI),                      // FROM
-            new ConstraintImpl(subjectVariable,               // WHERE
-                           predicateVariable,
-                           objectVariable),
-            null,                                             // HAVING
-            new ArrayList<Order>(),                           // ORDER BY
-            null,                                             // LIMIT
-            0,                                                // OFFSET
-            new UnconstrainedAnswer()                         // GIVEN
-          ));
+          answer = session1.query(createQuery(model4URI));
           answer.beforeFirst();
           assertFalse(answer.next());
           answer.close();
@@ -1181,61 +719,38 @@
   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<SelectElement> selectList = new ArrayList<SelectElement>(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
-            ));
-        
+        Answer answer = session.query(createQuery(model2URI));
         assertEquals(4, answer.getRowCount());
-      }
-      finally {
+      } finally {
         session.close();
       }
-    }
-    catch (Exception e) {
+    } catch (Exception e) {
       fail(e);
     }
   }
@@ -1269,48 +784,10 @@
                   tx2Started.notify();
                 }
 
-                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);
-
                 // 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.commit();
@@ -1391,32 +868,8 @@
             try {
               Session session2 = database.newSession();
               try {
-                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);
-
                 // 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());
@@ -1447,48 +900,9 @@
             try {
               Session session2 = database.newSession();
               try {
-                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);
-
                 // 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
-                ));
-
-                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 = session2.query(createQuery(model3URI));
+                compareResults(expectedResults(), answer);
                 answer.close();
 
               } finally {
@@ -1547,32 +961,9 @@
                 logger.debug("Obtaining autocommit for session2");
                 session2.setAutoCommit(false);
                 logger.debug("Obtained autocommit for session2");
-                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);
-
                 // 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());
@@ -1640,32 +1031,9 @@
                 logger.debug("Obtaining autocommit for session2");
                 session2.setAutoCommit(false);
                 logger.debug("Obtained autocommit for session2");
-                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);
-
                 // 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());
@@ -1801,10 +1169,56 @@
     database = null;
   }
 
+
   //
   // 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