Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / fmap / dal / feature / impl / editing / memory / MemoryEditingManager.java @ 43840

History | View | Annotate | Download (4.23 KB)

1

    
2
package org.gvsig.fmap.dal.feature.impl.editing.memory;
3

    
4
import java.util.Iterator;
5
import org.gvsig.fmap.dal.exception.DataException;
6
import org.gvsig.fmap.dal.feature.Feature;
7
import org.gvsig.fmap.dal.feature.FeatureReference;
8
import org.gvsig.fmap.dal.feature.FeatureStore;
9
import org.gvsig.fmap.dal.feature.FeatureType;
10
import org.gvsig.fmap.dal.feature.impl.EditingManager;
11
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
12
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider;
13
import org.gvsig.fmap.geom.primitive.Envelope;
14

    
15

    
16
public class MemoryEditingManager implements EditingManager {
17

    
18
    private final FeatureTypeManager featureTypeManager;
19
    private final FeatureManager featureManager;
20
    private final SpatialManager spatialManager;
21
    
22
    public MemoryEditingManager(FeatureStore store, Envelope envelope) throws DataException {
23
        this.featureManager = new FeatureManager();
24
        this.featureTypeManager = new FeatureTypeManager(store);
25
        this.spatialManager = new SpatialManager(store, envelope);
26
    }
27
    
28
    @Override
29
    public void dispose() {
30
        this.featureTypeManager.dispose();
31
        this.spatialManager.clear();
32
        this.featureManager.clear();
33
    }
34

    
35
    @Override
36
    public void delete(Feature feature) {
37
        this.featureManager.delete(feature.getReference());
38
        this.spatialManager.deleteFeature(feature);
39
    }
40

    
41
    @Override
42
    public void delete(FeatureReference featureReference) {
43
        // ????????
44
        this.featureManager.delete(featureReference);
45
        
46
    }
47

    
48
    @Override
49
    public void add(Feature newFeature) {
50
        this.featureManager.add(newFeature);
51
        this.spatialManager.insertFeature(newFeature);
52
    }
53

    
54
    @Override
55
    public int update(Feature newFeature, Feature oldFeature) {
56
        int code = featureManager.update(newFeature, oldFeature);
57
        spatialManager.updateFeature(newFeature, oldFeature);
58
        return code;
59
    }    
60
    
61
    @Override
62
    public int update(FeatureType newFeatureType, FeatureType oldFeatureType) {
63
        int code = featureTypeManager.update(oldFeatureType, oldFeatureType);
64
        return code;
65
    }
66

    
67

    
68
    @Override
69
    public boolean isSelectionCompromised() {
70
        return this.featureManager.isSelectionCompromised();
71
    }
72

    
73
    @Override
74
    public Iterator<FeatureProvider> getDeletedFeatures() {
75
        return this.featureManager.getDeleted();
76
    }
77

    
78
    @Override
79
    public Iterator<FeatureProvider> getInsertedFeatures() {
80
        return this.featureManager.getInserted();
81
    }
82

    
83
    @Override
84
    public Iterator<FeatureProvider> getUpdatedFeatures() {
85
        return this.featureManager.getUpdated();
86
    }
87

    
88
    @Override
89
    public Iterator<FeatureStoreProvider.FeatureTypeChanged> getFeatureTypesChanged() throws DataException {
90
        return this.featureTypeManager.getFeatureTypesChanged();
91
    }
92

    
93
    @Override
94
    public FeatureType getFeatureType(String id) throws DataException {
95
        return this.featureTypeManager.getType(id);
96
    }
97

    
98
    @Override
99
    public Feature getFeature(FeatureReference reference, FeatureStore store, FeatureType type) throws DataException {
100
        return this.featureManager.get(reference, store, type);
101
    }
102

    
103
    @Override
104
    public void restore(FeatureReference featureReference) {
105
        this.featureManager.restore(featureReference);
106
    }
107

    
108
    @Override
109
    public void restore(FeatureReference featureReference, int code) {
110
        this.featureManager.restore(featureReference, code);
111
    }
112

    
113
    @Override
114
    public void restore(String featureTypeId) {
115
        this.featureTypeManager.restore(featureTypeId);
116
    }
117

    
118
    @Override
119
    public void restore(String featureTypeId, int code) {
120
        this.featureTypeManager.restore(featureTypeId, code);
121
    }
122

    
123
    @Override
124
    public boolean isDeleted(Feature feature) {
125
        return this.featureManager.isDeleted(feature);
126
    }
127

    
128
    @Override
129
    public boolean isDeleted(FeatureReference featureReference) {
130
        return this.featureManager.isDeleted(featureReference);
131
    }
132

    
133
    @Override
134
    public boolean isDeleted(FeatureType type) {
135
        return this.featureTypeManager.isDeleted(type);
136
    }
137

    
138
    @Override
139
    public boolean isDeleted(String featureTypeId) {
140
        return this.featureTypeManager.isDeleted(featureTypeId);
141
    }
142
    
143
}