You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by jp...@apache.org on 2013/09/06 04:52:12 UTC

svn commit: r1520478 - in /jena/trunk/jena-spatial/src: main/java/examples/ main/java/org/apache/jena/query/spatial/ main/java/org/apache/jena/query/spatial/assembler/ test/java/org/apache/jena/query/spatial/ test/java/org/apache/jena/query/spatial/ass...

Author: jpz6311whu
Date: Fri Sep  6 02:52:11 2013
New Revision: 1520478

URL: http://svn.apache.org/r1520478
Log:
make the unit tests pass with or without JTS in classpath.

Modified:
    jena/trunk/jena-spatial/src/main/java/examples/JenaSpatialExample1.java
    jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java
    jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/assembler/EntityDefinitionAssembler.java
    jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestDatasetWithSpatialIndex.java
    jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
    jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
    jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
    jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/assembler/TestEntityDefinitionAssembler.java

Modified: jena/trunk/jena-spatial/src/main/java/examples/JenaSpatialExample1.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/main/java/examples/JenaSpatialExample1.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/main/java/examples/JenaSpatialExample1.java (original)
+++ jena/trunk/jena-spatial/src/main/java/examples/JenaSpatialExample1.java Fri Sep  6 02:52:11 2013
@@ -143,7 +143,11 @@ public class JenaSpatialExample1 {
 	
 	private static Dataset joinDataset(Dataset baseDataset, File indexDir) throws IOException{
 		EntityDefinition entDef = new EntityDefinition("entityField", "geoField");
-		entDef.setSpatialContextFactory("com.spatial4j.core.context.jts.JtsSpatialContextFactory");
+		
+		// you need JTS lib in the classpath to run the examples
+		entDef.setSpatialContextFactory(SpatialQuery.JTS_SPATIAL_CONTEXT_FACTORY_CLASS);
+		
+		// set custom goe predicates
 		entDef.addSpatialPredicatePair(ResourceFactory.createResource("http://localhost/jena_example/#latitude_1"), ResourceFactory.createResource("http://localhost/jena_example/#longitude_1"));
 		entDef.addSpatialPredicatePair(ResourceFactory.createResource("http://localhost/jena_example/#latitude_2"), ResourceFactory.createResource("http://localhost/jena_example/#longitude_2"));
 		entDef.addWKTPredicate(ResourceFactory.createResource("http://localhost/jena_example/#wkt_1"));

Modified: jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java (original)
+++ jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java Fri Sep  6 02:52:11 2013
@@ -38,7 +38,6 @@ import com.hp.hpl.jena.sparql.pfunction.
 import com.hp.hpl.jena.sparql.util.Symbol;
 import com.hp.hpl.jena.tdb.TDB;
 import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.jts.JtsSpatialContext;
 
 public class SpatialQuery
 {
@@ -58,6 +57,9 @@ public class SpatialQuery
     
     public static SpatialContext ctx = SpatialContext.GEO;
     
+    // an optional feature for WKT literals, loaded when necessary, but not required
+    public static final String JTS_SPATIAL_CONTEXT_FACTORY_CLASS = "com.spatial4j.core.context.jts.JtsSpatialContextFactory"; 
+    
     static { init() ; }
     
     public static void init() 

Modified: jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/assembler/EntityDefinitionAssembler.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/assembler/EntityDefinitionAssembler.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/assembler/EntityDefinitionAssembler.java (original)
+++ jena/trunk/jena-spatial/src/main/java/org/apache/jena/query/spatial/assembler/EntityDefinitionAssembler.java Fri Sep  6 02:52:11 2013
@@ -129,7 +129,11 @@ public class EntityDefinitionAssembler e
         } else {
         	QuerySolution qsol4 = results4.get(0);
         	String spatialContextFactory = qsol4.getLiteral("factory").getLexicalForm() ;
-        	docDef.setSpatialContextFactory(spatialContextFactory);
+        	try {
+        		docDef.setSpatialContextFactory(spatialContextFactory);
+        	}catch (NoClassDefFoundError e){
+        		Log.warn(this, "Custom SpatialContextFactory lib is not ready in classpath:"+ e.getMessage()) ;
+        	}
         	return docDef ;
         }  
     }

Modified: jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestDatasetWithSpatialIndex.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestDatasetWithSpatialIndex.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestDatasetWithSpatialIndex.java (original)
+++ jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestDatasetWithSpatialIndex.java Fri Sep  6 02:52:11 2013
@@ -99,7 +99,7 @@ public abstract class AbstractTestDatase
 		        
 		    }
 		    if (throwException){
-		    	fail("An exception is supposed to be thrown!");
+		    	fail("An exception is supposed to be thrown for spatial query!");
 		    }
 		    assertEquals( expectedNumResults > 0, results.hasNext());
 		    int count;

