Revision 30 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
DALFeaturePersister.java | ||
---|---|---|
24 | 24 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
25 | 25 |
import org.gvsig.fmap.dal.feature.Feature; |
26 | 26 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
27 |
import org.gvsig.fmap.geom.GeometryLocator; |
|
28 |
import org.gvsig.fmap.geom.GeometryManager; |
|
27 | 29 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
28 |
import org.gvsig.fmap.geom.util.Converter; |
|
30 |
import org.gvsig.fmap.geom.operation.GeometryOperationContext; |
|
31 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
|
32 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
|
33 |
import org.gvsig.fmap.geom.operation.fromjts.FromJTS; |
|
29 | 34 |
|
30 | 35 |
import com.vividsolutions.jts.geom.Geometry; |
31 | 36 |
|
... | ... | |
38 | 43 |
public class DALFeaturePersister { |
39 | 44 |
private FeatureStore store = null; |
40 | 45 |
private String[] fieldNames = null; |
46 |
private GeometryManager geometryManager = null; |
|
41 | 47 |
|
42 | 48 |
/** |
43 | 49 |
* Sets the output FeatureType |
... | ... | |
51 | 57 |
store.edit(); |
52 | 58 |
} catch (DataException e) { |
53 | 59 |
} |
60 |
geometryManager = GeometryLocator.getGeometryManager(); |
|
54 | 61 |
} |
55 | 62 |
|
56 | 63 |
/** |
... | ... | |
60 | 67 |
* @throws CreateGeometryException |
61 | 68 |
* @throws DataException |
62 | 69 |
*/ |
63 |
public EditableFeature addFeature(Feature feature1, Feature feature2, Geometry newGeom) throws CreateGeometryException, DataException { |
|
64 |
org.gvsig.fmap.geom.Geometry newDalGeom = Converter.jtsToGeometry(newGeom); |
|
70 |
public EditableFeature addFeature(Feature feature1, Feature feature2, Geometry newGeom) |
|
71 |
throws CreateGeometryException, DataException { |
|
72 |
|
|
73 |
org.gvsig.fmap.geom.Geometry newDalGeom = null; |
|
74 |
|
|
75 |
GeometryOperationContext ctx = new GeometryOperationContext(); |
|
76 |
ctx.setAttribute(FromJTS.PARAM, newGeom); |
|
77 |
try { |
|
78 |
newDalGeom = (org.gvsig.fmap.geom.Geometry)geometryManager.invokeOperation(FromJTS.NAME, ctx); |
|
79 |
} catch (GeometryOperationNotSupportedException e) { |
|
80 |
Sextante.addErrorToLog(e); |
|
81 |
return null; |
|
82 |
} catch (GeometryOperationException e) { |
|
83 |
Sextante.addErrorToLog(e); |
|
84 |
return null; |
|
85 |
} |
|
86 |
|
|
65 | 87 |
EditableFeature feat = store.createNewFeature(); |
66 | 88 |
|
67 | 89 |
int globalIndex = 0; |
... | ... | |
94 | 116 |
* @throws DataException |
95 | 117 |
*/ |
96 | 118 |
public EditableFeature addFeature(Feature feature, Geometry newGeom) throws CreateGeometryException, DataException { |
97 |
org.gvsig.fmap.geom.Geometry newDalGeom = Converter.jtsToGeometry(newGeom); |
|
119 |
org.gvsig.fmap.geom.Geometry newDalGeom = null; |
|
120 |
|
|
121 |
GeometryOperationContext ctx = new GeometryOperationContext(); |
|
122 |
ctx.setAttribute(FromJTS.PARAM, newGeom); |
|
123 |
try { |
|
124 |
newDalGeom = (org.gvsig.fmap.geom.Geometry)geometryManager.invokeOperation(FromJTS.NAME, ctx); |
|
125 |
} catch (GeometryOperationNotSupportedException e) { |
|
126 |
Sextante.addErrorToLog(e); |
|
127 |
return null; |
|
128 |
} catch (GeometryOperationException e) { |
|
129 |
Sextante.addErrorToLog(e); |
|
130 |
return null; |
|
131 |
} |
|
132 |
|
|
98 | 133 |
EditableFeature feat = store.createNewFeature(store.getDefaultFeatureType(), feature); |
99 | 134 |
feat.setGeometry("GEOMETRY", newDalGeom); |
100 | 135 |
store.insert(feat); |
Also available in: Unified diff