/** * The default strategy assumes a blob value containing wkb * @param results * @param paramIndex * @return * @throws SQLException */ public Object retrieveGeometryValue(ResultSet results, int paramIndex) throws SQLException { GeometryType geom = null; Blob val = results.getBlob(paramIndex); if (val != null) { geom = new GeometryType(val); } return geom; }
public static GeometryType getGeometryType(Geometry jtsGeom, int srid) { byte[] bytes = getBytes(jtsGeom, true); return new GeometryType(bytes, srid); }
public static GeometryType geometryFromBlob(BlobType wkb, int srid) throws FunctionExecutionException { //return as geometry GeometryType gt = new GeometryType(wkb.getReference(), srid); //validate getGeometry(gt); return gt; }
public static GeometryType geometryFromBlob(BlobType wkb, int srid) throws FunctionExecutionException { //return as geometry GeometryType gt = new GeometryType(wkb.getReference(), srid); //validate getGeometry(gt); return gt; }
public static GeometryType geometryFromBlob(BlobType wkb, int srid) throws FunctionExecutionException { //return as geometry GeometryType gt = new GeometryType(wkb.getReference(), srid); //validate getGeometry(gt); return gt; }
/** * This method transforms a value of the source type into a value * of the target type. * @param value Incoming value of source type * @return Outgoing value of target type * @throws TransformationException if value is an incorrect input type or * the transformation fails */ public Object transformDirect(Object value) throws TransformationException { GeographyType geog = (GeographyType)value; GeometryType geom = new GeometryType(geog.getReference()); geog.copyTo(geom); return geom; }
/** * This method transforms a value of the source type into a value * of the target type. * @param value Incoming value of source type * @return Outgoing value of target type * @throws TransformationException if value is an incorrect input type or * the transformation fails */ public Object transformDirect(Object value) throws TransformationException { GeographyType geog = (GeographyType)value; GeometryType geom = new GeometryType(geog.getReference()); geog.copyTo(geom); return geom; }
public static GeometryType getGeometryType(Geometry jtsGeom, int srid) { jtsGeom.setSRID(srid); byte[] bytes = getBytes(jtsGeom, true); GeometryType result = new GeometryType(bytes, srid); result.setGeoCache(jtsGeom); return result; }
@Override protected Object readObject(ObjectInput in, List<Object> cache, byte version) throws IOException, ClassNotFoundException { if (version < VERSION_GEOMETRY) { BlobType bt = new BlobType(); bt.readExternal(in); return bt; } GeometryType bt = new GeometryType(); bt.readExternal(in); return bt; } }
@Override protected Object readObject(ObjectInput in, List<Object> cache, byte version) throws IOException, ClassNotFoundException { if (version < VERSION_GEOMETRY) { BlobType bt = new BlobType(); bt.readExternal(in); return bt; } GeometryType bt = new GeometryType(); bt.readExternal(in); return bt; } }
public static GeometryType getGeometryType(Geometry jtsGeom, int srid) { jtsGeom.setSRID(srid); byte[] bytes = getBytes(jtsGeom, true); GeometryType result = new GeometryType(bytes, srid); result.setGeoCache(jtsGeom); return result; }
return new SQLXMLImpl(rawContents); } else if (expectedType.isAssignableFrom(AbstractGeospatialType.class)) { return new GeometryType(new BlobImpl(new InputStreamFactory() { @Override public InputStream getInputStream() throws IOException {
Blob b = new BlobImpl(streamFactory); GeometryType geom = new GeometryType(b); geom.setSrid(srid); return geom;
@TeiidFunction(name=SourceSystemFunctions.ST_SETSRID, category=FunctionCategoryConstants.GEOMETRY, nullOnNull=true, pushdown=PushDown.CAN_PUSHDOWN) public static GeometryType setSrid(GeometryType geom1, int srid) { GeometryType gt = new GeometryType(); gt.setReference(geom1.getReference()); gt.setSrid(srid); return gt; }
@TeiidFunction(name=SourceSystemFunctions.ST_SETSRID, category=FunctionCategoryConstants.GEOMETRY, nullOnNull=true, pushdown=PushDown.CAN_PUSHDOWN) public static GeometryType setSrid(GeometryType geom1, int srid) { GeometryType gt = new GeometryType(); gt.setReference(geom1.getReference()); gt.setSrid(srid); return gt; }
@TeiidFunction(name=SourceSystemFunctions.ST_SETSRID, category=FunctionCategoryConstants.GEOMETRY, nullOnNull=true, pushdown=PushDown.CAN_PUSHDOWN) public static GeometryType setSrid(GeometryType geom1, int srid) { GeometryType gt = new GeometryType(); gt.setReference(geom1.getReference()); gt.setSrid(srid); return gt; }
@Test public void testGeometry() throws IOException, ClassNotFoundException { GeometryType geometryType = new GeometryType(new byte[0]); geometryType.setReferenceStreamId(null); geometryType.setSrid(10000); Object val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOMETRY}, new List[] {Arrays.asList(geometryType)}, BatchSerializer.VERSION_GEOMETRY).get(0).get(0); assertTrue(val instanceof GeometryType); assertEquals(10000, ((GeometryType)val).getSrid()); helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOMETRY}, new List[] {Arrays.asList(geometryType)}, (byte)0); //object serialization - should fail on the client side val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOMETRY}, new List[] {Arrays.asList(geometryType)}, (byte)1).get(0).get(0); //blob serialization assertFalse(val instanceof GeometryType); val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.OBJECT}, new List[] {Arrays.asList(geometryType)}, (byte)1).get(0).get(0); //blob serialization assertFalse(val instanceof GeometryType); }
@Test public void testGeography() throws IOException, ClassNotFoundException { GeometryType geometryType = new GeometryType(new byte[0]); geometryType.setReferenceStreamId(null); geometryType.setSrid(4326); Object val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOGRAPHY}, new List[] {Arrays.asList(geometryType)}, BatchSerializer.VERSION_GEOGRAPHY).get(0).get(0); assertTrue(val instanceof GeographyType); assertEquals(4326, ((GeographyType)val).getSrid()); helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOGRAPHY}, new List[] {Arrays.asList(geometryType)}, (byte)0); //object serialization - should fail on the client side val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.GEOGRAPHY}, new List[] {Arrays.asList(geometryType)}, (byte)1).get(0).get(0); //blob serialization assertFalse(val instanceof GeographyType); val = helpTestSerialization(new String[] {DataTypeManager.DefaultDataTypes.OBJECT}, new List[] {Arrays.asList(geometryType)}, (byte)1).get(0).get(0); //blob serialization assertFalse(val instanceof GeographyType); }