Revision 5558 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/edition/writers/dbf/DbfWriter.java

View differences:

DbfWriter.java
7 7
import java.nio.channels.WritableByteChannel;
8 8
import java.sql.Types;
9 9

  
10
import com.hardcode.driverManager.DriverLoadException;
11
import com.iver.cit.gvsig.fmap.DriverException;
12 10
import com.iver.cit.gvsig.fmap.core.IRow;
11
import com.iver.cit.gvsig.fmap.drivers.ITableDefinition;
13 12
import com.iver.cit.gvsig.fmap.drivers.shp.DbaseFileHeaderNIO;
14 13
import com.iver.cit.gvsig.fmap.drivers.shp.DbaseFileWriterNIO;
15 14
import com.iver.cit.gvsig.fmap.edition.EditionException;
16
import com.iver.cit.gvsig.fmap.edition.IEditableSource;
17 15
import com.iver.cit.gvsig.fmap.edition.IRowEdited;
18
import com.iver.cit.gvsig.fmap.edition.IWriter;
19 16
import com.iver.cit.gvsig.fmap.edition.writers.AbstractWriter;
20 17
import com.iver.cit.gvsig.fmap.layers.FBitSet;
21
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
22 18

  
23 19
public class DbfWriter extends AbstractWriter {
24
	private String dbfPath;
20
	private String dbfPath = null;
25 21

  
26 22
	private DbaseFileWriterNIO dbfWrite;
27 23

  
......
33 29
	// private FLyrVect lyrVect;
34 30
	private FBitSet selection = null;
35 31

  
36
	private void setFile(File f)
32
	public void setFile(File f)
37 33
	{
38 34
		String strFichDbf = f.getAbsolutePath().replaceAll("\\.shp", ".dbf");
39 35
		dbfPath = strFichDbf.replaceAll("\\.SHP", ".DBF");
......
64 60

  
65 61

  
66 62

  
67
	/*public DbfWriter(File shpFile, IEditableSource ies) throws IOException, DriverException, DriverLoadException
68
	{
69
		SelectableDataSource sds = ies.getRecordset();
70
		myHeader = DbaseFileHeaderNIO.createDbaseHeader(sds);
71

  
72
		initialize(shpFile);
73
	}
74
*/
75

  
76
	public void initialize(File shpFile, IEditableSource ies)throws IOException, DriverException, DriverLoadException{
77
		SelectableDataSource sds = ies.getRecordset();
78
		myHeader = DbaseFileHeaderNIO.createDbaseHeader(sds);
79

  
80
		initialize(shpFile);
81
	}
82
	private void initialize(File shpFile) throws IOException //, FLyrVect lyrVect, FBitSet selection) throws IOException, DriverException
83
	{
84
		setFile(shpFile);
85
	}
86

  
87 63
	public void preProcess() throws EditionException {
88 64
		// Por ahora solo escribimos los primeros bytes
89 65
		// de las cabeceras. Luego en el postprocess los escribiremos
......
164 140
		return false;
165 141
	}
166 142

  
167
	public void setFlatness(double flatness) {
168
		// TODO Auto-generated method stub
169 143

  
144
	public void initialize(ITableDefinition tableDefinition) throws EditionException {
145
		myHeader = DbaseFileHeaderNIO.createDbaseHeader(tableDefinition.getFieldsDesc());
146
		if (dbfPath == null)
147
		{
148
			throw new EditionException("DBFWriter: You need to use setFile before initialize."); 
149
		}
150
		
170 151
	}
171 152

  
172 153
}

Also available in: Unified diff