Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / edition / writers / shp / testWriter.java @ 10627

History | View | Annotate | Download (2.69 KB)

1
package com.iver.cit.gvsig.fmap.edition.writers.shp;
2

    
3
import java.io.File;
4

    
5
import javax.swing.JFileChooser;
6

    
7
import org.cresques.cts.IProjection;
8

    
9
import com.hardcode.driverManager.DriverManager;
10
import com.hardcode.gdbms.engine.data.driver.DriverException;
11
import com.iver.cit.gvsig.fmap.core.IFeature;
12
import com.iver.cit.gvsig.fmap.crs.CRSFactory;
13
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver;
14
import com.iver.cit.gvsig.fmap.edition.DefaultRowEdited;
15
import com.iver.cit.gvsig.fmap.edition.IRowEdited;
16
import com.iver.cit.gvsig.fmap.layers.FLayer;
17
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
18
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
19
import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
20
import com.iver.cit.gvsig.fmap.layers.VectorialFileAdapter;
21

    
22
public class testWriter {
23

    
24
        public FLayer createLayer(String layerName, VectorialFileDriver d,
25
                        File f, IProjection proj) throws DriverException {
26
                        //TODO Comprobar si hay un adaptador ya
27
                        VectorialFileAdapter adapter = new VectorialFileAdapter(f);
28
                        adapter.setDriver(d);
29
                        FLyrVect capa = new FLyrVect();
30
                        capa.setName(layerName);
31

    
32
                        capa.setSource(adapter);
33
                        capa.setProjection(proj);
34

    
35

    
36
                        return capa;
37
                }
38

    
39
        /**
40
         * @param args
41
         */
42
        public static void main(String[] args) {
43
                // LayerFactory.setDriversPath("D:/java/eclipse30/eclipse/workspace/FMap 03/driversDebug");
44
                LayerFactory.setDriversPath("d:/eclipse/workspace/fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers");
45
                DriverManager driverManager = LayerFactory.getDM();
46
                // DriverManager driverManager = new DriverManager();
47
                // driverManager.loadDrivers(new File("../fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers"));
48
                testWriter test=new testWriter();
49

    
50
                try {
51
                        JFileChooser jfc = new JFileChooser();
52
                        if (jfc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
53
                        {
54
                                File original = jfc.getSelectedFile();
55
                                FLyrVect layer= (FLyrVect) test.createLayer("prueba",
56
                                                (VectorialFileDriver)driverManager.getDriver("gvSIG shp driver"),
57
                                                original,
58
                                                CRSFactory.getCRS("EPSG:23030"));
59

    
60

    
61
                                if (jfc.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
62
                                {
63
                                        File newFile = jfc.getSelectedFile();
64

    
65
                                        ShpWriter writer = (ShpWriter)LayerFactory.getWM().getWriter("Shape Writer");
66
                                        writer.initialize(layer);
67
                                        writer.preProcess();
68
                                        ReadableVectorial adapter = layer.getSource();
69
                                        for (int i=0; i < adapter.getShapeCount(); i++)
70
                                        {
71
                                                IFeature feat = adapter.getFeature(i);
72
                                                IRowEdited editFeat = new DefaultRowEdited(feat, IRowEdited.STATUS_MODIFIED, i);
73
                                                writer.process(editFeat);
74
                                        }
75
                                        writer.postProcess();
76
                                }
77
                        }
78
                } catch (Exception e) {
79
                        e.printStackTrace();
80
                        System.exit(0);
81
                }
82
                System.exit(0);
83
        }
84

    
85
}