Revision 28 org.gvsig.sextante/trunk/org.gvsig.sextante.app/org.gvsig.sextante.app.algorithm/org.gvsig.sextante.app.algorithm.base/src/main/java/org/gvsig/sextante/app/algorithm/base/core/DALFeaturePersister.java

View differences:

DALFeaturePersister.java
20 20

  
21 21
package org.gvsig.sextante.app.algorithm.base.core;
22 22

  
23
import java.util.Iterator;
24

  
23 25
import org.gvsig.fmap.dal.exception.DataException;
24 26
import org.gvsig.fmap.dal.feature.EditableFeature;
25 27
import org.gvsig.fmap.dal.feature.Feature;
28
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
26 29
import org.gvsig.fmap.dal.feature.FeatureStore;
30
import org.gvsig.fmap.dal.feature.FeatureType;
27 31
import org.gvsig.fmap.geom.exception.CreateGeometryException;
28 32
import org.gvsig.fmap.geom.util.Converter;
33
import org.gvsig.sextante.app.extension.core.gvVectorLayer;
29 34

  
30 35
import com.vividsolutions.jts.geom.Geometry;
31 36

  
32 37
import es.unex.sextante.core.Sextante;
38
import es.unex.sextante.dataObjects.IVectorLayer;
39
import es.unex.sextante.exceptions.UnsupportedOutputChannelException;
33 40

  
34 41
/**
35 42
 * Writes features in a FeatureStore
......
62 69
	 */
63 70
	public EditableFeature addFeature(Feature feature, Geometry newGeom) throws CreateGeometryException, DataException {
64 71
		org.gvsig.fmap.geom.Geometry newDalGeom = Converter.jtsToGeometry(newGeom);
65
		EditableFeature feat = store.createNewFeature();
66
		for (int i = 0; i < fieldNames.length; i++) 
67
			try {
68
				feat.set(fieldNames[i], feature.get(fieldNames[i]));
69
			} catch (NullPointerException e) {
70
	
71
			}
72
		
72
		EditableFeature feat = store.createNewFeature(store.getDefaultFeatureType(), feature);
73 73
		feat.setGeometry("GEOMETRY", newDalGeom);
74 74
		store.insert(feat);
75 75
		return feat;
......
83 83
	 * @throws DataException
84 84
	 */
85 85
	public EditableFeature addFeature(Feature feature, org.gvsig.fmap.geom.Geometry newGeom) throws CreateGeometryException, DataException {
86
		EditableFeature feat = store.createNewFeature();
87
		for (int i = 0; i < fieldNames.length; i++) 
88
			feat.set(fieldNames[i], feature.get(i));
89
		
86
		EditableFeature feat = store.createNewFeature(store.getDefaultFeatureType(), feature);
90 87
		feat.setGeometry(fieldNames.length, newGeom);
91 88
		store.insert(feat);
92 89
		return feat;
......
104 101
			feature.set(fieldNames[i], feature.get(i));
105 102
		
106 103
		feature.setGeometry(fieldNames.length, newGeom);
104
		store.update(feature);
107 105
		return feature;
108 106
	}
109 107
	

Also available in: Unified diff