Revision 43888 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java
DefaultFeatureStore.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
package org.gvsig.fmap.dal.feature.impl; |
26 | 26 |
|
27 |
import org.gvsig.fmap.dal.feature.impl.editing.memory.SpatialManager; |
|
28 |
import org.gvsig.fmap.dal.feature.impl.editing.memory.FeatureTypeManager; |
|
29 |
import org.gvsig.fmap.dal.feature.impl.editing.memory.FeatureManager; |
|
27 | 30 |
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase; |
28 | 31 |
|
29 | 32 |
import java.util.ArrayList; |
... | ... | |
108 | 111 |
import org.gvsig.fmap.dal.feature.exception.StoreUpdateFeatureTypeException; |
109 | 112 |
import org.gvsig.fmap.dal.feature.exception.ValidateFeaturesException; |
110 | 113 |
import org.gvsig.fmap.dal.feature.exception.WriteNotAllowedException; |
111 |
import org.gvsig.fmap.dal.feature.impl.expansionadapter.MemoryExpansionAdapter; |
|
112 | 114 |
import org.gvsig.fmap.dal.feature.impl.featureset.DefaultFeatureSet; |
113 | 115 |
import org.gvsig.fmap.dal.feature.impl.dynobjectutils.DynObjectFeatureFacade; |
114 | 116 |
import org.gvsig.fmap.dal.feature.impl.undo.DefaultFeatureCommandsStack; |
... | ... | |
180 | 182 |
new DelegateWeakReferencingObservable(this); |
181 | 183 |
|
182 | 184 |
private FeatureCommandsStack commands; |
185 |
|
|
186 |
/* |
|
187 |
TODO: Sustituir estos tres manager por un EditingManager |
|
188 |
*/ |
|
183 | 189 |
private FeatureTypeManager featureTypeManager; |
184 | 190 |
private FeatureManager featureManager; |
185 | 191 |
private SpatialManager spatialManager; |
... | ... | |
222 | 228 |
private boolean broken; |
223 | 229 |
private Throwable breakingsCause; |
224 | 230 |
|
231 |
@SuppressWarnings("OverridableMethodCallInConstructor") |
|
225 | 232 |
public StateInformation() { |
226 | 233 |
this.clear(); |
227 | 234 |
} |
... | ... | |
477 | 484 |
} |
478 | 485 |
|
479 | 486 |
/** |
487 |
* @throws org.gvsig.fmap.dal.exception.DataException |
|
480 | 488 |
* @deprecated use getDefaultFeatureType().getDefaultSRS() |
481 | 489 |
*/ |
482 | 490 |
@Override |
... | ... | |
1075 | 1083 |
} |
1076 | 1084 |
notifyChange(FeatureStoreNotification.BEFORE_STARTEDITING); |
1077 | 1085 |
invalidateIndexes(); |
1078 |
featureManager = |
|
1079 |
new FeatureManager(new MemoryExpansionAdapter()); |
|
1080 |
featureTypeManager = |
|
1081 |
new FeatureTypeManager(this, new MemoryExpansionAdapter()); |
|
1082 |
spatialManager = |
|
1083 |
new SpatialManager(this, provider.getEnvelope()); |
|
1086 |
featureManager = new FeatureManager(); |
|
1087 |
featureTypeManager = new FeatureTypeManager(this); |
|
1088 |
spatialManager = new SpatialManager(this, provider.getEnvelope()); |
|
1084 | 1089 |
|
1085 |
commands = |
|
1086 |
new DefaultFeatureCommandsStack(this, featureManager,
|
|
1090 |
commands = new DefaultFeatureCommandsStack(
|
|
1091 |
this, featureManager,
|
|
1087 | 1092 |
spatialManager, featureTypeManager); |
1088 | 1093 |
this.mode = MODE_FULLEDIT; |
1089 | 1094 |
hasStrongChanges = false; |
... | ... | |
1515 | 1520 |
featureTypeManager.getFeatureTypesChanged()); |
1516 | 1521 |
} |
1517 | 1522 |
invalidateIndexes(); |
1518 |
featureManager = |
|
1519 |
new FeatureManager(new MemoryExpansionAdapter()); |
|
1520 |
featureTypeManager = |
|
1521 |
new FeatureTypeManager(this, new MemoryExpansionAdapter()); |
|
1522 |
spatialManager = |
|
1523 |
new SpatialManager(this, provider.getEnvelope()); |
|
1523 |
featureManager = new FeatureManager(); |
|
1524 |
featureTypeManager = new FeatureTypeManager(this); |
|
1525 |
spatialManager = new SpatialManager(this, provider.getEnvelope()); |
|
1524 | 1526 |
|
1525 | 1527 |
commands = |
1526 | 1528 |
new DefaultFeatureCommandsStack(this, featureManager, |
... | ... | |
1606 | 1608 |
FeatureType targetType = target.getDefaultFeatureType(); |
1607 | 1609 |
|
1608 | 1610 |
target.edit(MODE_APPEND); |
1609 |
FeatureAttributeDescriptor[] pk = type.getPrimaryKey(); |
|
1611 |
FeatureAttributeDescriptor[] pkattrs = type.getPrimaryKey();
|
|
1610 | 1612 |
if (featureSelection.getSize() > 0) { |
1611 | 1613 |
features = this.getFeatureSelection(); |
1612 | 1614 |
} else { |
1613 |
if ((pk != null) && (pk.length > 0)) {
|
|
1615 |
if ((pkattrs != null) && (pkattrs.length > 0)) {
|
|
1614 | 1616 |
FeatureQuery query = createFeatureQuery(); |
1615 |
for (int i = 0; i < pk.length; i++) {
|
|
1616 |
query.getOrder().add(pk[i].getName(), true);
|
|
1617 |
for (FeatureAttributeDescriptor pkattr : pkattrs) {
|
|
1618 |
query.getOrder().add(pkattr.getName(), true);
|
|
1617 | 1619 |
} |
1618 | 1620 |
features = this.getFeatureSet(query); |
1619 | 1621 |
} else { |
... | ... | |
2438 | 2440 |
try{ |
2439 | 2441 |
throw new IllegalStateException(); |
2440 | 2442 |
} catch(IllegalStateException e) { |
2441 |
LOG.info("Call DefaultFeatureStore.getFeatureCount editing in mode APPEND"); |
|
2442 |
e.printStackTrace(); |
|
2443 |
LOG.info("Call DefaultFeatureStore.getFeatureCount editing in mode APPEND",e); |
|
2443 | 2444 |
} |
2444 | 2445 |
return -1; |
2445 | 2446 |
} else { |
... | ... | |
2620 | 2621 |
} |
2621 | 2622 |
|
2622 | 2623 |
@Override |
2624 |
@SuppressWarnings("CloneDoesntCallSuperClone") |
|
2623 | 2625 |
public Object clone() throws CloneNotSupportedException { |
2624 | 2626 |
|
2625 | 2627 |
DataStoreParameters dsp = getParameters(); |
Also available in: Unified diff