Modified: jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java (original)
+++ jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/AbstractTestIndexingSpatialData.java Fri Sep  6 02:52:11 2013
@@ -5,7 +5,11 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.atlas.logging.Log;
 import org.junit.Test;
+import static org.junit.Assert.fail;
+
+import com.spatial4j.core.exception.InvalidShapeException;
 
 public class AbstractTestIndexingSpatialData extends
 		AbstractTestDatasetWithSpatialIndex {
@@ -31,6 +35,17 @@ public class AbstractTestIndexingSpatial
 
 	@Test
 	public void testIndexingWKTLiteral() {
+		boolean jts_context_ready = false;
+		try {
+			SpatialIndex index = (SpatialIndex) dataset.getContext().get(
+					SpatialQuery.spatialIndex);
+			index.getDocDef().setSpatialContextFactory(
+					SpatialQuery.JTS_SPATIAL_CONTEXT_FACTORY_CLASS);
+			jts_context_ready = true;
+		}catch (NoClassDefFoundError e){
+			Log.warn(this, "JTS lib is not ready in classpath! An exception should be thrown later on!");
+		}
+		
 		final String turtle = StrUtils
 				.strjoinNL(
 						TURTLE_PROLOG,
@@ -48,7 +63,17 @@ public class AbstractTestIndexingSpatial
 		expectedURIs
 				.addAll(Arrays
 						.asList((new String[] { "http://example.org/data/resource/testIndexingWKTLiteral" })));
-		doTestSearch(turtle, queryString, expectedURIs);
+		
+		try {
+			doTestSearch(turtle, queryString, expectedURIs);
+			if (!jts_context_ready){
+				fail("An exception is supposed to be thrown for reading WKT shapes without JTS!");
+			}
+		}catch (InvalidShapeException e){
+			if (jts_context_ready){
+				fail("The exception is not supposed to be thrown: "+ e.getMessage());
+			}
+		}
 	}
 
 }

Modified: jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java (original)
+++ jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithLucene.java Fri Sep  6 02:52:11 2013
@@ -38,12 +38,6 @@ public class TestIndexingSpatialDataWith
 	public void init() throws IOException {
 		dataset = SpatialSearchUtil
 				.initInMemoryDatasetWithLuceneSpatitalIndex(INDEX_DIR);
-
-		SpatialIndex index = (SpatialIndex) dataset.getContext().get(
-				SpatialQuery.spatialIndex);
-		index.getDocDef().setSpatialContextFactory(
-				"com.spatial4j.core.context.jts.JtsSpatialContextFactory");
-
 	}
 
 	@After

Modified: jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java (original)
+++ jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/TestIndexingSpatialDataWithSolr.java Fri Sep  6 02:52:11 2013
@@ -29,12 +29,6 @@ public class TestIndexingSpatialDataWith
 	@Before
 	public void init() throws IOException {
 		dataset = SpatialSearchUtil.initInMemoryDatasetWithSolrSpatitalIndex();
-
-		SpatialIndex index = (SpatialIndex) dataset.getContext().get(
-				SpatialQuery.spatialIndex);
-		index.getDocDef().setSpatialContextFactory(
-				"com.spatial4j.core.context.jts.JtsSpatialContextFactory");
-
 	}
 
 	@After

Modified: jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/assembler/TestEntityDefinitionAssembler.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/assembler/TestEntityDefinitionAssembler.java?rev=1520478&r1=1520477&r2=1520478&view=diff
==============================================================================
--- jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/assembler/TestEntityDefinitionAssembler.java (original)
+++ jena/trunk/jena-spatial/src/test/java/org/apache/jena/query/spatial/assembler/TestEntityDefinitionAssembler.java Fri Sep  6 02:52:11 2013
@@ -19,7 +19,9 @@
 package org.apache.jena.query.spatial.assembler;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
+import org.apache.jena.atlas.logging.Log;
 import org.apache.jena.query.spatial.EntityDefinition;
 import org.apache.jena.query.spatial.SpatialIndexException;
 import org.apache.jena.query.spatial.SpatialQuery;
@@ -30,13 +32,12 @@ import com.hp.hpl.jena.rdf.model.ModelFa
 import com.hp.hpl.jena.rdf.model.RDFNode;
 import com.hp.hpl.jena.rdf.model.Resource;
 import com.hp.hpl.jena.rdf.model.ResourceFactory;
-import com.spatial4j.core.context.jts.JtsSpatialContext;
 
 /**
  * Test assembler for EntityDefinition
  */
 public class TestEntityDefinitionAssembler {
-	
+
 	private static final String TESTBASE = "http://example.org/test/";
 	private static final Resource spec0;
 	private static final Resource spec1;
@@ -45,159 +46,190 @@ public class TestEntityDefinitionAssembl
 	private static final Resource specNoEntityField;
 	private static final Resource specNoGeoField;
 
-	
-	@Test public void EntityHasGeoield() {
+	@Test
+	public void EntityHasGeoield() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec0, null);
 		assertEquals(SPEC0_GEO_FIELD, entityDef.getGeoField());
 	}
-	
-	@Test public void EntityHasEntityField() {
+
+	@Test
+	public void EntityHasEntityField() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec0, null);
-		assertEquals(SPEC0_ENTITY_FIELD, entityDef.getEntityField());		
+		assertEquals(SPEC0_ENTITY_FIELD, entityDef.getEntityField());
 	}
-	
-	@Test public void EntityHasPair() {
+
+	@Test
+	public void EntityHasPair() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec1, null);
 		assertEquals(1, entityDef.getCustomSpatialPredicatePairCount());
-		assertEquals(true, entityDef.hasSpatialPredicatePair(SPEC1_LATITUDE.asNode(), SPEC1_LONGITUDE.asNode()));
-		
+		assertEquals(true, entityDef.hasSpatialPredicatePair(
+				SPEC1_LATITUDE.asNode(), SPEC1_LONGITUDE.asNode()));
+
 	}
-	
-	@Test public void EntityHasWKT() {
+
+	@Test
+	public void EntityHasWKT() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec1, null);
 		assertEquals(1, entityDef.getCustomWKTPredicateCount());
 		assertEquals(true, entityDef.isWKTPredicate(SPEC1_WKT.asNode()));
-		
+
 	}
-	
 
-    @Test public void EntityHasMultiplePairsAndWKTs() {
+	@Test
+	public void EntityHasMultiplePairsAndWKTs() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec2, null);
 		assertEquals(2, entityDef.getCustomSpatialPredicatePairCount());
-		assertEquals(true, entityDef.hasSpatialPredicatePair(SPEC2_LATITUDE_1.asNode(), SPEC2_LONGITUDE_1.asNode()));
-		assertEquals(true, entityDef.hasSpatialPredicatePair(SPEC2_LATITUDE_2.asNode(), SPEC2_LONGITUDE_2.asNode()));
-		assertEquals(false, entityDef.hasSpatialPredicatePair(SPEC2_LATITUDE_1.asNode(), SPEC2_LONGITUDE_2.asNode()));
-		assertEquals(false, entityDef.hasSpatialPredicatePair(SPEC2_LATITUDE_2.asNode(), SPEC2_LONGITUDE_1.asNode()));
+		assertEquals(true, entityDef.hasSpatialPredicatePair(
+				SPEC2_LATITUDE_1.asNode(), SPEC2_LONGITUDE_1.asNode()));
+		assertEquals(true, entityDef.hasSpatialPredicatePair(
+				SPEC2_LATITUDE_2.asNode(), SPEC2_LONGITUDE_2.asNode()));
+		assertEquals(false, entityDef.hasSpatialPredicatePair(
+				SPEC2_LATITUDE_1.asNode(), SPEC2_LONGITUDE_2.asNode()));
+		assertEquals(false, entityDef.hasSpatialPredicatePair(
+				SPEC2_LATITUDE_2.asNode(), SPEC2_LONGITUDE_1.asNode()));
 		assertEquals(2, entityDef.getCustomWKTPredicateCount());
 		assertEquals(true, entityDef.isWKTPredicate(SPEC2_WKT_1.asNode()));
 		assertEquals(true, entityDef.isWKTPredicate(SPEC2_WKT_2.asNode()));
 		assertEquals(false, entityDef.isWKTPredicate(SPEC1_WKT.asNode()));
 	}
