looks sensible to me. please suit yourself. i just added your lreeder sf.net account to the svn. if anybody does not agree to give larry svn acces, please speak up now.
@larry & all: could somebody please also verify the nightly build for the correctness of that change? thanks alot... ede On 30.03.2011 06:19, Larry Reeder wrote: > I've got a patch that allows direct selection of a PostGis geometry > column without needing to use ST_AsBinary() to get past that "unknown > WKB type 48" error. The patch also supports continued use of > ST_AsBinary. Can someone commit the patch for me or give me write > access to the repository? > > Thanks............. lreeder > > Patch below: > > Index: datastore/postgis/PostgisValueConverterFactory.java > =================================================================== > --- datastore/postgis/PostgisValueConverterFactory.java (revision 2241) > +++ datastore/postgis/PostgisValueConverterFactory.java (working copy) > @@ -69,8 +69,36 @@ > throws IOException, SQLException, ParseException > { > byte[] bytes = rs.getBytes(columnIndex); > - if (bytes == null) return wktReader.read("GEOMETRYCOLLECTION EMPTY"); > - else return wkbReader.read(bytes); > + > + //so rs.getBytes will be one of two things: > + //1. The actual bytes of the WKB if someone did ST_AsBinary > + //2. The bytes of hex representation of the WKB. > + > + //in the case of #1, according to the WKB spec, the byte value > + //can only be 0 or 1. > + //in the case of #2, it's a hex string, so values range from ascii 0-F > + //use this logic to determine how to process the bytes. > + > + Geometry geometry = null; > + if(bytes == null || bytes.length <= 0) > + { > + geometry = wktReader.read("GEOMETRYCOLLECTION EMPTY"); > + } > + else > + { > + //assume it's the actual bytes (from ST_AsBinary) > + byte[] realWkbBytes = bytes; > + if(bytes[0] >= '0') > + { > + //ok, it's hex, convert hex string to actual bytes > + String hexString = new String(bytes); > + realWkbBytes = WKBReader.hexToBytes(hexString); > + } > + > + geometry = wkbReader.read(realWkbBytes); > + } > + > + return geometry; > } > } > } > > ------------------------------------------------------------------------------ > Enable your software for Intel(R) Active Management Technology to meet the > growing manageability and security demands of your customers. Businesses > are taking advantage of Intel(R) vPro (TM) technology - will your software > be a part of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel