Revision 1988
branches/Fmap_GisPlanet/libraries/libFMap/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisDriver.java | ||
---|---|---|
51 | 51 |
import java.sql.Statement; |
52 | 52 |
import java.sql.Types; |
53 | 53 |
|
54 |
import org.apache.log4j.Logger; |
|
54 | 55 |
import org.postgis.PGbox3d; |
55 | 56 |
|
56 | 57 |
import com.hardcode.gdbms.engine.values.Value; |
... | ... | |
61 | 62 |
import com.iver.cit.gvsig.fmap.drivers.DriverAttributes; |
62 | 63 |
import com.iver.cit.gvsig.fmap.drivers.IFeatureIterator; |
63 | 64 |
import com.iver.cit.gvsig.fmap.drivers.WKBParser; |
65 |
import com.iver.cit.gvsig.fmap.drivers.shp.DemoSHPDriver; |
|
64 | 66 |
import com.vividsolutions.jts.io.ParseException; |
65 | 67 |
|
66 | 68 |
/** |
... | ... | |
70 | 72 |
* Window - Preferences - Java - Code Generation - Code and Comments |
71 | 73 |
*/ |
72 | 74 |
public class PostGisDriver extends DefaultDBDriver { |
75 |
private static Logger logger = Logger.getLogger(PostGisDriver.class.getName()); |
|
73 | 76 |
private WKBParser parser = new WKBParser(); |
74 | 77 |
private int fetch_min=-1; |
75 | 78 |
private int fetch_max=-1; |
... | ... | |
140 | 143 |
try { |
141 | 144 |
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); |
142 | 145 |
st.setFetchSize(5000); |
146 |
logger.info("Cadena SQL:" + this.sqlOrig); |
|
143 | 147 |
st.execute("declare wkb_cursor binary cursor for " + sqlOrig); |
144 | 148 |
rs = st.executeQuery("fetch forward all in wkb_cursor"); |
145 | 149 |
// st.execute("begin"); |
... | ... | |
337 | 341 |
* @see com.iver.cit.gvsig.fmap.drivers.VectorialDatabaseDriver#getGeometryField(java.lang.String) |
338 | 342 |
*/ |
339 | 343 |
public String getGeometryField(String fieldName) { |
340 |
return "ASBINARY(" + fieldName + ", XDR)";
|
|
344 |
return "ASBINARY(" + fieldName + ", 'XDR')";
|
|
341 | 345 |
} |
342 | 346 |
/** |
343 | 347 |
* @see com.hardcode.gdbms.engine.data.driver.ObjectDriver#getPrimaryKeys() |
branches/Fmap_GisPlanet/libraries/libFMap/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisFeatureIterator.java | ||
---|---|---|
96 | 96 |
* @see com.iver.cit.gvsig.fmap.drivers.jdbc.GeometryIterator#hasNext() |
97 | 97 |
*/ |
98 | 98 |
public boolean hasNext() throws SQLException { |
99 |
try |
|
99 |
if (rs.next()) |
|
100 |
return true; |
|
101 |
else |
|
100 | 102 |
{ |
101 |
if (rs.isAfterLast()) |
|
102 |
{ |
|
103 |
rs.close(); |
|
104 |
return false; |
|
105 |
} |
|
106 |
else |
|
107 |
return true; |
|
103 |
rs.close(); |
|
104 |
return false; |
|
108 | 105 |
} |
109 |
catch (Exception e) |
|
110 |
{ |
|
111 |
e.printStackTrace(); |
|
112 |
} |
|
113 |
return false; |
|
114 | 106 |
} |
115 | 107 |
|
116 | 108 |
/* (non-Javadoc) |
117 | 109 |
* @see com.iver.cit.gvsig.fmap.drivers.jdbc.GeometryIterator#next() |
118 | 110 |
*/ |
119 | 111 |
public IFeature next() throws SQLException { |
120 |
rs.next(); |
|
121 | 112 |
byte[] data = rs.getBytes(1); |
122 | 113 |
geom = parser.parse(data); |
123 | 114 |
for (int fieldId=2; fieldId <= numColumns; fieldId++ ) |
Also available in: Unified diff