-    
-	@Test public void EntityHasSpatialContextFactory() {
+
+	@Test
+	public void EntityHasSpatialContextFactory() {
+		boolean jts_lib_ready = false;
+		try {
+			Class.forName("com.vividsolutions.jts.geom.Geometry");
+			jts_lib_ready = true;
+		} catch (ClassNotFoundException e) {
+			Log.warn(this,
+					"JTS lib is not ready in classpath! An exception should be thrown later on!");
+		}
+
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		EntityDefinition entityDef = emAssembler.open(null, spec3, null);
-		assertEquals(JtsSpatialContext.GEO.getClass().toString(), SpatialQuery.ctx.getClass().toString());
+		if (jts_lib_ready) {
+			assertEquals("com.spatial4j.core.context.jts.JtsSpatialContext",
+					SpatialQuery.ctx.getClass().getName());
+		} else {
+			assertEquals("com.spatial4j.core.context.SpatialContext",
+					SpatialQuery.ctx.getClass().getName());
+		}
+
 	}
-	
-	@Test(expected=SpatialIndexException.class) public void errorOnNoEntityField() {
+
+	@Test(expected = SpatialIndexException.class)
+	public void errorOnNoEntityField() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		emAssembler.open(null, specNoEntityField, null);
 	}
-	
-	@Test(expected=SpatialIndexException.class) public void errorOnNoGeoField() {
+
+	@Test(expected = SpatialIndexException.class)
+	public void errorOnNoGeoField() {
 		EntityDefinitionAssembler emAssembler = new EntityDefinitionAssembler();
 		emAssembler.open(null, specNoGeoField, null);
 	}
 
-	
 	private static final String SPEC0_ENTITY_FIELD = "spec0EntityField";
 	private static final String SPEC0_GEO_FIELD = "spec0GeoField";
-    
-    private static final String SPEC1_ENTITY_FIELD = "spec1EntityField";
+
+	private static final String SPEC1_ENTITY_FIELD = "spec1EntityField";
 	private static final String SPEC1_GEO_FIELD = "spec1GeoField";
-	private static final Resource SPEC1_LATITUDE = ResourceFactory.createResource(TESTBASE+"latitude");
-	private static final Resource SPEC1_LONGITUDE = ResourceFactory.createResource(TESTBASE+"longitude");
-	private static final Resource SPEC1_WKT = ResourceFactory.createResource(TESTBASE+"wkt");
-	
+	private static final Resource SPEC1_LATITUDE = ResourceFactory
+			.createResource(TESTBASE + "latitude");
+	private static final Resource SPEC1_LONGITUDE = ResourceFactory
+			.createResource(TESTBASE + "longitude");
+	private static final Resource SPEC1_WKT = ResourceFactory
+			.createResource(TESTBASE + "wkt");
+
 	private static final String SPEC2_ENTITY_FIELD = "spec2EntityField";
 	private static final String SPEC2_GEO_FIELD = "spec2DefaultField";
-	private static final Resource SPEC2_LATITUDE_1 = ResourceFactory.createResource(TESTBASE+"latitude_1");
-	private static final Resource SPEC2_LONGITUDE_1 = ResourceFactory.createResource(TESTBASE+"longitude_1");
-	private static final Resource SPEC2_LATITUDE_2 = ResourceFactory.createResource(TESTBASE+"latitude_2");
-	private static final Resource SPEC2_LONGITUDE_2 = ResourceFactory.createResource(TESTBASE+"longitude_2");
-	private static final Resource SPEC2_WKT_1 = ResourceFactory.createResource(TESTBASE+"wkt_1");
-	private static final Resource SPEC2_WKT_2 = ResourceFactory.createResource(TESTBASE+"wkt_2");
-	
-	private static final String SPEC3_SPATIALCONTEXTFACTORY = "com.spatial4j.core.context.jts.JtsSpatialContextFactory";
-	
+	private static final Resource SPEC2_LATITUDE_1 = ResourceFactory
+			.createResource(TESTBASE + "latitude_1");
+	private static final Resource SPEC2_LONGITUDE_1 = ResourceFactory
+			.createResource(TESTBASE + "longitude_1");
+	private static final Resource SPEC2_LATITUDE_2 = ResourceFactory
+			.createResource(TESTBASE + "latitude_2");
+	private static final Resource SPEC2_LONGITUDE_2 = ResourceFactory
+			.createResource(TESTBASE + "longitude_2");
+	private static final Resource SPEC2_WKT_1 = ResourceFactory
+			.createResource(TESTBASE + "wkt_1");
+	private static final Resource SPEC2_WKT_2 = ResourceFactory
+			.createResource(TESTBASE + "wkt_2");
+
 	static {
-		
+
 		// create a mininal specification
 		Model model = ModelFactory.createDefaultModel();
 		model = ModelFactory.createDefaultModel();
 		spec0 = model.createResource(TESTBASE + "spec0")
-				     .addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD)
-				     .addProperty(SpatialVocab.pGeoField, SPEC0_GEO_FIELD)
-				     ;
-		
+				.addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD)
+				.addProperty(SpatialVocab.pGeoField, SPEC0_GEO_FIELD);
+
 		// create a simple pair specification
 		model = ModelFactory.createDefaultModel();
-		spec1 = model.createResource(TESTBASE + "spec1")
-				     .addProperty(SpatialVocab.pEntityField, SPEC1_ENTITY_FIELD)
-				     .addProperty(SpatialVocab.pGeoField, SPEC1_GEO_FIELD)
-				     .addProperty(SpatialVocab.pHasSpatialPredicatePairs,
-				    		      model.createList(
-				    		    		  new RDFNode[] {
-				    		    				model.createResource()
-				    		    				     .addProperty(SpatialVocab.pLatitude, SPEC1_LATITUDE)
-				    		    				     .addProperty(SpatialVocab.pLongitude, SPEC1_LONGITUDE)
-				    		    		  }))
-				     .addProperty(SpatialVocab.pHasWKTPredicates,
-				    		      model.createList(
-				    		    		  new RDFNode[] {
-				    		    				  SPEC1_WKT
-				    		    		  }))
-				     ;
-		
-		// create an entity definition specification with multiple pairs and wkts
-		model = ModelFactory.createDefaultModel();
-		spec2 = model.createResource(TESTBASE + "spec2")
-			     .addProperty(SpatialVocab.pEntityField, SPEC2_ENTITY_FIELD)
-			     .addProperty(SpatialVocab.pGeoField, SPEC2_GEO_FIELD)
-			     .addProperty(SpatialVocab.pHasSpatialPredicatePairs,
-			    		      model.createList(
-			    		    		  new RDFNode[] {
-			    		    				model.createResource()
-			    		    				     .addProperty(SpatialVocab.pLatitude, SPEC2_LATITUDE_1)
-			    		    				     .addProperty(SpatialVocab.pLongitude, SPEC2_LONGITUDE_1),
-			    		    			    model.createResource()
-			    		    				     .addProperty(SpatialVocab.pLatitude, SPEC2_LATITUDE_2)
-			    		    				     .addProperty(SpatialVocab.pLongitude, SPEC2_LONGITUDE_2)
-			    		    		  }))
-			     .addProperty(SpatialVocab.pHasWKTPredicates,
-			    		      model.createList(
-			    		    		  new RDFNode[] {
-			    		    				  SPEC2_WKT_1, SPEC2_WKT_2
-			    		    		  }))
-			     ;
-		
+		spec1 = model
+				.createResource(TESTBASE + "spec1")
+				.addProperty(SpatialVocab.pEntityField, SPEC1_ENTITY_FIELD)
+				.addProperty(SpatialVocab.pGeoField, SPEC1_GEO_FIELD)
+				.addProperty(
+						SpatialVocab.pHasSpatialPredicatePairs,
+						model.createList(new RDFNode[] { model
+								.createResource()
+								.addProperty(SpatialVocab.pLatitude,
+										SPEC1_LATITUDE)
+								.addProperty(SpatialVocab.pLongitude,
+										SPEC1_LONGITUDE) }))
+				.addProperty(SpatialVocab.pHasWKTPredicates,
+						model.createList(new RDFNode[] { SPEC1_WKT }));
+
+		// create an entity definition specification with multiple pairs and
+		// wkts
+		model = ModelFactory.createDefaultModel();
+		spec2 = model
+				.createResource(TESTBASE + "spec2")
+				.addProperty(SpatialVocab.pEntityField, SPEC2_ENTITY_FIELD)
+				.addProperty(SpatialVocab.pGeoField, SPEC2_GEO_FIELD)
+				.addProperty(
+						SpatialVocab.pHasSpatialPredicatePairs,
+						model.createList(new RDFNode[] {
+								model.createResource()
+										.addProperty(SpatialVocab.pLatitude,
+												SPEC2_LATITUDE_1)
+										.addProperty(SpatialVocab.pLongitude,
+												SPEC2_LONGITUDE_1),
+								model.createResource()
+										.addProperty(SpatialVocab.pLatitude,
+												SPEC2_LATITUDE_2)
+										.addProperty(SpatialVocab.pLongitude,
+												SPEC2_LONGITUDE_2) }))
+				.addProperty(
+						SpatialVocab.pHasWKTPredicates,
+						model.createList(new RDFNode[] { SPEC2_WKT_1,
+								SPEC2_WKT_2 }));
+
 		// create an entity definition specification with spatialContextFactory
 		model = ModelFactory.createDefaultModel();
-		spec3 = model.createResource(TESTBASE + "spec0")
-				     .addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD)
-				     .addProperty(SpatialVocab.pGeoField, SPEC0_GEO_FIELD)
-				     .addProperty(SpatialVocab.pSpatialContextFactory, SPEC3_SPATIALCONTEXTFACTORY)
-				     ;
-		
+		spec3 = model
+				.createResource(TESTBASE + "spec0")
+				.addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD)
+				.addProperty(SpatialVocab.pGeoField, SPEC0_GEO_FIELD)
+				.addProperty(SpatialVocab.pSpatialContextFactory,
+						SpatialQuery.JTS_SPATIAL_CONTEXT_FACTORY_CLASS);
+
 		// bad assembler spec
 		model = ModelFactory.createDefaultModel();
-		specNoEntityField = 
-				model.createResource(TESTBASE + "specNoEntityField")
-				     .addProperty(SpatialVocab.pGeoField, SPEC0_GEO_FIELD)
-				     ;
-		
+		specNoEntityField = model
+				.createResource(TESTBASE + "specNoEntityField").addProperty(
+						SpatialVocab.pGeoField, SPEC0_GEO_FIELD);
+
 		// bad assembler spec
 		model = ModelFactory.createDefaultModel();
-		specNoGeoField = 
-				model.createResource(TESTBASE + "specNoGeoField")
-				     .addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD)
-				     ;
-		
+		specNoGeoField = model.createResource(TESTBASE + "specNoGeoField")
+				.addProperty(SpatialVocab.pEntityField, SPEC0_ENTITY_FIELD);
+
 	}
 }