Revision 64

View differences:

org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.symmetry/src/main/java/org/gvsig/vectorediting/lib/prov/symmetry/SymmetryEditingProvider.java
94 94
		FeatureSelection selected = (FeatureSelection) values
95 95
				.get(selectionParameter);
96 96
		try {
97
			if (!selected.isEmpty()) {
97
			if (selected != null && !selected.isEmpty()) {
98 98
				Point p1 = (Point) values.get(firstPointParameter);
99 99
				if (p1 != null) {
100 100
					Object p2Value = values.get(secondPointParameter);
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.polyline/src/main/java/org/gvsig/vectorediting/lib/prov/polyline/PolylineEditingProvider.java
567 567
  }
568 568

  
569 569
  public void start() throws StartServiceException {
570
    stop();
570 571
    values = new ArrayList<MyPolyLinePoint>();
572
    
571 573
  }
572 574

  
573 575
  public void stop() {
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.swing/org.gvsig.vectorediting.swing.impl/src/main/java/org/gvsig/vectorediting/swing/impl/DefaultEditingBehavior.java
164 164
    addConsoleListener("ViewEditing", new ResponseListener() {
165 165

  
166 166
      public void acceptResponse(String response) {
167
        try{
167
        try {
168 168
          textEntered(response);
169
        } catch( VectorEditingException e){
169
        }
170
        catch (VectorEditingException e) {
170 171
          showConsoleMessage(e.getMessage());
171
        } finally{
172
          getNextParameter();
173 172
        }
173
        finally {
174
          if (activeService != null) {
175
            getNextParameter();
176
          }
174 177
        }
178
      }
175 179
    });
176 180

  
177 181
  }
......
190 194
      if (service != null) {
191 195
        this.activeService = service;
192 196
        try {
193
			service.start();
194
		} catch (StartServiceException e) {
195
			logger.error(String.format("Can't start the service %(s)", service.getName()), e);
196
		}
197
          service.start();
198
        }
199
        catch (StartServiceException e) {
200
          logger.error(
201
              String.format("Can't start the service %(s)", service.getName()),
202
              e);
203
        }
197 204
        getNextParameter();
198 205
      }
199 206
    }
......
203 210
    if (getConsolePanel() != null) {
204 211
      showConsoleMessage("\n#" + param.getDescription() + " > ");
205 212
    }
206
    }
213
  }
207 214

  
208 215
  private void showConsoleMessage(String text) {
209 216
    getConsolePanel().addText(text, JConsole.MESSAGE);
......
233 240
    currentParam = activeService.next();
234 241
    if (currentParam == null) {
235 242
      finishAndStartService();
236
      getNextParameter();
237 243
    }
238 244
    else {
239 245
      askQuestion(currentParam);
......
244 250

  
245 251
  private void finishAndStartService() {
246 252
    try {
247
		activeService.finish();
248
	}
253
      activeService.finish();
254
    }
249 255
    catch (VectorEditingException e) {
250 256
      logger.error("An error ocurred when try to finish service", e);
251 257
    }
252 258
    mapControl.rePaintDirtyLayers();
253 259
    try {
254
		activeService.start();
255
	} catch (StartServiceException e) {
256
		logger.error(String.format("Can't start the service %(s)", activeService.getName()), e);
257
	}
260
      activeService.start();
261
    }
262
    catch (StartServiceException e) {
263
      logger.error(String.format("Can't start the service %(s)",
264
          activeService.getName()), e);
265
    }
266
    getNextParameter();
258 267
  }
259 268

  
260 269
  private void initMapControlListeners(MapControl mapControl) {
......
313 322
          Point point;
314 323
          point = vp.convertToMapPoint(e.getX(), e.getY());
315 324
          try {
316
          this.activeService.value(point);
317
        }
325
            this.activeService.value(point);
326
          }
318 327
          catch (VectorEditingException ex) {
319 328
            logger.error("Invalid value %s", new Object[] { point });
320 329
          }
......
323 332
          Point point;
324 333
          point = vp.convertToMapPoint(e.getX(), e.getY());
325 334
          try {
326
          this.activeService.value(point);
335
            this.activeService.value(point);
327 336
          }
328 337
          catch (VectorEditingException ex) {
329 338
            logger.error("Invalid value %s", new Object[] { point });
......
429 438

  
430 439
  }
431 440

  
432
  private void textEntered(String response) throws InvalidEntryException{
441
  private void textEntered(String response) throws InvalidEntryException {
433 442
    if (response == null) {
434
      this.activeService.stop();
435
      cleanBehavior();
443
      if(activeService != null){
444
        this.activeService.stop();
445
        cleanBehavior();
446
      }
436 447
    }
437 448
    else {
438 449
      List<TYPE> types = currentParam.getTypes();
......
451 462
        }
452 463
        catch (VectorEditingException e) {
453 464
          // Do nothing
454
          }
455 465
        }
466
      }
456 467
      if (!insertedValue && types.contains(TYPE.VALUE)) {
457 468
        try {
458 469
          value = parseValue(response);
......
465 476
          // Do nothing
466 477
        }
467 478

  
468
        }
479
      }
469 480
      if (!insertedValue && types.contains(TYPE.OPTION)) {
470 481
        try {
471 482
          response = response.replace("\n", "");
472 483
          if (response != null) {
473 484
            this.activeService.value(response);
474 485
            insertedValue = true;
475
      }
486
          }
476 487
        }
477
      catch (VectorEditingException e) {
488
        catch (VectorEditingException e) {
478 489
          // Do nothing
479 490
        }
480 491
      }
......
485 496
      if (!insertedValue) {
486 497
        throw new InvalidEntryException(null);
487 498
      }
488
        }
489
        }
499
    }
500
  }
490 501

  
491

  
492

  
493 502
  private Double parseValue(String response) throws ParseValueException {
494
    try{
503
    try {
495 504
      return Double.valueOf(response);
496 505
    }
497 506
    catch (Exception e) {
498 507
      throw new ParseValueException(e);
499
      }
508
    }
500 509

  
501
      }
510
  }
502 511

  
503 512
  private Point parsePoint(String response) throws ParsePointException {
504 513
    String[] numbers = new String[1];
......
512 521
      double[] values;
513 522
      try {
514 523
        values = new double[] { Double.parseDouble(numbers[0]),
515
          Double.parseDouble(numbers[1]) };
524
            Double.parseDouble(numbers[1]) };
516 525
      }
517 526
      catch (Exception e) {
518 527
        throw new ParsePointException(e);
......
520 529

  
521 530
      Point point;
522 531
      try {
523
      point = geomManager.createPoint(values[0], values[1], currentLayer
524
          .getFeatureStore().getDefaultFeatureType()
525
          .getDefaultGeometryAttribute().getGeomType().getSubType());
532
        point = geomManager.createPoint(values[0], values[1], currentLayer
533
            .getFeatureStore().getDefaultFeatureType()
534
            .getDefaultGeometryAttribute().getGeomType().getSubType());
526 535
        // TODO: Maybe do util class to get type and subtype of a featureStore
527 536
        // or a method in manager
528 537
      }

Also available in: Unified diff