Revision 4740 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisDriver.java
PostGisDriver.java | ||
---|---|---|
52 | 52 |
import java.sql.Statement; |
53 | 53 |
import java.sql.Types; |
54 | 54 |
import java.util.Hashtable; |
55 |
import java.util.Random;
|
|
55 |
import java.util.Properties;
|
|
56 | 56 |
|
57 | 57 |
import org.apache.log4j.Logger; |
58 | 58 |
import org.postgis.PGbox2d; |
... | ... | |
70 | 70 |
import com.iver.cit.gvsig.fmap.drivers.DriverAttributes; |
71 | 71 |
import com.iver.cit.gvsig.fmap.drivers.IFeatureIterator; |
72 | 72 |
import com.iver.cit.gvsig.fmap.drivers.jdbc.WKBParser; |
73 |
import com.iver.cit.gvsig.fmap.layers.XMLException; |
|
73 |
import com.iver.cit.gvsig.fmap.edition.EditionException; |
|
74 |
import com.iver.cit.gvsig.fmap.edition.IRowEdited; |
|
75 |
import com.iver.cit.gvsig.fmap.edition.ISpatialWriter; |
|
76 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
|
74 | 77 |
|
75 | 78 |
/** |
76 | 79 |
* @author FJP |
... | ... | |
78 | 81 |
* TODO To change the template for this generated type comment go to Window - |
79 | 82 |
* Preferences - Java - Code Generation - Code and Comments |
80 | 83 |
*/ |
81 |
public class PostGisDriver extends DefaultDBDriver implements ICanReproject { |
|
84 |
public class PostGisDriver extends DefaultDBDriver implements ICanReproject, ISpatialWriter {
|
|
82 | 85 |
private static Logger logger = Logger.getLogger(PostGisDriver.class |
83 | 86 |
.getName()); |
84 |
|
|
87 |
|
|
85 | 88 |
private static int FETCH_SIZE = 5000; |
89 |
|
|
90 |
private PostGISWriter writer; |
|
86 | 91 |
|
87 | 92 |
private WKBParser parser = new WKBParser(); |
88 | 93 |
|
... | ... | |
184 | 189 |
*/ |
185 | 190 |
public void setData(Connection conn, DBLayerDefinition lyrDef) { |
186 | 191 |
this.conn = conn; |
192 |
// TODO: Deber?amos poder quitar Conneciton de la llamada y meterlo |
|
193 |
// en lyrDef desde el principio. |
|
194 |
lyrDef.setConnection(conn); |
|
187 | 195 |
setLyrDef(lyrDef); |
188 | 196 |
|
189 | 197 |
getTableEPSG(); |
... | ... | |
721 | 729 |
} |
722 | 730 |
} |
723 | 731 |
|
732 |
public void preProcess() throws EditionException { |
|
733 |
writer.preProcess(); |
|
734 |
} |
|
735 |
|
|
736 |
public void process(IRowEdited row) throws EditionException { |
|
737 |
writer.process(row); |
|
738 |
} |
|
739 |
|
|
740 |
public void postProcess() throws EditionException { |
|
741 |
writer.postProcess(); |
|
742 |
} |
|
743 |
|
|
744 |
public String getCapability(String capability) { |
|
745 |
return writer.getCapability(capability); |
|
746 |
} |
|
747 |
|
|
748 |
public void setCapabilities(Properties capabilities) { |
|
749 |
writer.setCapabilities(capabilities); |
|
750 |
} |
|
751 |
|
|
752 |
public boolean canWriteAttribute(int sqlType) { |
|
753 |
return writer.canWriteAttribute(sqlType); |
|
754 |
} |
|
755 |
|
|
756 |
public boolean canWriteGeometry(int gvSIGgeometryType) { |
|
757 |
return writer.canWriteGeometry(gvSIGgeometryType); |
|
758 |
} |
|
759 |
|
|
760 |
public void initialize(FLayer layer) throws EditionException { |
|
761 |
writer = new PostGISWriter(); |
|
762 |
writer.setCreateTable(false); |
|
763 |
writer.setWriteAll(false); |
|
764 |
// Obtenemos el DBLayerDefinition a partir del driver |
|
765 |
|
|
766 |
DBLayerDefinition dbLyrDef = getLyrDef(); |
|
767 |
|
|
768 |
|
|
769 |
writer.initialize(dbLyrDef); |
|
770 |
} |
|
771 |
|
|
724 | 772 |
} |
Also available in: Unified diff