X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=gis%2Fruntime%2Forg.argeo.gis.geotools%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjts%2Fjcr%2FJtsJcrUtils.java;fp=gis%2Fruntime%2Forg.argeo.gis.geotools%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjts%2Fjcr%2FJtsJcrUtils.java;h=0000000000000000000000000000000000000000;hb=93854671977f419c5a2c1f2d343fd063450168db;hp=0bfa2e89c4d48e8329516b29e173c3f078d91507;hpb=c3be9f8db8a79e159d6a057758dfc7f3580efc2d;p=lgpl%2Fargeo-commons.git diff --git a/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/jts/jcr/JtsJcrUtils.java b/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/jts/jcr/JtsJcrUtils.java deleted file mode 100644 index 0bfa2e89c..000000000 --- a/gis/runtime/org.argeo.gis.geotools/src/main/java/org/argeo/jts/jcr/JtsJcrUtils.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.argeo.jts.jcr; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import javax.jcr.Binary; -import javax.jcr.Property; -import javax.jcr.Session; - -import org.apache.commons.io.IOUtils; -import org.argeo.ArgeoException; -import org.argeo.jcr.JcrUtils; - -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.io.InputStreamInStream; -import com.vividsolutions.jts.io.WKBReader; -import com.vividsolutions.jts.io.WKBWriter; - -/** Utilities depending only from the JTS library. */ -public class JtsJcrUtils { - private static GeometryFactory geometryFactory = new GeometryFactory(); - private static ThreadLocal wkbWriters = new ThreadLocal() { - protected WKBWriter initialValue() { - return new WKBWriter(); - } - }; - private static ThreadLocal wkbReaders = new ThreadLocal() { - protected WKBReader initialValue() { - return new WKBReader(getGeometryFactory()); - } - }; - - public static GeometryFactory getGeometryFactory() { - return geometryFactory; - } - - public final static Geometry readWkb(Property property) { - Binary wkbBinary = null; - InputStream in = null; - try { - wkbBinary = property.getBinary(); - in = wkbBinary.getStream(); - WKBReader wkbReader = wkbReaders.get(); - return wkbReader.read(new InputStreamInStream(in)); - } catch (Exception e) { - throw new ArgeoException("Cannot read WKB from " + property, e); - } finally { - IOUtils.closeQuietly(in); - JcrUtils.closeQuietly(wkbBinary); - } - } - - /** The returned binary should be disposed by the caller */ - public final static Binary writeWkb(Session session, Geometry geometry) { - Binary wkbBinary = null; - InputStream in = null; - try { - WKBWriter wkbWriter = wkbWriters.get(); - byte[] arr = wkbWriter.write(geometry); - in = new ByteArrayInputStream(arr); - wkbBinary = session.getValueFactory().createBinary(in); - return wkbBinary; - } catch (Exception e) { - throw new ArgeoException("Cannot write WKB", e); - } finally { - IOUtils.closeQuietly(in); - } - } -}