You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/04/17 18:46:29 UTC

[42/50] [abbrv] zest-qi4j git commit: Final cleanup

Final cleanup


Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/503532e9
Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/503532e9
Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/503532e9

Branch: refs/heads/ramtej-fb/spatial.queries
Commit: 503532e9ab0b5269a5a97b4ee640160d0abd1d15
Parents: 8c01b5c
Author: jj <ju...@gmail.com>
Authored: Sat Jan 17 17:13:56 2015 +0100
Committer: jj <ju...@gmail.com>
Committed: Sat Jan 17 17:13:56 2015 +0100

----------------------------------------------------------------------
 .../main/java/org/qi4j/api/geometry/TCRS.java   |  20 +-
 .../java/org/qi4j/api/geometry/TLineString.java |  83 ++--
 .../org/qi4j/api/geometry/TMultiLineString.java |  17 +-
 .../org/qi4j/api/geometry/TMultiPolygon.java    |  19 +-
 .../geometry/internal/GeometryCollections.java  |  43 +-
 .../qi4j/api/geometry/internal/HasNoArea.java   |   7 -
 .../org/qi4j/api/geometry/internal/TCircle.java |  17 +-
 .../qi4j/api/geometry/internal/TGeometry.java   | 103 +++--
 .../api/geometry/internal/TGeometryRoot.java    |  28 --
 .../org/qi4j/api/geometry/internal/TShape.java  |   4 +-
 .../geometry/internal/builders/TCRSBuilder.java |  12 +-
 .../builders/TFeatureCollectionBuilder.java     |  21 +-
 .../internal/builders/TLinearRingBuilder.java   |  37 +-
 .../builders/TMultiLineStringBuilder.java       |  28 +-
 .../internal/builders/TMultiPointBuilder.java   |  21 +-
 .../internal/builders/TPointBuilder.java        |  39 +-
 .../internal/builders/TPolygonBuilder.java      |  25 +-
 .../spatial/SpatialQueryExpressions.java        |  46 +-
 .../convert/ST_GeomFromTextSpecification.java   |  32 +-
 .../convert/SpatialConvertSpecification.java    |  57 +--
 .../SpatialMeasurementsSpecification.java       |  60 ---
 .../predicate/ST_DisjointSpecification.java     |  30 +-
 .../predicate/ST_IntersectsSpecification.java   |  29 +-
 .../SpatialPredicatesSpecification.java         |  21 +-
 .../qi4j/api/geometry/TGeometryFactoryTest.java | 156 +++----
 .../test/indexing/AbstractAnyQueryTest.java     |   2 +-
 .../indexing/AbstractSpatialRegressionTest.java |  13 +-
 extensions/indexing-elasticsearch/build.gradle  |  13 +-
 .../elasticsearch/ElasticSearchFinder.java      |   5 -
 .../elasticsearch/ElasticSearchIndexer.java     |   5 +-
 .../functions/convert/ConvertFinderSupport.java |  26 +-
 .../predicates/PredicateFinderSupport.java      |  34 +-
 .../spatial/functions/predicates/ST_Within.java |  37 +-
 .../AbstractElasticSearchSpatialFunction.java   | 179 ++++----
 .../spatial/internal/InternalUtils.java         |  18 +-
 .../spatial/mappings/SpatialIndexMapper.java    |  37 +-
 .../mappings/builders/AbstractBuilder.java      |  21 +-
 .../mappings/cache/MappingsCachesTable.java     |  15 +-
 .../ElasticSearchSpatialQueryTest.java          | 237 ----------
 .../ElasticSearchSpatialClusterQueryTest.java   | 132 ------
 ...chSpatialQueryTestUsingGeoPointIndexing.java |  14 +-
 ...SearchSpatialRegressionQueryClusterTest.java |  90 ----
 .../spatial/model/VerifyStatialTypes.java       |  36 --
 .../spatial/model/entity/SpatialEntity.java     |  11 -
 .../extension/spatial/utils/RandomUtils.java    | 438 -------------------
 .../resources/ElasticSearchBenchmark.properties |  30 --
 .../ElasticSearchGeoShapeIndexing.properties    |   4 +-
 .../spatial/assembly/TGeometryAssembler.java    |  10 +-
 .../spatial/conversions/TConversions.java       |  30 --
 .../spatial/conversions/from/FromHelper.java    |  58 ---
 .../spatial/conversions/to/ToHelper.java        |  62 ---
 .../formats/conversions/from/FromHelper.java    |  61 +++
 .../conversions/from/GeoJsonFromConverter.java  | 200 +++++++++
 .../conversions/to/GeoJsonToConverter.java      |  76 ++++
 .../spatial/projection/ProjectionsRegistry.java |  75 ----
 .../transformations/TTransformations.java       |  31 --
 .../transformations/fromto/FromHelper.java      |  41 --
 .../projections/ProjectionsRegistry.java        |  79 ++++
 .../transformations/fromto/FromHelper.java      |  44 ++
 .../transformations/fromto/ToHelper.java        | 158 +++++++
 .../conversions/ConversionsFromWktTest.java     |  33 --
 .../ConversionsWithProjectionsTest.java         |  86 ----
 .../formats/data/GeoJSONSwissLakes2013.java     | 176 ++++++++
 .../spatial/topo/GeoJSONSpec20080616.java       |  27 --
 .../transformations/TransformationsTest.java    |  22 +-
 samples/openstreetmap/build.gradle              |  19 -
 .../domain/openstreetmap/model/OSMEntity.java   |  11 -
 .../model/interactions/api/FeatureCmds.java     |  48 --
 .../openstreetmap/model/state/FeatureState.java |  19 -
 .../model/state/IdentifiableState.java          |  18 -
 .../model/state/PropertiesState.java            |  18 -
 .../openstreetmap/model/v2/FeatureEntityV2.java |  13 -
 .../openstreetmap/model/v2/OSMEntityV2.java     |  11 -
 .../model/v2/structure/Feature.java             |  79 ----
 .../openstreetmap/model/v2/structure/OSM.java   | 109 -----
 .../openstreetmap/model/test/TestOSMModel.java  | 431 ------------------
 settings.gradle                                 |   1 -
 77 files changed, 1486 insertions(+), 2912 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/TCRS.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/TCRS.java b/core/api/src/main/java/org/qi4j/api/geometry/TCRS.java
index 0f94f61..67c605c 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/TCRS.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/TCRS.java
@@ -14,37 +14,35 @@
 
 package org.qi4j.api.geometry;
 
-import org.qi4j.api.geometry.internal.TGeometryRoot;
 import org.qi4j.api.injection.scope.Structure;
 import org.qi4j.api.injection.scope.This;
 import org.qi4j.api.mixin.Mixins;
 import org.qi4j.api.property.Property;
 import org.qi4j.api.structure.Module;
+import org.qi4j.api.value.ValueComposite;
 
 @Mixins(TCRS.Mixin.class)
