Revision 2616 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.stretch/src/main/java/org/gvsig/vectorediting/lib/prov/stretch/StretchEditingProvider.java

View differences:

StretchEditingProvider.java
9 9
import java.util.Iterator;
10 10
import java.util.List;
11 11
import java.util.Map;
12

  
13
import org.slf4j.Logger;
14
import org.slf4j.LoggerFactory;
15

  
16 12
import org.gvsig.fmap.dal.exception.DataException;
17 13
import org.gvsig.fmap.dal.feature.EditableFeature;
18 14
import org.gvsig.fmap.dal.feature.Feature;
......
37 33
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
38 34
import org.gvsig.tools.ToolsLocator;
39 35
import org.gvsig.tools.dispose.DisposableIterator;
36
import org.gvsig.tools.dispose.DisposeUtils;
40 37
import org.gvsig.tools.dynobject.DynObject;
41 38
import org.gvsig.tools.exception.BaseException;
42 39
import org.gvsig.tools.i18n.I18nManager;
......
58 55
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
59 56
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
60 57
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
58
import org.slf4j.Logger;
59
import org.slf4j.LoggerFactory;
61 60

  
62 61
public class StretchEditingProvider extends AbstractEditingProvider implements
63 62
    EditingProvider {
64 63

  
65
    private static Logger logger = LoggerFactory.getLogger(StretchEditingProvider.class);
64
    private static final Logger LOGGER = LoggerFactory.getLogger(StretchEditingProvider.class);
66 65

  
67
    private I18nManager i18nManager = ToolsLocator.getI18nManager();
66
    private final EditingServiceParameter selectionParameter;
68 67

  
69
    private EditingServiceParameter selectionParameter;
68
    private final EditingServiceParameter geometryParameter;
70 69

  
71
    private EditingServiceParameter geometryParameter;
70
    private final EditingServiceParameter firstPointParameter;
72 71

  
73
    private EditingServiceParameter firstPointParameter;
72
    private final EditingServiceParameter secondPointParameter;
74 73

  
75
    private EditingServiceParameter secondPointParameter;
76

  
77 74
    private Map<EditingServiceParameter, Object> values;
78 75

  
79
    private FeatureStore featureStore;
76
    private final FeatureStore featureStore;
80 77

  
81 78
    public StretchEditingProvider(ProviderServices providerServices,
82 79
        DynObject parameters) {
......
84 81
        this.featureStore =
85 82
            (FeatureStore) parameters
86 83
                .getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
84
        
85
        I18nManager i18nManager = ToolsLocator.getI18nManager();
87 86

  
88 87
        this.selectionParameter =
89 88
            new DefaultEditingServiceParameter("selection",
......
103 102

  
104 103
    }
105 104

  
105
    @Override
106 106
    public List<EditingServiceParameter> getParameters() {
107 107
        List<EditingServiceParameter> list =
108
            new ArrayList<EditingServiceParameter>();
108
            new ArrayList<>();
109 109
        list.add(selectionParameter);
110 110
        list.add(geometryParameter);
111 111
        list.add(firstPointParameter);
......
118 118
        if (param == selectionParameter) {
119 119
            if (value instanceof FeatureSelection) {
120 120
                values.put(param, value);
121
                return;
122 121
            }
123 122
        } else if (param == firstPointParameter) {
124 123
            if (value instanceof Point) {
125 124
                values.put(param, value);
126
                return;
127 125
            }
128 126
        } else if (param == secondPointParameter) {
129 127
            if (value instanceof Point) {
130 128
                values.put(param, value);
131
                return;
132 129
            }
133 130
        } else if (param == geometryParameter) {
134 131
            if (value instanceof Geometry) {
......
156 153
                } catch (BaseException e) {
157 154
                    throw new InvalidEntryException(e);
158 155
                } finally {
159
                    it.dispose();
156
                    DisposeUtils.disposeQuietly(it);
160 157
                }
161 158
            }
162 159
        }
163 160
    }
164 161

  
162
    @Override
165 163
    public EditingServiceParameter next() {
166 164
        if (values.get(selectionParameter) == null) {
167 165
            return this.selectionParameter;
......
195 193
                    } else if(element instanceof Primitive){
196 194
                        newAggregate.addPrimitive((Primitive)element);
197 195
                    } else {
198
                        logger.warn("StretchOperation has returned a not-supported geometry type. "+operation.toString()+" "+element.getClass().getName());
196
                        LOGGER.warn("StretchOperation has returned a not-supported geometry type. "+operation.toString()+" "+element.getClass().getName());
199 197
                    }
200 198
                } else {
201 199
                    newAggregate.addPrimitive(primitive);
......
215 213
    public static List<Point> getSelectedVertex(Geometry geometry,
216 214
        Geometry roi) throws CreateGeometryException,
217 215
        GeometryOperationNotSupportedException, GeometryOperationException {
218
        List<Point> selectedVertex = new ArrayList<Point>();
216
        List<Point> selectedVertex = new ArrayList<>();
219 217
        if (geometry instanceof MultiPrimitive) {
220 218
            MultiPrimitive aggregate = (MultiPrimitive)geometry;
221 219
            for (int i = 0; i < aggregate.getPrimitivesNumber(); i++) {
......
236 234
    }
237 235

  
238 236

  
237
    @Override
239 238
    public DrawingStatus getDrawingStatus(Point mousePosition)
240 239
        throws DrawServiceException {
241 240
        DefaultDrawingStatus drawingStatus = new DefaultDrawingStatus();
......
253 252
                Geometry geometry = (Geometry) values.get(this.geometryParameter);
254 253
                if (geometry != null) {
255 254
                    //
256
                    List<Point> selectedVertex = new ArrayList<Point>();
255
                    List<Point> selectedVertex = new ArrayList<>();
257 256
                    DisposableIterator it = null;
258 257

  
259 258
                    try {
......
270 269
                    } catch (BaseException e) {
271 270
                        throw new InvalidEntryException(e);
272 271
                    } finally {
273
                        it.dispose();
272
                        DisposeUtils.disposeQuietly(it);
274 273
                    }
275 274

  
276 275
                    if(!selectedVertex.isEmpty()){
277
                        for (Iterator<Point> iterator = selectedVertex.iterator(); iterator.hasNext();) {
278
                            Point point = (Point) iterator.next();
276
                        for (Point point : selectedVertex) {
279 277
                            drawingStatus.addStatus(point, selectedVertexEditingSymbol, "");
280 278
                        }
281 279
                    }
......
298 296

  
299 297
                            while (it.hasNext()) {
300 298
                                Feature feature = (Feature) it.next();
299

  
300
                                ISymbol previewSymbol = this.getPreviewSymbol(feature);
301
        
301 302
                                Geometry featureGeometry = feature.getDefaultGeometry();
302 303
                                Geometry transformedGeometry = applyTransform(featureGeometry, at, geometry);
303 304
                                ISymbol symbol=null;
......
312 313
                                    int primitivesNumber = ((Aggregate)transformedGeometry).getPrimitivesNumber();
313 314
                                    for (int i = 0; i < primitivesNumber; i++) {
314 315
                                        drawingStatus.addStatus(((Aggregate)transformedGeometry).getPrimitiveAt(i), symbol, "");
316
                                        drawingStatus.addStatus(((Aggregate)transformedGeometry).getPrimitiveAt(i), previewSymbol, "");
315 317
                                    }
316 318
                                } else {
317 319
                                    drawingStatus.addStatus(transformedGeometry, symbol, "");
320
                                    drawingStatus.addStatus(transformedGeometry, previewSymbol, "");
318 321
                                }
319 322
                            }
320 323
                        } catch (BaseException e) {
321 324
                            throw new InvalidEntryException(e);
322 325
                        } finally {
323
                            it.dispose();
326
                            DisposeUtils.disposeQuietly(it);
324 327
                        }
325 328
                    }
326 329
                }
......
341 344
        return translate;
342 345
    }
343 346

  
347
    @Override
344 348
    public void stop() {
345 349
        values.clear();
346 350
    }
......
352 356
        validateAndInsertValue(parameter, value);
353 357
    }
354 358

  
359
    @Override
355 360
    public void setValue(Object value) throws InvalidEntryException {
356 361
        EditingServiceParameter param = next();
357 362
        validateAndInsertValue(param, value);
358 363
    }
359 364

  
365
    @Override
360 366
    public void finishAndStore() throws FinishServiceException {
361 367

  
362 368
        FeatureSelection selection
......
399 405
                            } catch (BaseException e) {
400 406
                                throw new FinishServiceException(e);
401 407
                            } finally {
402
                                it.dispose();
408
                                DisposeUtils.disposeQuietly(it);
403 409
                            }
404 410
                        }
405 411
                    }
......
410 416
        }
411 417
    }
412 418

  
419
    @Override
413 420
    public Geometry finish() throws FinishServiceException {
414 421
        return null;
415 422
    }
416 423

  
424
    @Override
417 425
    public void start() throws StartServiceException {
418
        this.values = new HashMap<EditingServiceParameter, Object>();
426
        this.values = new HashMap<>();
419 427
        FeatureSelection selected = null;
420 428
        if (featureStore != null) {
421 429
            try {
......
433 441
        }
434 442
    }
435 443

  
444
    @Override
436 445
    public String getName() {
437 446
        return StretchEditingProviderFactory.PROVIDER_NAME;
438 447
    }

Also available in: Unified diff