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 @ 45739

History | View | Annotate | Download (4.3 KB)

1

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

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

    
17

    
18
public class MemoryEditingManager implements EditingManager {
19

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

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

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

    
50
    @Override
51
    public void add(EditableFeature newFeature) {
52
        this.featureManager.add(newFeature);
53
        this.spatialManager.insertFeature(newFeature);
54
    }
55

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

    
69

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

    
75
    @Override
76
    public Iterator<FeatureReference> getDeletedFeatures() {
77
        return this.featureManager.getDeleted();
78
    }
79

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

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

    
90
    @Override
91
    public List<FeatureTypeChanged> getFeatureTypesChanged() throws DataException {
92
        return this.featureTypeManager.getFeatureTypesChanged();
93
    }
94

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

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

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

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

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

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

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

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

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

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