Revision 4740 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisDriver.java

View differences:

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