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