Revision 68 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingProviderServices.java
DefaultEditingProviderServices.java | ||
---|---|---|
7 | 7 |
package org.gvsig.vectorediting.lib.impl; |
8 | 8 |
|
9 | 9 |
import java.awt.geom.Point2D; |
10 |
import java.util.Iterator; |
|
10 | 11 |
|
11 | 12 |
import org.gvsig.andami.messages.NotificationManager; |
12 | 13 |
import org.gvsig.editing.EditingNotification; |
... | ... | |
14 | 15 |
import org.gvsig.fmap.dal.exception.DataException; |
15 | 16 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
16 | 17 |
import org.gvsig.fmap.dal.feature.Feature; |
18 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
17 | 19 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
20 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
18 | 21 |
import org.gvsig.fmap.geom.Geometry; |
19 | 22 |
import org.gvsig.fmap.geom.Geometry.SUBTYPES; |
20 | 23 |
import org.gvsig.fmap.geom.Geometry.TYPES; |
... | ... | |
266 | 269 |
.getGeomType(); |
267 | 270 |
} |
268 | 271 |
|
272 |
public EditableFeature getFeatureCopyWithoutPK(FeatureStore featureStore, Feature feature) |
|
273 |
throws DataException { |
|
274 |
EditableFeature editableFeature = featureStore.createNewFeature( |
|
275 |
feature.getType(), true); |
|
276 |
|
|
277 |
FeatureType type_src = feature.getType(); |
|
278 |
@SuppressWarnings("rawtypes") |
|
279 |
Iterator iterator = type_src.iterator(); |
|
280 |
FeatureType type_dest = editableFeature.getType(); |
|
281 |
|
|
282 |
while (iterator.hasNext()) { |
|
283 |
FeatureAttributeDescriptor attribute_src = (FeatureAttributeDescriptor) iterator |
|
284 |
.next(); |
|
285 |
|
|
286 |
FeatureAttributeDescriptor attribute_dest = type_dest |
|
287 |
.getAttributeDescriptor(attribute_src.getName()); |
|
288 |
if (attribute_dest != null) { |
|
289 |
if (!attribute_dest.isPrimaryKey()) { |
|
290 |
editableFeature.set(attribute_dest.getIndex(), |
|
291 |
feature.get(attribute_src.getIndex())); |
|
292 |
} |
|
293 |
} |
|
294 |
} |
|
295 |
return editableFeature; |
|
296 |
} |
|
297 |
|
|
298 |
|
|
269 | 299 |
} |
Also available in: Unified diff