Revision 2616 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingService.java

View differences:

DefaultEditingService.java
25 25
package org.gvsig.vectorediting.lib.impl;
26 26

  
27 27
import java.util.List;
28
import java.util.logging.Level;
29
import java.util.logging.Logger;
30 28
import org.gvsig.fmap.dal.feature.EditableFeature;
31 29
import org.gvsig.fmap.dal.feature.FeatureStore;
32

  
33 30
import org.gvsig.fmap.geom.Geometry;
34 31
import org.gvsig.fmap.geom.primitive.Point;
35
import org.gvsig.tools.ToolsLocator;
32
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
36 33
import org.gvsig.tools.dynobject.DynClass;
37 34
import org.gvsig.tools.dynobject.DynObject;
38 35
import org.gvsig.tools.observer.BaseNotification;
39 36
import org.gvsig.tools.observer.Notification;
40 37
import org.gvsig.tools.observer.ObservableHelper;
41 38
import org.gvsig.tools.observer.Observer;
39
import org.gvsig.tools.service.AbstractService;
42 40
import org.gvsig.tools.service.Manager;
43 41
import org.gvsig.tools.service.ServiceException;
42
import org.gvsig.tools.service.spi.AbstractProviderServices;
44 43
import org.gvsig.vectorediting.lib.api.DrawingStatus;
45 44
import org.gvsig.vectorediting.lib.api.EditingLocator;
46 45
import org.gvsig.vectorediting.lib.api.EditingService;
......
52 51
import org.gvsig.vectorediting.lib.api.exceptions.StopServiceException;
53 52
import org.gvsig.vectorediting.lib.spi.EditingProvider;
54 53
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
54
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
55
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
56
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
55 57

  
56
public class DefaultEditingService implements EditingService {
58
public class DefaultEditingService extends AbstractService implements EditingService {
57 59

  
58
    EditingProvider provider;
59 60
    private final ObservableHelper observableHelper;
60
    private final DynObject parameters;
61
//    private final DynObject parameters;
61 62

  
62
    public DefaultEditingService(EditingProvider provider, DynObject parameters) {
63
        this.parameters = parameters;
64
        this.provider = provider;
63
//    public DefaultEditingService(EditingProvider provider, DynObject parameters) {
64
//        this.parameters = parameters;
65
//        this.provider = provider;
66
//        this.observableHelper = new ObservableHelper();
67
//    }
68

  
69
    DefaultEditingService(DynObject arg0, EditingProviderServices editingProviderServices) throws ServiceException {
70
        this.init(arg0, editingProviderServices);
71
        ((AbstractProviderServices)editingProviderServices).setService(this);
65 72
        this.observableHelper = new ObservableHelper();
66 73
    }
67 74

  
68 75
    @Override
76
    protected EditingProvider getProvider() {
77
        return (EditingProvider) super.getProvider();
78
    }
79

  
80
    @Override
69 81
    public Manager getManager() {
70 82
        return null;
71 83
    }
......
73 85
    @Override
74 86
    public DrawingStatus getDrawingStatus(Point mousePosition)
75 87
        throws DrawServiceException {
76
        return provider.getDrawingStatus(mousePosition);
88
        return getProvider().getDrawingStatus(mousePosition);
77 89
    }
78 90

  
79 91
    @Override
80 92
    public List<EditingServiceParameter> getParameters() {
81
        return provider.getParameters();
93
        return getProvider().getParameters();
82 94
    }
83 95

  
84 96
    @Override
85 97
    public EditingServiceParameter next() {
86
        EditingServiceParameter x = provider.next();
98
        EditingServiceParameter x = getProvider().next();
87 99
        this.updateObservers(NEXT_NOTIFICATION, x, null);
88 100
        return x;
89 101
    }
90 102

  
91 103
    @Override
92 104
    public void setValue(Object value) throws InvalidEntryException {
93
        provider.setValue(value);
105
        getProvider().setValue(value);
94 106
        this.updateObservers(PARAMETER_CHANGED1_NOTIFICATION, value, null);
95 107
    }
96 108

  
97 109
    @Override
98 110
    public void stop() throws StopServiceException {
99
        provider.stop();
111
        getProvider().stop();
100 112
        this.updateObservers(STOP_NOTIFICATION, null, null);
101 113
    }
102 114

  
103 115
    @Override
104 116
    public void finishAndStore() throws FinishServiceException {
105
        provider.finishAndStore();
117
        getProvider().finishAndStore();
106 118
        this.updateObservers(FINISH_AND_STORE_NOTIFICATION, null, null);
107 119
    }
108 120

  
109 121
    @Override
110 122
    public Geometry finish() throws FinishServiceException {
111
        Geometry x = provider.finish();
123
        Geometry x = getProvider().finish();
112 124
        this.updateObservers(FINISH_NOTIFICATION, x, null);
113 125
        return x;
114 126
    }
115 127

  
116 128
    @Override
117 129
    public void start() throws StartServiceException, InvalidEntryException {
118
        this.provider.start();
130
        this.getProvider().start();
119 131
        this.updateObservers(START_NOTIFICATION, null, null);
120 132
    }
121 133

  
122 134
    @Override
123 135
    public String getName() {
124
        return provider.getName();
136
        return getProvider().getName();
125 137
    }
126 138
    
127 139
    @Override
128 140
    public void setValue(EditingServiceParameter parameter, Object value) throws InvalidEntryException {
129
        provider.setValue(parameter, value);
141
        getProvider().setValue(parameter, value);
130 142
        this.updateObservers(PARAMETER_CHANGED2_NOTIFICATION, parameter, value);
131 143
    }
132 144

  
133 145
    @Override
134 146
    public boolean isEnabled(EditingServiceParameter parameter) {
135
        return provider.isEnabled(parameter);
147
        return getProvider().isEnabled(parameter);
136 148
    }
137 149

  
138 150
    @Override
139 151
    public void activate() {
140
        provider.activate();
152
        getProvider().activate();
141 153
        this.updateObservers(ACTIVATE_NOTIFICATION, null, null);
142 154
    }
143 155

  
144 156
    @Override
145 157
    public Object getValue(EditingServiceParameter parameter) {
146
        return provider.getValue(parameter);
158
        return getProvider().getValue(parameter);
147 159
    }
148 160

  
149 161
    @Override
......
168 180

  
169 181
    @Override
170 182
    public void setDefaultFeatureValues(EditableFeature feature) {
171
        this.provider.setDefaultFeatureValues(feature);
183
        this.getProvider().setDefaultFeatureValues(feature);
172 184
    }
173 185

  
174 186
    @Override
175 187
    public EditableFeature getDefaultFeatureValues() {
176
        return this.provider.getDefaultFeatureValues();
188
        return this.getProvider().getDefaultFeatureValues();
177 189
    }
178 190
    
179 191
    @Override
180 192
    public FeatureStore getStore() {
181
        return (FeatureStore) this.parameters.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
193
        return (FeatureStore) this.getServiceParameters().getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
182 194
    }
183 195
    
184 196
    @Override
197
    public IVectorLegend getLegend() {
198
        return (IVectorLegend) this.getServiceParameters().getDynValue(EditingProviderFactory.LEGEND_FIELD);
199
    }
200
    
201
    @Override
185 202
    public String getDescription() {
186
        String name = this.provider.getName();
203
        String name = this.getProvider().getName();
187 204
        try {
188 205
            DynObject params = EditingLocator.getManager().createServiceParameters(name);
189 206
            DynClass dynclass = params.getDynClass();
......
192 209
            return name;
193 210
        }
194 211
    }
212

  
213
    @Override
214
    protected EditingProviderManager getProviderManager() {
215
        return EditingProviderLocator.getProviderManager();
216
    }
217

  
218
    @Override
219
    public void setShowPreviewSymbol(boolean showPreviewSymbol) {
220
        getProvider().setShowPreviewSymbol(showPreviewSymbol);
221
    }
195 222
}

Also available in: Unified diff