-public interface TCRS extends TGeometryRoot {
-
-
+public interface TCRS extends ValueComposite
+{
     Property<String> definition();
-
     TCRS of(String crs);
-
     String crs();
 
-
-    public abstract class Mixin implements TCRS {
+    public abstract class Mixin implements TCRS
+    {
         @Structure
         Module module;
-
         @This
         TCRS self;
 
-        public TCRS of(String crs) {
+        public TCRS of(String crs)
+        {
             self.definition().set(crs);
             return self;
         }
 
-        public String crs() {
+        public String crs()
+        {
             return self.definition().get();
         }
     }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/TLineString.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/TLineString.java b/core/api/src/main/java/org/qi4j/api/geometry/TLineString.java
index 33b1a23..d9b0959 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/TLineString.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/TLineString.java
@@ -27,7 +27,8 @@ import java.util.List;
 
 
 @Mixins(TLineString.Mixin.class)
-public interface TLineString extends TGeometry {
+public interface TLineString extends TGeometry
+{
 
     Property<List<TPoint>> points();
 
@@ -38,86 +39,102 @@ public interface TLineString extends TGeometry {
     TLineString yx(double y, double x);
 
     boolean isEmpty();
+
     int getNumPoints();
+
     TPoint getPointN(int n);
     TPoint getStartPoint();
     TPoint getEndPoint();
+
     boolean isClosed();
     boolean isRing();
+
     int compareTo(TLineString line);
 
-    public abstract class Mixin implements TLineString {
+    public abstract class Mixin implements TLineString
+    {
         @This
         TLineString self;
 
         @Structure
         Module module;
 
-        public TLineString of(List<TPoint> points) {
+        public TLineString of(List<TPoint> points)
+        {
             of(points.toArray(new TPoint[points.size()]));
             return self;
         }
 
 
-        public TLineString of(TPoint... points) {
+        public TLineString of(TPoint... points)
+        {
 
             List<TPoint> l = new ArrayList<>();
-
-            for (TPoint p : points) {
+            for (TPoint p : points)
+            {
                 l.add(p);
             }
-
             if (self.isEmpty())
                 self.points().set(l);
             else
                 self.points().get().addAll(l);
-
             self.geometryType().set(TGEOMETRY_TYPE.LINESTRING);
-
             return self;
         }
 
-        public TLineString of() {
+        public TLineString of()
+        {
             return self;
         }
 
-        public TLineString yx(double y, double x) {
+        public TLineString yx(double y, double x)
+        {
             of(module.newValueBuilder(TPoint.class).prototype().x(x).y(y));
             return self;
         }
 
-        public boolean isEmpty() {
+        public boolean isEmpty()
+        {
             return (self.points() == null) || (self.points().get() == null) || (self.points().get().isEmpty()) ? true : false;
         }
 
-        public int getNumPoints() {
+        public int getNumPoints()
+        {
             return isEmpty() ? 0 : self.points().get().size();
         }
 
-        public TPoint getPointN(int n) {
+        public TPoint getPointN(int n)
+        {
             return self.points().get().get(n);
         }
 
-        public TPoint getStartPoint() {
-            if (isEmpty()) {
+        public TPoint getStartPoint()
+        {
+            if (isEmpty())
+            {
                 return null;
             }
             return getPointN(0);
         }
 
-        public TPoint getEndPoint() {
-            if (isEmpty()) {
+        public TPoint getEndPoint()
+        {
+            if (isEmpty())
+            {
                 return null;
             }
             return getPointN(getNumPoints() - 1);
         }
 
-        public Coordinate[] getCoordinates() {
+        public Coordinate[] getCoordinates()
+        {
             int k = -1;
             Coordinate[] coordinates = new Coordinate[getNumPoints()];
-            for (int i = 0; i < getNumPoints(); i++) {
+            for (int i = 0; i < getNumPoints(); i++)
+            {
                 Coordinate[] childCoordinates = getPointN(i).getCoordinates();
-                for (int j = 0; j < childCoordinates.length; j++) {
+                for (int j = 0; j < childCoordinates.length; j++)
+                {
                     k++;
                     coordinates[k] = childCoordinates[j];
                 }
@@ -125,33 +142,41 @@ public interface TLineString extends TGeometry {
             return coordinates;
         }
 
-        public boolean isClosed() {
-            if (isEmpty()) {
+        public boolean isClosed()
+        {
+            if (isEmpty())
+            {
                 return false;
             }
             return getStartPoint().compareTo(getEndPoint()) == 0 ? true : false;
         }
 
-        public boolean isRing() {
+        public boolean isRing()
+        {
             return isClosed();
         }
 
-        public int compareTo(TLineString line) {
+        public int compareTo(TLineString line)
+        {
 
             int i = 0;
             int j = 0;
-            while (i < self.getNumPoints() && j < line.getNumPoints()) {
+            while (i < self.getNumPoints() && j < line.getNumPoints())
+            {
                 int comparison = self.getPointN(i).compareTo(line.getPointN(j));
-                if (comparison != 0) {
+                if (comparison != 0)
+                {
                     return comparison;
                 }
                 i++;
                 j++;
             }
-            if (i < self.getNumPoints()) {
+            if (i < self.getNumPoints())
+            {
                 return 1;
             }
-            if (j < line.getNumPoints()) {
+            if (j < line.getNumPoints())
+            {
                 return -1;
             }
             return 0;

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/TMultiLineString.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/TMultiLineString.java b/core/api/src/main/java/org/qi4j/api/geometry/TMultiLineString.java
index 9b12a3f..3d8ba09 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/TMultiLineString.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/TMultiLineString.java
@@ -25,28 +25,35 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Mixins(TMultiLineString.Mixin.class)
-public interface TMultiLineString extends GeometryCollections {
+public interface TMultiLineString extends GeometryCollections
+{
 
     TMultiLineString of(TLineString... lines);
+
     TMultiLineString of(List<TLineString> lines);
 
-    public abstract class Mixin extends GeometryCollections.Mixin implements TMultiLineString {
+    public abstract class Mixin extends GeometryCollections.Mixin implements TMultiLineString
+    {
         @Structure
         Module module;
 
         @This
         TMultiLineString self;
 
-        public TMultiLineString of(List<TLineString> lines) {
+        public TMultiLineString of(List<TLineString> lines)
+        {
             of(lines.toArray(new TLineString[lines.size()]));
             return self;
         }
-        public TMultiLineString of(TLineString... lines) {
+
+        public TMultiLineString of(TLineString... lines)
+        {
             self.geometryType().set(TGEOMETRY_TYPE.MULTILINESTRING);
             init();
             List<TGeometry> l = new ArrayList<>();
 
-            for (TLineString p : lines) {
+            for (TLineString p : lines)
+            {
                 l.add(p);
             }
             if (self.isEmpty())

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/TMultiPolygon.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/TMultiPolygon.java b/core/api/src/main/java/org/qi4j/api/geometry/TMultiPolygon.java
index 2538df4..4eb37c1 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/TMultiPolygon.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/TMultiPolygon.java
@@ -25,28 +25,35 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Mixins(TMultiPolygon.Mixin.class)
-public interface TMultiPolygon extends GeometryCollections {
+public interface TMultiPolygon extends GeometryCollections
+{
 
     TMultiPolygon of(TPolygon... polygons);
+
     TMultiPolygon of(List<TPolygon> polygons);
 
-    public abstract class Mixin extends GeometryCollections.Mixin implements TMultiPolygon {
+    public abstract class Mixin extends GeometryCollections.Mixin implements TMultiPolygon
+    {
         @Structure
         Module module;
 
         @This
         TMultiPolygon self;
 
-        public TMultiPolygon of(List<TPolygon> polygons) {
+        public TMultiPolygon of(List<TPolygon> polygons)
+        {
             of(polygons.toArray(new TPolygon[polygons.size()]));
             return self;
         }
-        public TMultiPolygon of(TPolygon... polygons) {
-            self.geometryType().set(TGEOMETRY_TYPE.MULTIPOLYGON);
+
+        public TMultiPolygon of(TPolygon... polygons)
+        {
             init();
+            self.geometryType().set(TGEOMETRY_TYPE.MULTIPOLYGON);
             List<TGeometry> l = new ArrayList<>();
 
-            for (TPolygon p : polygons) {
+            for (TPolygon p : polygons)
+            {
                 l.add(p);
             }
             if (self.isEmpty())

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/GeometryCollections.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/GeometryCollections.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/GeometryCollections.java
index 48b0537..7f9d5a8 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/GeometryCollections.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/GeometryCollections.java
@@ -20,10 +20,9 @@ import org.qi4j.api.property.Property;
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * Created by jj on 28.11.14.
- */
-public interface GeometryCollections extends TGeometry {
+
+public interface GeometryCollections extends TGeometry
+{
 
     Property<List<TGeometry>> geometries();
     TGeometry getGeometryN(int n);
@@ -33,14 +32,15 @@ public interface GeometryCollections extends TGeometry {
 
     boolean isEmpty();
 
-    public abstract class Mixin extends TGeometry.Mixin implements GeometryCollections {
+    public abstract class Mixin extends TGeometry.Mixin implements GeometryCollections
+    {
 
         @This
         GeometryCollections self;
 
 
-        protected void init() {
-
+        protected void init()
+        {
             if (self.geometries().get() == null)
             {
                 List<TGeometry> geometries = new ArrayList<>();
@@ -48,7 +48,8 @@ public interface GeometryCollections extends TGeometry {
             }
         }
 
-        public boolean isEmpty() {
+        public boolean isEmpty()
+        {
             for (int i = 0; i < self.geometries().get().size(); i++)
             {
                 if (!self.geometries().get().get(i).isEmpty())
@@ -59,30 +60,36 @@ public interface GeometryCollections extends TGeometry {
             return true;
         }
 
-        public int getNumGeometries() {
+        public int getNumGeometries()
+        {
             return self.geometries().get().size();
         }
 
-        public TGeometry getGeometryN(int n) {
+        public TGeometry getGeometryN(int n)
+        {
             return self.geometries().get().get(n);
         }
-
-        public Coordinate[] getCoordinates() {
+        public Coordinate[] getCoordinates()
+        {
             Coordinate[] coordinates = new Coordinate[self.getNumPoints()];
             int k = -1;
-            for (int i = 0; i < self.getNumGeometries(); i++) {
+            for (int i = 0; i < self.getNumGeometries(); i++)
+            {
                 Coordinate[] childCoordinates = self.geometries().get().get(i).getCoordinates();
-                    for (int j = 0; j < childCoordinates.length; j++) {
-                        k++;
-                        coordinates[k] = childCoordinates[j];
+                for (int j = 0; j < childCoordinates.length; j++)
+                {
+                    k++;
+                    coordinates[k] = childCoordinates[j];
                 }
             }
             return coordinates;
         }
 
-        public int getNumPoints() {
+        public int getNumPoints()
+        {
             int numPoints = 0;
-            for (int i = 0; i < self.geometries().get().size(); i++) {
+            for (int i = 0; i < self.geometries().get().size(); i++)
+            {
                 numPoints += self.geometries().get().get(i).getNumPoints();
             }
             return numPoints;

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/HasNoArea.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/HasNoArea.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/HasNoArea.java
deleted file mode 100644
index c03f86f..0000000
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/HasNoArea.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.qi4j.api.geometry.internal;
-
-/**
- * Created by jj on 02.12.14.
- */
-public interface HasNoArea {
-}

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/TCircle.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/TCircle.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/TCircle.java
index fcc4203..b52b28d 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/TCircle.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/TCircle.java
@@ -8,14 +8,12 @@ import org.qi4j.api.injection.scope.This;
 import org.qi4j.api.mixin.Mixins;
 import org.qi4j.api.property.Property;
 import org.qi4j.api.structure.Module;
-import org.qi4j.api.value.ValueBuilder;
-
-import java.util.List;
 
 @Mixins(TCircle.Mixin.class)
-    public interface TCircle extends TGeometry
+public interface TCircle extends TGeometry
 {
     Property<TPoint> point();
+
     Property<Double> radius();
 
     TCircle of(TPoint point, double radius);
@@ -25,8 +23,8 @@ import java.util.List;
 
     TCircle yx(double y, double x);
     TCircle yx(double y, double x, double radius);
-    TCircle radius(double r);
 
+    TCircle radius(double r);
     TPoint getCentre();
     TPolygon polygonize(int numOfPoints);
 
@@ -93,8 +91,6 @@ import java.util.List;
             double centreX = self.getCentre().x();
             double centreY = self.getCentre().y();
 
-           // ValueBuilder<TPoint> pB = module.newValueBuilder(TPoint.class);
-
             TPoint[] pts = new TPoint[numOfPoints + 1];
             int pt = 0;
             for (int i = 0; i < numOfPoints; i++)
@@ -106,17 +102,14 @@ import java.util.List;
             }
 
             pts[pt++] = module.newValueBuilder(TPoint.class).prototype().of(pts[0].getCoordinates());
-
-            TLinearRing tLinearRing = (TLinearRing)module.newValueBuilder(TLinearRing.class).prototype().of(pts);
-           // System.out.println(tLinearRing);
+            TLinearRing tLinearRing = (TLinearRing) module.newValueBuilder(TLinearRing.class).prototype().of(pts);
 
             if (tLinearRing.isValid())
             {
                 TPolygon tPolygon = module.newValueBuilder(TPolygon.class).prototype().of(tLinearRing);
                 tPolygon.setCRS(self.getCRS());
                 return module.newValueBuilder(TPolygon.class).prototype().of(tLinearRing);
-            }
-            else
+            } else
                 return null;
         }
     }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometry.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometry.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometry.java
index 18c273c..533ee14 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometry.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometry.java
@@ -14,8 +14,6 @@
 
 package org.qi4j.api.geometry.internal;
 
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiPoint;
 import org.qi4j.api.common.Optional;
 import org.qi4j.api.common.UseDefaults;
 import org.qi4j.api.geometry.*;
@@ -24,22 +22,28 @@ import org.qi4j.api.injection.scope.This;
 import org.qi4j.api.mixin.Mixins;
 import org.qi4j.api.property.Property;
 import org.qi4j.api.structure.Module;
+import org.qi4j.api.value.ValueComposite;
 
 @Mixins(TGeometry.Mixin.class)
-public interface TGeometry extends TGeometryRoot {
+public interface TGeometry extends ValueComposite
+{
+    enum TGEOMETRY_TYPE
+    {
+        POINT, MULTIPOINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, FEATURE, FEATURECOLLECTION, INVALID
+    }
 
     Property<TGEOMETRY_TYPE> geometryType();
 
     @Optional
     @UseDefaults
     Property<String> CRS();
-
-
     String getCRS();
     void setCRS(String crs);
 
     abstract Coordinate[] getCoordinates();
+
     abstract int getNumPoints();
+
     abstract boolean isEmpty();
 
     TGEOMETRY_TYPE getType();
@@ -71,7 +75,10 @@ public interface TGeometry extends TGeometryRoot {
     boolean isGeometry();
     boolean isGeometry(Object tGeometry);
 
-    public abstract class Mixin implements TGeometry {
+
+
+    public abstract class Mixin implements TGeometry
+    {
 
         @Structure
         Module module;
@@ -79,122 +86,138 @@ public interface TGeometry extends TGeometryRoot {
         @This
         TGeometry self;
 
-        public String getCRS() {
+        public String getCRS()
+        {
             return self.CRS().get();
         }
 
-        public void setCRS(String crs) {
+        public void setCRS(String crs)
+        {
             self.CRS().set(crs);
         }
 
 
-        public int getNumPoints() {
+        public int getNumPoints()
+        {
             return 0;
         }
 
-        public Coordinate[] getCoordinates() {
+        public Coordinate[] getCoordinates()
+        {
             throw new RuntimeException("Should never be called");
         }
 
-        public boolean isEmpty() {
+        public boolean isEmpty()
+        {
             throw new RuntimeException("Should never be called");
         }
 
         public TGEOMETRY_TYPE getType()
         {
             // "strong typing" - type & instanceOf must match
-            switch(self.geometryType().get())
+            switch (self.geometryType().get())
             {
-                case POINT              : return self.isPoint()             == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.POINT;
-                case MULTIPOINT         : return self.isMultiPoint()        == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.MULTIPOINT;
-                case LINESTRING         : return self.isLineString()        == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.LINESTRING;
-                case MULTILINESTRING    : return self.isMultiLineString()   == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.MULTILINESTRING;
-                case POLYGON            : return self.isPolygon()           == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.POLYGON;
-                case MULTIPOLYGON       : return self.isMultiPolygon()      == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.MULTIPOLYGON;
-                case FEATURE            : return self.isFeature()           == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.FEATURE;
-                case FEATURECOLLECTION  : return self.isFeatureCollection() == false ? TGEOMETRY_TYPE.INVALID:TGEOMETRY_TYPE.FEATURECOLLECTION;
-                default                 : return TGEOMETRY_TYPE.INVALID;
+                case POINT:
+                    return self.isPoint() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.POINT;
+                case MULTIPOINT:
+                    return self.isMultiPoint() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.MULTIPOINT;
+                case LINESTRING:
+                    return self.isLineString() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.LINESTRING;
+                case MULTILINESTRING:
+                    return self.isMultiLineString() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.MULTILINESTRING;
+                case POLYGON:
+                    return self.isPolygon() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.POLYGON;
+                case MULTIPOLYGON:
+                    return self.isMultiPolygon() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.MULTIPOLYGON;
+                case FEATURE:
+                    return self.isFeature() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.FEATURE;
+                case FEATURECOLLECTION:
+                    return self.isFeatureCollection() == false ? TGEOMETRY_TYPE.INVALID : TGEOMETRY_TYPE.FEATURECOLLECTION;
+                default:
+                    return TGEOMETRY_TYPE.INVALID;
             }
         }
 
         public boolean isPoint()
         {
-            return self instanceof TPoint ? true:false;
+            return self instanceof TPoint ? true : false;
         }
         public boolean isPoint(TGeometry tGeometry)
         {
-            return tGeometry instanceof TPoint ? true:false;
+            return tGeometry instanceof TPoint ? true : false;
         }
 
         public boolean isMultiPoint()
         {
-            return self instanceof TMultiPoint ? true:false;
+            return self instanceof TMultiPoint ? true : false;
         }
         public boolean isMultiPoint(TGeometry tGeometry)
         {
-            return tGeometry instanceof TMultiPoint ? true:false;
+            return tGeometry instanceof TMultiPoint ? true : false;
         }
 
         public boolean isLineString()
         {
-            return self instanceof TLineString ? true:false;
+            return self instanceof TLineString ? true : false;
         }
         public boolean isLineString(TGeometry tGeometry)
         {
-            return tGeometry instanceof TLineString ? true:false;
+            return tGeometry instanceof TLineString ? true : false;
         }
 
         public boolean isMultiLineString()
         {
-            return self instanceof TMultiLineString ? true:false;
+            return self instanceof TMultiLineString ? true : false;
         }
         public boolean isMultiLineString(TGeometry tGeometry)
         {
-            return tGeometry instanceof TMultiLineString ? true:false;
+            return tGeometry instanceof TMultiLineString ? true : false;
         }
+
         public boolean isPolygon()
         {
-            return self instanceof TPolygon ? true:false;
+            return self instanceof TPolygon ? true : false;
         }
         public boolean isPolygon(TGeometry tGeometry)
         {
-            return tGeometry instanceof TPolygon ? true:false;
+            return tGeometry instanceof TPolygon ? true : false;
         }
+
         public boolean isMultiPolygon()
         {
-            return self instanceof TMultiPolygon ? true:false;
+            return self instanceof TMultiPolygon ? true : false;
         }
         public boolean isMultiPolygon(TGeometry tGeometry)
         {
-            return tGeometry instanceof TMultiPolygon ? true:false;
+            return tGeometry instanceof TMultiPolygon ? true : false;
         }
+
         public boolean isFeature()
         {
-            return self instanceof TFeature ? true:false;
+            return self instanceof TFeature ? true : false;
         }
         public boolean isFeature(TGeometry tGeometry)
         {
-            return tGeometry instanceof TFeature ? true:false;
+            return tGeometry instanceof TFeature ? true : false;
         }
 
         public boolean isFeatureCollection()
         {
-            return self instanceof TFeatureCollection ? true:false;
+            return self instanceof TFeatureCollection ? true : false;
         }
         public boolean isFeatureCollection(TGeometry tGeometry)
         {
-            return tGeometry instanceof TFeatureCollection ? true:false;
+            return tGeometry instanceof TFeatureCollection ? true : false;
         }
 
         public boolean isGeometry()
         {
-            return self instanceof TGeometry ? true:false;
+            return self instanceof TGeometry ? true : false;
         }
         public boolean isGeometry(Object tGeometry)
         {
-            return tGeometry instanceof TGeometry ? true:false;
+            return tGeometry instanceof TGeometry ? true : false;
         }
-
     }
 
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometryRoot.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometryRoot.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometryRoot.java
deleted file mode 100644
index 25731c0..0000000
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/TGeometryRoot.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2014, Jiri Jetmar. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.geometry.internal;
-
-import org.qi4j.api.value.ValueComposite;
-
-/**
- * Created by jakes on 2/7/14.
- */
-public interface TGeometryRoot extends ValueComposite {
-
-    public static enum TGEOMETRY_TYPE {POINT, MULTIPOINT, LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, FEATURE, FEATURECOLLECTION, INVALID}
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/TShape.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/TShape.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/TShape.java
index 7c0f8da..d56eb71 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/TShape.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/TShape.java
@@ -14,5 +14,7 @@
 
 package org.qi4j.api.geometry.internal;
 
-public interface TShape extends TGeometry {
+public interface TShape extends TGeometry
+{
+    // marking interface
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TCRSBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TCRSBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TCRSBuilder.java
index 1f37197..e089b5a 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TCRSBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TCRSBuilder.java
@@ -17,21 +17,21 @@ package org.qi4j.api.geometry.internal.builders;
 import org.qi4j.api.geometry.TCRS;
 import org.qi4j.api.structure.Module;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TCRSBuilder {
+public class TCRSBuilder
+{
 
     private Module module;
     private TCRS geometry;
 
 
-    public TCRSBuilder(Module module) {
+    public TCRSBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TCRS.class).prototype();
     }
 
-    public TCRS crs(String crs) {
+    public TCRS crs(String crs)
+    {
         return geometry.of(crs);
     }
 

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TFeatureCollectionBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TFeatureCollectionBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TFeatureCollectionBuilder.java
index 4fae6cc..fd27562 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TFeatureCollectionBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TFeatureCollectionBuilder.java
@@ -20,35 +20,38 @@ import org.qi4j.api.structure.Module;
 
 import java.util.List;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TFeatureCollectionBuilder {
+public class TFeatureCollectionBuilder
+{
 
     private Module module;
     private TFeatureCollection geometry;
 
 
-    public TFeatureCollectionBuilder(Module module) {
+    public TFeatureCollectionBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TFeatureCollection.class).prototype();
     }
 
-    public TFeatureCollectionBuilder of(List<TFeature> features) {
+    public TFeatureCollectionBuilder of(List<TFeature> features)
+    {
         geometry.of(features);
         return this;
     }
 
-    public TFeatureCollectionBuilder of(TFeature... features) {
+    public TFeatureCollectionBuilder of(TFeature... features)
+    {
         geometry.of(features);
         return this;
     }
 
-    public TFeatureCollection geometry() {
+    public TFeatureCollection geometry()
+    {
         return geometry;
     }
 
-    public TFeatureCollection geometry(int srid) {
+    public TFeatureCollection geometry(int srid)
+    {
         return geometry();
     }
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TLinearRingBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TLinearRingBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TLinearRingBuilder.java
index 42b30da..b057cbb 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TLinearRingBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TLinearRingBuilder.java
@@ -18,52 +18,45 @@ import org.qi4j.api.geometry.TPoint;
 import org.qi4j.api.geometry.internal.TLinearRing;
 import org.qi4j.api.structure.Module;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TLinearRingBuilder {
+
+public class TLinearRingBuilder
+{
 
     private Module module;
     private TLinearRing geometry;
 
 
-    public TLinearRingBuilder(Module module) {
+    public TLinearRingBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TLinearRing.class).prototype();
     }
 
 
-    public TLinearRingBuilder ring(double[][] ring) {
-        for (double xy[] : ring) {
+    public TLinearRingBuilder ring(double[][] ring)
+    {
+        for (double xy[] : ring)
+        {
             if (xy.length < 2) return null;
             geometry.yx(xy[0], xy[1]);
         }
         return this;
     }
 
-    public TLinearRingBuilder of(TPoint... points) {
+    public TLinearRingBuilder of(TPoint... points)
+    {
         geometry().of(points);
         return this;
     }
 
-    /**
-     * public TLinearRingBuilder of()
-     * {
-     * geometry().of();
-     * return this;
-     * }
-     */
-
-
-    public TLinearRing geometry() {
-        // System.out.println(geometry + " " + geometry.isValid() );
+    public TLinearRing geometry()
+    {
 
-        // if (!geometry.isValid()) throw new RuntimeException("Ring not valid");
-        //    else
         return geometry;
     }
 
-    public TLinearRing geometry(int srid) {
+    public TLinearRing geometry(int srid)
+    {
         return geometry();
     }
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiLineStringBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiLineStringBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiLineStringBuilder.java
index 9862301..c852d3a 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiLineStringBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiLineStringBuilder.java
@@ -20,45 +20,49 @@ import org.qi4j.api.structure.Module;
 
 import java.util.List;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TMultiLineStringBuilder {
+public class TMultiLineStringBuilder
+{
 
     private Module module;
     private TMultiLineString geometry;
 
 
-    public TMultiLineStringBuilder(Module module) {
+    public TMultiLineStringBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TMultiLineString.class).prototype();
     }
 
 
-    public TMultiLineStringBuilder points(double[][][] points) {
-        for (double xy[][] : points) {
+    public TMultiLineStringBuilder points(double[][][] points)
+    {
+        for (double xy[][] : points)
+        {
             if (xy.length < 2) return null;
-            // geometry.xy(xy[0], xy[1]);
         }
         return this;
     }
 
-    public TMultiLineStringBuilder of(List<TLineString> lines) {
+    public TMultiLineStringBuilder of(List<TLineString> lines)
+    {
         geometry.of(lines);
         return this;
     }
 
-    public TMultiLineStringBuilder of(TLineString... lines) {
+    public TMultiLineStringBuilder of(TLineString... lines)
+    {
         geometry.of(lines);
         return this;
     }
 
 
-    public TMultiLineString geometry() {
+    public TMultiLineString geometry()
+    {
         return geometry;
     }
 
-    public TMultiLineString geometry(int srid) {
+    public TMultiLineString geometry(int srid)
+    {
         return geometry();
     }
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiPointBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiPointBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiPointBuilder.java
index a68d80c..0fe8ad1 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiPointBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TMultiPointBuilder.java
@@ -21,36 +21,43 @@ import org.qi4j.api.structure.Module;
 /**
  * Created by jj on 26.11.14.
  */
-public class TMultiPointBuilder {
+public class TMultiPointBuilder
+{
 
     private Module module;
     private TMultiPoint geometry;
 
 
-    public TMultiPointBuilder(Module module) {
+    public TMultiPointBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TMultiPoint.class).prototype();
     }
 
     // Format { lat, lon }
-    public TMultiPointBuilder points(double[][] points) {
-        for (double yx[] : points) {
+    public TMultiPointBuilder points(double[][] points)
+    {
+        for (double yx[] : points)
+        {
             if (yx.length < 2) return null;
             geometry.yx(yx[0], yx[1]);
         }
         return this;
     }
 
-    public TMultiPointBuilder of(TPoint... points) {
+    public TMultiPointBuilder of(TPoint... points)
+    {
         geometry().of(points);
         return this;
     }
 
-    public TMultiPoint geometry() {
+    public TMultiPoint geometry()
+    {
         return geometry;
     }
 
-    public TMultiPoint geometry(String CRS) {
+    public TMultiPoint geometry(String CRS)
+    {
         geometry().setCRS(CRS);
         return geometry();
     }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPointBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPointBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPointBuilder.java
index bd5f356..d632459 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPointBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPointBuilder.java
@@ -18,65 +18,70 @@ import org.qi4j.api.geometry.TPoint;
 import org.qi4j.api.geometry.internal.TGeometry;
 import org.qi4j.api.structure.Module;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TPointBuilder {
+
+public class TPointBuilder
+{
 
     private Module module;
     private TPoint geometry;
 
 
-    public TPointBuilder(Module module) {
+    public TPointBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TPoint.class).prototype();
     }
 
-    public TPointBuilder x(double x) {
+    public TPointBuilder x(double x)
+    {
         geometry.x(x);
         return this;
     }
 
-    public TPointBuilder y(double y) {
+    public TPointBuilder y(double y)
+    {
         geometry.y(y);
         return this;
     }
 
-    public TPointBuilder z(double u) {
+    public TPointBuilder z(double u)
+    {
         geometry.z(u);
         return this;
     }
 
 
-    public TPointBuilder lat(double lat) {
+    public TPointBuilder lat(double lat)
+    {
         geometry.y(lat);
         return this;
     }
 
-    public TPointBuilder lon(double lon) {
+    public TPointBuilder lon(double lon)
+    {
         geometry.x(lon);
         return this;
     }
 
-    public TPointBuilder alt(double alt) {
+    public TPointBuilder alt(double alt)
+    {
         geometry.z(alt);
         return this;
     }
 
 
-
-
-
     public boolean isPoint(TGeometry tGeometry)
     {
-        return tGeometry instanceof TPoint ?  true :  false;
+        return tGeometry instanceof TPoint ? true : false;
     }
 
-    public TPoint geometry() {
+    public TPoint geometry()
+    {
         return geometry;
     }
 
-    public TPoint geometry(String CRS) {
+    public TPoint geometry(String CRS)
+    {
         geometry().setCRS(CRS);
         return geometry();
     }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPolygonBuilder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPolygonBuilder.java b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPolygonBuilder.java
index 7ca9a97..d3f6b72 100644
--- a/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPolygonBuilder.java
+++ b/core/api/src/main/java/org/qi4j/api/geometry/internal/builders/TPolygonBuilder.java
@@ -18,41 +18,46 @@ import org.qi4j.api.geometry.TPolygon;
 import org.qi4j.api.geometry.internal.TLinearRing;
 import org.qi4j.api.structure.Module;
 
-/**
- * Created by jj on 26.11.14.
- */
-public class TPolygonBuilder {
+
+public class TPolygonBuilder
+{
 
     private Module module;
     private TPolygon geometry;
 
 
-    public TPolygonBuilder(Module module) {
+    public TPolygonBuilder(Module module)
+    {
         this.module = module;
         geometry = module.newValueBuilder(TPolygon.class).prototype();
     }
 
-    public TPolygonBuilder shell(TLinearRing shell) {
+    public TPolygonBuilder shell(TLinearRing shell)
+    {
         geometry.of(shell);
         return this;
     }
 
-    public TPolygonBuilder shell(double[][] shell) {
+    public TPolygonBuilder shell(double[][] shell)
+    {
         geometry.of(new TLinearRingBuilder(module).ring(shell).geometry());
         return this;
     }
 
-    public TPolygonBuilder withHoles(TLinearRing... holes) {
+    public TPolygonBuilder withHoles(TLinearRing... holes)
+    {
         geometry.withHoles(holes);
         return this;
     }
 
 
-    public TPolygon geometry() {
+    public TPolygon geometry()
+    {
         return geometry;
     }
 
-    public TPolygon geometry(String CRS) {
+    public TPolygon geometry(String CRS)
+    {
         geometry().setCRS(CRS);
         return geometry();
     }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/SpatialQueryExpressions.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/SpatialQueryExpressions.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/SpatialQueryExpressions.java
index c86a090..e1bdb34 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/SpatialQueryExpressions.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/SpatialQueryExpressions.java
@@ -2,8 +2,8 @@ package org.qi4j.api.query.grammar.extensions.spatial;
 
 import org.qi4j.api.geometry.TPoint;
 import org.qi4j.api.geometry.TUnit;
-import org.qi4j.api.geometry.internal.TShape;
 import org.qi4j.api.geometry.internal.TGeometry;
+import org.qi4j.api.geometry.internal.TShape;
 import org.qi4j.api.property.Property;
 import org.qi4j.api.query.QueryExpressions;
 import org.qi4j.api.query.grammar.extensions.spatial.convert.ST_GeomFromTextSpecification;
@@ -14,73 +14,73 @@ import org.qi4j.api.query.grammar.extensions.spatial.predicate.ST_WithinSpecific
 import org.qi4j.functional.Specification;
 
 
-public final class SpatialQueryExpressions extends QueryExpressions {
+public final class SpatialQueryExpressions extends QueryExpressions
+{
 
     // ST_Within
-    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within( Property<T> geometry, TPoint param, double distance, TUnit unit)
+    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within(Property<T> geometry, TPoint param, double distance, TUnit unit)
     {
-        return new ST_WithinSpecification( property(geometry), param, distance, unit);
+        return new ST_WithinSpecification(property(geometry), param, distance, unit);
     }
 
-    public static <T extends TGeometry>  ST_WithinSpecification<TGeometry> ST_Within( Property<T> geometry, TShape param)
+    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within(Property<T> geometry, TShape param)
     {
-       return new ST_WithinSpecification( property(geometry), param);
+        return new ST_WithinSpecification(property(geometry), param);
     }
 
-    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within( Property<T> geometry, Specification<SpatialConvertSpecification> operator, double distance, TUnit unit )
+    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within(Property<T> geometry, Specification<SpatialConvertSpecification> operator, double distance, TUnit unit)
     {
-        return new ST_WithinSpecification( property(geometry), operator, distance, unit);
+        return new ST_WithinSpecification(property(geometry), operator, distance, unit);
     }
 
-    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within( Property<T> geometry, Specification<SpatialConvertSpecification> operator)
+    public static <T extends TGeometry> ST_WithinSpecification<TGeometry> ST_Within(Property<T> geometry, Specification<SpatialConvertSpecification> operator)
     {
-        return new ST_WithinSpecification( property(geometry), operator);
+        return new ST_WithinSpecification(property(geometry), operator);
     }
 
     // ST_Disjoint
-    public static <T extends TGeometry> ST_DisjointSpecification<TGeometry> ST_Disjoint( Property<T> geometry, Specification<SpatialConvertSpecification> operator, long distance )
+    public static <T extends TGeometry> ST_DisjointSpecification<TGeometry> ST_Disjoint(Property<T> geometry, Specification<SpatialConvertSpecification> operator, long distance)
     {
-        return new ST_DisjointSpecification( property(geometry), operator, distance);
+        return new ST_DisjointSpecification(property(geometry), operator, distance);
     }
 
-    public static <T extends TGeometry> ST_DisjointSpecification<TGeometry> ST_Disjoint( Property<T> geometry, TPoint param, double distance, TUnit unit)
+    public static <T extends TGeometry> ST_DisjointSpecification<TGeometry> ST_Disjoint(Property<T> geometry, TPoint param, double distance, TUnit unit)
     {
-        return new ST_DisjointSpecification( property(geometry), param, distance, unit);
+        return new ST_DisjointSpecification(property(geometry), param, distance, unit);
     }
 
-    public static <T extends TGeometry>  ST_DisjointSpecification<TGeometry> ST_Disjoint( Property<T> geometry, TShape param)
+    public static <T extends TGeometry> ST_DisjointSpecification<TGeometry> ST_Disjoint(Property<T> geometry, TShape param)
     {
         return new ST_DisjointSpecification(property(geometry), param);
     }
 
 
     // ST_Intersects
-    public static <T extends TGeometry> ST_IntersectsSpecification<TGeometry> ST_Intersects( Property<T> geometry, Specification<SpatialConvertSpecification> operator, long distance )
+    public static <T extends TGeometry> ST_IntersectsSpecification<TGeometry> ST_Intersects(Property<T> geometry, Specification<SpatialConvertSpecification> operator, long distance)
     {
-        return new ST_IntersectsSpecification( property(geometry), operator, distance);
+        return new ST_IntersectsSpecification(property(geometry), operator, distance);
     }
 
-    public static <T extends TGeometry> ST_IntersectsSpecification<TGeometry> ST_Intersects( Property<T> geometry, TPoint value, double distance, TUnit unit)
+    public static <T extends TGeometry> ST_IntersectsSpecification<TGeometry> ST_Intersects(Property<T> geometry, TPoint value, double distance, TUnit unit)
     {
-        return new ST_IntersectsSpecification( property(geometry), value, distance, unit);
+        return new ST_IntersectsSpecification(property(geometry), value, distance, unit);
     }
 
-    public static <T extends TGeometry>  ST_IntersectsSpecification<TGeometry> ST_Intersects( Property<T> geometry, TShape param)
+    public static <T extends TGeometry> ST_IntersectsSpecification<TGeometry> ST_Intersects(Property<T> geometry, TShape param)
     {
         return new ST_IntersectsSpecification(property(geometry), param);
     }
 
 
-
     // ST_GeometryFromText
     public static Specification<SpatialConvertSpecification> ST_GeometryFromText(String WKT)
     {
-        return ST_GeometryFromText( WKT, null);
+        return ST_GeometryFromText(WKT, null);
     }
 
     public static Specification<SpatialConvertSpecification> ST_GeometryFromText(String WKT, String crs)
     {
-        return new ST_GeomFromTextSpecification( WKT, crs);
+        return new ST_GeomFromTextSpecification(WKT, crs);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/ST_GeomFromTextSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/ST_GeomFromTextSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/ST_GeomFromTextSpecification.java
index d802c36..b7e76a5 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/ST_GeomFromTextSpecification.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/ST_GeomFromTextSpecification.java
@@ -1,45 +1,19 @@
 package org.qi4j.api.query.grammar.extensions.spatial.convert;
 
-import com.spatial4j.core.context.SpatialContext;
-import com.spatial4j.core.context.jts.JtsSpatialContextFactory;
-import com.spatial4j.core.io.jts.JtsWKTReaderShapeParser;
-import com.spatial4j.core.io.jts.JtsWktShapeParser;
-import com.spatial4j.core.shape.Circle;
-import com.spatial4j.core.shape.Point;
-import com.spatial4j.core.shape.Shape;
-import com.spatial4j.core.shape.jts.JtsGeometry;
-import com.spatial4j.core.shape.jts.JtsPoint;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.LineString;
-import com.vividsolutions.jts.geom.MultiPolygon;
-import com.vividsolutions.jts.geom.Polygon;
-import org.qi4j.api.geometry.TPoint;
-import org.qi4j.api.geometry.TPolygon;
 import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TLinearRing;
-import org.qi4j.api.structure.Module;
-import org.qi4j.api.value.ValueBuilder;
-import static org.qi4j.api.geometry.TGeometryFactory.*;
 
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
 
-/**
- * ST_Within Specification.
- *
- */
 public class ST_GeomFromTextSpecification<T extends TGeometry>
-    extends SpatialConvertSpecification<T>
+        extends SpatialConvertSpecification<T>
 {
     public ST_GeomFromTextSpecification(String WKT, String crs)
     {
-        super( WKT, crs );
+        super(WKT, crs);
     }
 
     @Override
     public String toString()
     {
-        return "converting"; //property.toString() + " is within " + value.toString();
+        return "CONVERTING ( " +  geometryAsWKT + " )";
     }
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/SpatialConvertSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/SpatialConvertSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/SpatialConvertSpecification.java
index 1d77fd7..7e4f13b 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/SpatialConvertSpecification.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/convert/SpatialConvertSpecification.java
@@ -3,77 +3,42 @@ package org.qi4j.api.query.grammar.extensions.spatial.convert;
 import org.qi4j.api.composite.Composite;
 import org.qi4j.api.geometry.internal.TGeometry;
 import org.qi4j.api.query.grammar.ExpressionSpecification;
-import org.qi4j.api.structure.Module;
 
-import java.text.ParseException;
 
-/**
- * Base Spatial Predicates Specification.
- *
- * ST_Equals, ST_Disjoint, ST_Intersects, ST_Touches, ST_Crosses, ST_Within, ST_Contains, ST_Overlaps and ST_Relate
- */
 public abstract class SpatialConvertSpecification<T>
-    extends ExpressionSpecification
+        extends ExpressionSpecification
 {
-    protected  String    geometryAsWKT;
-    protected  TGeometry geometry;
-    protected  String    crs;
+    protected String geometryAsWKT;
+    protected TGeometry geometry;
+    protected String crs;
 
 
     public SpatialConvertSpecification(String wkt, String crs)
     {
-        this.geometryAsWKT  = wkt;
-        this.crs            = crs;
+        this.geometryAsWKT = wkt;
+        this.crs = crs;
     }
 
 
-
     public String property()
     {
         return geometryAsWKT;
     }
 
-    public void setGeometry(TGeometry geometry)
+    public TGeometry getGeometry()
     {
-        this.geometry = geometry;
+        return this.geometry;
     }
 
-    public TGeometry getGeometry()
+    public void setGeometry(TGeometry geometry)
     {
-        return this.geometry;
+        this.geometry = geometry;
     }
 
     @Override
-    public final boolean satisfiedBy( Composite item )
+    public final boolean satisfiedBy(Composite item)
     {
-//        try
-//        {
-//            Property<TGeometry> prop = WKT.map( item );
-//
-//            if( prop == null )
-//            {
-//                return false;
-//            }
-//
-//            TGeometry propValue = prop.get();
-//            if( propValue == null )
-//            {
-//                return false;
-//            }
-//
-//            return convert( propValue );
-//        }
-//        catch( IllegalArgumentException e )
-//        {
-//            return false;
-//        }
         return true;
     }
 
-
-
-//    public TGeometry value()
-//    {
-//        return value;
-//    }
 }

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/measurements/SpatialMeasurementsSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/measurements/SpatialMeasurementsSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/measurements/SpatialMeasurementsSpecification.java
deleted file mode 100644
index 51de60c..0000000
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/measurements/SpatialMeasurementsSpecification.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.qi4j.api.query.grammar.extensions.spatial.measurements;
-
-import org.qi4j.api.composite.Composite;
-import org.qi4j.api.query.grammar.ExpressionSpecification;
-import org.qi4j.api.query.grammar.PropertyFunction;
-import org.qi4j.functional.Specification;
-
-/**
- * Base Common Spatial Relationships Specification based on the DE-9IM
- */
-public abstract class SpatialMeasurementsSpecification<T>
-    extends ExpressionSpecification
-{
-
-    // TODO JJ : The following spatial functions are specified :
-    // ST_Disjoint, ST_Intersects, ST_Touches, ST_Crosses, ST_Within,
-    // ST_Contains and ST_Overlaps
-
-    //  Known Specifications - http://en.wikipedia.org/wiki/Spatial_database
-    // - SpatialMeasurementsSpecification
-    // - SpatialFunctionsSpecification
-    // - SpatialPredicatesSpecification
-    // - SpatialConstructorsSpecification
-    // - SpatialObserverFunctionsSpecification
-
-
-
-
-
-
-    // protected final Iterable<Specification<Composite>> operands;
-
-    protected final PropertyFunction<T> property;
-    protected final T value;
-
-    public SpatialMeasurementsSpecification(PropertyFunction<T> property, T value)
-    {
-        this.property = property;
-        this.value = value;
-    }
-
-    public PropertyFunction<T> property()
-    {
-        return property;
-    }
-
-    public T value()
-    {
-        return value;
-    }
-
-
-
-
-    public Iterable<Specification<Composite>> operands()
-    {
-      //  return operands;
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_DisjointSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_DisjointSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_DisjointSpecification.java
index 3d85281..703e955 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_DisjointSpecification.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_DisjointSpecification.java
@@ -4,13 +4,12 @@ import org.qi4j.api.geometry.TPoint;
 import org.qi4j.api.geometry.TUnit;
 import org.qi4j.api.geometry.internal.TGeometry;
 import org.qi4j.api.query.grammar.PropertyFunction;
-import org.qi4j.api.query.grammar.Variable;
 import org.qi4j.api.query.grammar.extensions.spatial.convert.SpatialConvertSpecification;
 import org.qi4j.functional.Specification;
 
 
 public class ST_DisjointSpecification<T extends TGeometry>
-    extends SpatialPredicatesSpecification<T>
+        extends SpatialPredicatesSpecification<T>
 {
 
     private double distance;
@@ -18,30 +17,37 @@ public class ST_DisjointSpecification<T extends TGeometry>
 
     public ST_DisjointSpecification(PropertyFunction<T> property, TGeometry param)
     {
-        super( property, param );
+        super(property, param);
     }
 
     public ST_DisjointSpecification(PropertyFunction<T> property, Specification<SpatialConvertSpecification> operator, long distance)
     {
-        super( property, operator );
+        super(property, operator);
     }
 
     public ST_DisjointSpecification(PropertyFunction<T> property, TPoint value, double distance, TUnit unit)
     {
-        super( property, value );
-        this.distance   = distance;
-        this.unit       = unit;
+        super(property, value);
+        this.distance = distance;
+        this.unit = unit;
     }
 
 
-    public double getDistance() { return distance; }
-    public TUnit  getUnit() { return unit; }
+    public double getDistance()
+    {
+        return distance;
+    }
+
+    public TUnit getUnit()
+    {
+        return unit;
+    }
 
 
-   @Override
-    protected boolean compare( TGeometry param )
+    @Override
+    protected boolean compare(TGeometry param)
     {
-        return param.equals( this.param );
+        return param.equals(this.param);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_IntersectsSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_IntersectsSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_IntersectsSpecification.java
index 90cb3ab..6fda01f 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_IntersectsSpecification.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/ST_IntersectsSpecification.java
@@ -4,13 +4,12 @@ import org.qi4j.api.geometry.TPoint;
 import org.qi4j.api.geometry.TUnit;
 import org.qi4j.api.geometry.internal.TGeometry;
 import org.qi4j.api.query.grammar.PropertyFunction;
-import org.qi4j.api.query.grammar.Variable;
 import org.qi4j.api.query.grammar.extensions.spatial.convert.SpatialConvertSpecification;
 import org.qi4j.functional.Specification;
 
 
 public class ST_IntersectsSpecification<T extends TGeometry>
-    extends SpatialPredicatesSpecification<T>
+        extends SpatialPredicatesSpecification<T>
 {
 
     private double distance;
@@ -18,31 +17,37 @@ public class ST_IntersectsSpecification<T extends TGeometry>
 
     public ST_IntersectsSpecification(PropertyFunction<T> property, TGeometry param)
     {
-        super( property, param );
+        super(property, param);
     }
 
     public ST_IntersectsSpecification(PropertyFunction<T> property, Specification<SpatialConvertSpecification> operator, long distance)
     {
-        super( property, operator );
+        super(property, operator);
     }
 
     public ST_IntersectsSpecification(PropertyFunction<T> property, TPoint param, double distance, TUnit unit)
     {
-        super( property, param );
-        this.distance   = distance;
-        this.unit       = unit;
+        super(property, param);
+        this.distance = distance;
+        this.unit = unit;
     }
 
 
+    public double getDistance()
+    {
+        return distance;
+    }
 
-    public double getDistance() { return distance; }
-    public TUnit  getUnit() { return unit; }
+    public TUnit getUnit()
+    {
+        return unit;
+    }
 
 
-   @Override
-    protected boolean compare( TGeometry param )
+    @Override
+    protected boolean compare(TGeometry param)
     {
-        return param.equals( this.param );
+        return param.equals(this.param);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/SpatialPredicatesSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/SpatialPredicatesSpecification.java b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/SpatialPredicatesSpecification.java
index 9d3dfec..2e876b5 100644
--- a/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/SpatialPredicatesSpecification.java
+++ b/core/api/src/main/java/org/qi4j/api/query/grammar/extensions/spatial/predicate/SpatialPredicatesSpecification.java
@@ -10,11 +10,11 @@ import org.qi4j.functional.Specification;
 
 /**
  * Base Spatial Predicates Specification.
- *
+ * <p/>
  * ST_Equals, ST_Disjoint, ST_Intersects, ST_Touches, ST_Crosses, ST_Within, ST_Contains, ST_Overlaps and ST_Relate
  */
 public abstract class SpatialPredicatesSpecification<T extends TGeometry>
-    extends ExpressionSpecification
+        extends ExpressionSpecification
 {
     protected final PropertyFunction<T> property;
     protected final TGeometry param;
@@ -31,7 +31,7 @@ public abstract class SpatialPredicatesSpecification<T extends TGeometry>
     {
         this.property = property;
         this.operator = operator;
-        this.param    = null;
+        this.param = null;
     }
 
     public PropertyFunction<T> property()
@@ -40,32 +40,31 @@ public abstract class SpatialPredicatesSpecification<T extends TGeometry>
     }
 
     @Override
-    public final boolean satisfiedBy( Composite item )
+    public final boolean satisfiedBy(Composite item)
     {
         try
         {
-            Property<T> prop = property.map( item );
+            Property<T> prop = property.map(item);
 
-            if( prop == null )
+            if (prop == null)
             {
                 return false;
             }
 
             TGeometry propValue = prop.get();
-            if( propValue == null )
+            if (propValue == null)
             {
                 return false;
             }
 
-            return compare( propValue );
-        }
-        catch( IllegalArgumentException e )
+            return compare(propValue);
+        } catch (IllegalArgumentException e)
         {
             return false;
         }
     }
 
-    protected abstract boolean compare( TGeometry value );
+    protected abstract boolean compare(TGeometry value);
 
     public TGeometry param()
     {

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/api/src/test/java/org/qi4j/api/geometry/TGeometryFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/api/src/test/java/org/qi4j/api/geometry/TGeometryFactoryTest.java b/core/api/src/test/java/org/qi4j/api/geometry/TGeometryFactoryTest.java
index 30276bd..1871807 100644
--- a/core/api/src/test/java/org/qi4j/api/geometry/TGeometryFactoryTest.java
+++ b/core/api/src/test/java/org/qi4j/api/geometry/TGeometryFactoryTest.java
@@ -17,7 +17,6 @@ package org.qi4j.api.geometry;
 import org.junit.Test;
 import org.qi4j.api.geometry.internal.Coordinate;
 import org.qi4j.api.geometry.internal.TGeometry;
-import org.qi4j.api.geometry.internal.TGeometryRoot;
 import org.qi4j.api.geometry.internal.TLinearRing;
 import org.qi4j.bootstrap.AssemblyException;
 import org.qi4j.bootstrap.ModuleAssembly;
@@ -25,9 +24,11 @@ import org.qi4j.test.AbstractQi4jTest;
 
 import static org.hamcrest.core.IsEqual.equalTo;
 import static org.junit.Assert.*;
+import static org.qi4j.api.geometry.TGeometryFactory.*;
 import static org.qi4j.api.geometry.TGeometryFactory.TFeature;
 import static org.qi4j.api.geometry.TGeometryFactory.TFeatureCollection;
-import static org.qi4j.api.geometry.TGeometryFactory.*;
+import static org.qi4j.api.geometry.TGeometryFactory.TLineString;
+import static org.qi4j.api.geometry.TGeometryFactory.TMultiLineString;
 import static org.qi4j.api.geometry.TGeometryFactory.TMultiPoint;
 import static org.qi4j.api.geometry.TGeometryFactory.TMultiPolygon;
 import static org.qi4j.api.geometry.TGeometryFactory.TPoint;
@@ -35,7 +36,8 @@ import static org.qi4j.api.geometry.TGeometryFactory.TPolygon;
 
 
 public class TGeometryFactoryTest
-        extends AbstractQi4jTest {
+        extends AbstractQi4jTest
+{
 
     private final double ZERO = 0d;
     private final String CRS_EPSG_27572 = "EPSG:27572";
@@ -48,15 +50,15 @@ public class TGeometryFactoryTest
         module.values(Coordinate.class, TLinearRing.class, TGeometry.class);
         // API values
         module.values(
-                                TCRS.class,
-                                TPoint.class,
-                                TMultiPoint.class,
-                                TLineString.class,
-                                TMultiLineString.class,
-                                TPolygon.class,
-                                TMultiPolygon.class,
-                                TFeature.class,
-                                TFeatureCollection.class);
+                TCRS.class,
+                TPoint.class,
+                TMultiPoint.class,
+                TLineString.class,
+                TMultiLineString.class,
+                TPolygon.class,
+                TMultiPolygon.class,
+                TFeature.class,
+                TFeatureCollection.class);
 
         TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
         tGeometry.CRS().set(CRS_EPSG_27572);
@@ -100,8 +102,8 @@ public class TGeometryFactoryTest
                 }).geometry();
 
         assertTrue(multiPoint.getNumGeometries() == 2);
-        assertEquals(multiPoint.getType(), TGeometryRoot.TGEOMETRY_TYPE.MULTIPOINT);
-        assertEquals(multiPoint.getGeometryN(0).getType(), TGeometryRoot.TGEOMETRY_TYPE.POINT);
+        assertEquals(multiPoint.getType(), TGeometry.TGEOMETRY_TYPE.MULTIPOINT);
+        assertEquals(multiPoint.getGeometryN(0).getType(), TGeometry.TGEOMETRY_TYPE.POINT);
         assertTrue(multiPoint.getCoordinates().length == 2);
         assertThat(multiPoint.getCRS(), equalTo(CRS_EPSG_27572));
 
@@ -133,11 +135,11 @@ public class TGeometryFactoryTest
 
         TLineString line = TLineString(module).points(new double[][]
                 {
-                                                {0, 0},
-                                                {1, 0},
-                                                {1, 1},
-                                                {0, 1},
-                                                {0, 1}
+                        {0, 0},
+                        {1, 0},
+                        {1, 1},
+                        {0, 1},
+                        {0, 1}
 
                 }).geometry();
 
@@ -171,17 +173,17 @@ public class TGeometryFactoryTest
     }
 
 
-        @Test
+    @Test
     public void script06()
     {
 
         TLinearRing ring = TLinearRing(module).ring(new double[][]
                 {
-                                                {0, 0},
-                                                {1, 0},
-                                                {1, 1},
-                                                {0, 1},
-                                                {0, 0}
+                        {0, 0},
+                        {1, 0},
+                        {1, 1},
+                        {0, 1},
+                        {0, 0}
                 }).geometry();
 
         assertThat(ring.getCRS(), equalTo(CRS_EPSG_27572));
@@ -275,32 +277,32 @@ public class TGeometryFactoryTest
                         (
                                 new double[][]
                                         {
-                                                    {0, 0},
-                                                    {3, 0},
-                                                    {1, 3},
-                                                    {0, 3},
-                                                    {0, 0}
+                                                {0, 0},
+                                                {3, 0},
+                                                {1, 3},
+                                                {0, 3},
+                                                {0, 0}
                                         }
                         )
                 .withHoles(
 
                         TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {1, 0},
-                                                    {1, 1},
-                                                    {0, 1},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {1, 0},
+                                        {1, 1},
+                                        {0, 1},
+                                        {0, 0}
 
                                 }).geometry()
 
                         , TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {2, 0},
-                                                    {2, 2},
-                                                    {0, 2},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {2, 0},
+                                        {2, 2},
+                                        {0, 2},
+                                        {0, 0}
 
                                 }).geometry()
                 )
@@ -313,7 +315,8 @@ public class TGeometryFactoryTest
 
 
     @Test
-    public void script12() {
+    public void script12()
+    {
 
         TPolygon polygon1 = TPolygon(module)
 
@@ -321,11 +324,11 @@ public class TGeometryFactoryTest
                         (
                                 new double[][]
                                         {
-                                                    {0, 0},
-                                                    {4, 0},
-                                                    {0, 4},
-                                                    {0, 4},
-                                                    {0, 0}
+                                                {0, 0},
+                                                {4, 0},
+                                                {0, 4},
+                                                {0, 4},
+                                                {0, 0}
                                         }
 
 
@@ -334,21 +337,21 @@ public class TGeometryFactoryTest
 
                         TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {1, 0},
-                                                    {1, 1},
-                                                    {0, 1},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {1, 0},
+                                        {1, 1},
+                                        {0, 1},
+                                        {0, 0}
 
                                 }).geometry()
 
                         , TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {2, 0},
-                                                    {2, 2},
-                                                    {0, 2},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {2, 0},
+                                        {2, 2},
+                                        {0, 2},
+                                        {0, 0}
 
                                 }).geometry()
 
@@ -362,11 +365,11 @@ public class TGeometryFactoryTest
                         (
                                 new double[][]
                                         {
-                                                    {0, 0},
-                                                    {3, 0},
-                                                    {1, 3},
-                                                    {0, 3},
-                                                    {0, 0}
+                                                {0, 0},
+                                                {3, 0},
+                                                {1, 3},
+                                                {0, 3},
+                                                {0, 0}
                                         }
 
 
@@ -375,21 +378,21 @@ public class TGeometryFactoryTest
 
                         TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {1, 0},
-                                                    {1, 1},
-                                                    {0, 1},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {1, 0},
+                                        {1, 1},
+                                        {0, 1},
+                                        {0, 0}
 
                                 }).geometry()
 
                         , TLinearRing(module).ring(new double[][]
                                 {
-                                                    {0, 0},
-                                                    {2, 0},
-                                                    {2, 2},
-                                                    {0, 2},
-                                                    {0, 0}
+                                        {0, 0},
+                                        {2, 0},
+                                        {2, 2},
+                                        {0, 2},
+                                        {0, 0}
 
                                 }).geometry()
 
@@ -404,10 +407,11 @@ public class TGeometryFactoryTest
     }
 
     @Test
-    public void script13() {
+    public void script13()
+    {
 
         TFeature featureOfAPoint = TFeature(module).of(TPoint(module).x(1d).y(2d).z(3d).geometry()).geometry();
-        assertEquals(featureOfAPoint.getType(), TGeometryRoot.TGEOMETRY_TYPE.FEATURE);
+        assertEquals(featureOfAPoint.getType(), TGeometry.TGEOMETRY_TYPE.FEATURE);
         assertFalse(featureOfAPoint.isEmpty());
         assertEquals(featureOfAPoint.getNumPoints(), 1);
         assertThat(featureOfAPoint.getCRS(), equalTo(CRS_EPSG_27572));
@@ -415,7 +419,8 @@ public class TGeometryFactoryTest
     }
 
     @Test
-    public void script14() {
+    public void script14()
+    {
 
         TFeature featureOfAPolygon = TFeature(module).of(
 
@@ -441,7 +446,8 @@ public class TGeometryFactoryTest
     }
 
     @Test
-    public void script15() {
+    public void script15()
+    {
         TFeature featureOfAPolygon = TFeature(module).of(
 
                 TPolygon(module)

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractAnyQueryTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractAnyQueryTest.java b/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractAnyQueryTest.java
index 21d701d..1c5ba2e 100644
--- a/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractAnyQueryTest.java
+++ b/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractAnyQueryTest.java
@@ -79,7 +79,7 @@ public class AbstractAnyQueryTest
         TGeometry tGeometry = module.forMixin(TGeometry.class).declareDefaults();
         tGeometry.CRS().set(CRS_EPSG_4326);
 
-        // new EntityTestAssembler().assemble( module );
+        new EntityTestAssembler().assemble( module );
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractSpatialRegressionTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractSpatialRegressionTest.java b/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractSpatialRegressionTest.java
index f442cdf..025909c 100644
--- a/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractSpatialRegressionTest.java
+++ b/core/testsupport/src/main/java/org/qi4j/test/indexing/AbstractSpatialRegressionTest.java
@@ -267,9 +267,9 @@ public abstract class AbstractSpatialRegressionTest
                         .where(
                                 ST_Within
                                         (
-                                         templateFor(A.class).point(),
-                                         TPoint(module).y(2389280.7514562616).x(1286436.5975464052).geometry("EPSG:27572"),
-                                         10,TUnit.METER
+                                                templateFor(A.class).point(),
+                                                TPoint(module).y(1286436.5975464052).x(2389280.7514562616).geometry("EPSG:27572"),
+                                                10, TUnit.METER
                                         )
                         ));
         System.out.println(query);
@@ -511,7 +511,6 @@ public abstract class AbstractSpatialRegressionTest
         query.find();
         assertEquals(1, query.count());
         TLineString tLineString = query.iterator().next().line().get();
-        System.out.println(tLineString);
     }
 
 
@@ -567,7 +566,7 @@ public abstract class AbstractSpatialRegressionTest
                         .where(
                                 ST_Within
                                         (
-                                                templateFor(A.class).nested().get().point(), // <- "nested.point" : [ 11.57958984375, 48.13905780942574 ]
+                                                templateFor(A.class).nested().get().point(), // <- "nested.point"
                                                 TPoint(module).y(48.13905780942574).x(11.57958984375).geometry(),
                                                 10,TUnit.METER
                                         )
@@ -697,13 +696,13 @@ public abstract class AbstractSpatialRegressionTest
                                         ST_Disjoint
                                                 (
                                                         templateFor(A.class).point(),
-                                                        TPoint(module).y(2389280.7514562616).x(1286436.5975464052).geometry("EPSG:27572"),
+                                                        TPoint(module).y(1286436.5975464052).x(2389280.7514562616).geometry("EPSG:27572"),
                                                         10, TUnit.METER
                                                 ),
                                         ST_Within
                                                 (
                                                         templateFor(A.class).point(),
-                                                        TPoint(module).y(2389280.7514562616).x(1286436.5975464052).geometry("EPSG:27572"),
+                                                        TPoint(module).y(1286436.5975464052).x(2389280.7514562616).geometry("EPSG:27572"),
                                                         1000,TUnit.KILOMETER
                                                 )
                                 )

http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/503532e9/extensions/indexing-elasticsearch/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/build.gradle b/extensions/indexing-elasticsearch/build.gradle
index 883ef33..e27eda9 100644
--- a/extensions/indexing-elasticsearch/build.gradle
+++ b/extensions/indexing-elasticsearch/build.gradle
@@ -7,13 +7,8 @@ dependencies {
   compile project(":org.qi4j.core:org.qi4j.core.bootstrap")
   compile project(":org.qi4j.libraries:org.qi4j.library.fileconfig")
   compile project(":org.qi4j.libraries:org.qi4j.library.spatial")
-  compile project(":org.qi4j.libraries:org.qi4j.library.sql")
-  compile project(":org.qi4j.extensions:org.qi4j.extension.entitystore-sql")
-  compile project(":org.qi4j.extensions:org.qi4j.extension.entitystore-riak")
   compile project(":org.qi4j.extensions:org.qi4j.extension.valueserialization-orgjson")
 
-
-
   compile libraries.elasticsearch
   compile libraries.guava
 
@@ -22,10 +17,4 @@ dependencies {
   testRuntime project(":org.qi4j.core:org.qi4j.core.runtime")
   testRuntime libraries.logback
 
-}
-
-// test {
-//  jacoco {
-//    enabled = false
-//  }
-// }
\ No newline at end of file
+}
\ No newline at end of file