Revision 62
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 | ||
---|---|---|
15 | 15 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
16 | 16 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
17 | 17 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
18 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
19 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
18 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
20 | 19 |
import org.gvsig.vectorediting.lib.spi.EditingProvider; |
21 | 20 |
|
22 | 21 |
public class DefaultEditingService implements EditingService { |
... | ... | |
43 | 42 |
return provider.next(); |
44 | 43 |
} |
45 | 44 |
|
46 |
public void value(Object value) throws InvalidValueException, InvalidOptionException{
|
|
45 |
public void value(Object value) throws InvalidEntryException{
|
|
47 | 46 |
provider.value(value); |
48 | 47 |
} |
49 | 48 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProvider.java | ||
---|---|---|
28 | 28 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter.TYPE; |
29 | 29 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
30 | 30 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
31 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
32 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
31 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
33 | 32 |
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider; |
34 | 33 |
import org.gvsig.vectorediting.lib.spi.DefaultDrawingStatus; |
35 | 34 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter; |
... | ... | |
107 | 106 |
} |
108 | 107 |
|
109 | 108 |
private void validateAndInsertValue(EditingServiceParameter param, |
110 |
Object value) throws InvalidValueException {
|
|
109 |
Object value) throws InvalidEntryException {
|
|
111 | 110 |
if (param == center) { |
112 | 111 |
if (value instanceof Point) { |
113 | 112 |
values.put(param, value); |
... | ... | |
121 | 120 |
radiusValue = ((Point) value).distance((Point) values.get(center)); |
122 | 121 |
} |
123 | 122 |
catch (Exception e) { |
124 |
throw new InvalidValueException(e);
|
|
123 |
throw new InvalidEntryException(e);
|
|
125 | 124 |
} |
126 | 125 |
if (radiusValue != null) { |
127 | 126 |
values.put(param, radiusValue); |
... | ... | |
145 | 144 |
return list; |
146 | 145 |
} |
147 | 146 |
|
148 |
public void value(Object value) throws InvalidValueException, InvalidOptionException{
|
|
147 |
public void value(Object value) throws InvalidEntryException{
|
|
149 | 148 |
EditingServiceParameter param = next(); |
150 | 149 |
validateAndInsertValue(param, value); |
151 | 150 |
} |
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 | ||
---|---|---|
32 | 32 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter.TYPE; |
33 | 33 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
34 | 34 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
35 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
36 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
35 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
37 | 36 |
import org.gvsig.vectorediting.lib.api.exceptions.VectorEditingException; |
38 | 37 |
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider; |
39 | 38 |
import org.gvsig.vectorediting.lib.spi.DefaultDrawingStatus; |
... | ... | |
580 | 579 |
* @param value |
581 | 580 |
*/ |
582 | 581 |
private void validateAndInsertValue(EditingServiceParameter param, |
583 |
Object value) throws InvalidValueException, InvalidOptionException {
|
|
582 |
Object value) throws InvalidEntryException {
|
|
584 | 583 |
if (value instanceof String) { |
585 | 584 |
if (values.size() >= 2) { |
586 | 585 |
if(((String) value).equalsIgnoreCase("A") || ((String) value).equalsIgnoreCase("L")){ |
... | ... | |
595 | 594 |
return; |
596 | 595 |
} |
597 | 596 |
} else{ |
598 |
throw new InvalidOptionException(null);
|
|
597 |
throw new InvalidEntryException(null);
|
|
599 | 598 |
} |
600 | 599 |
|
600 |
} else{ |
|
601 |
throw new InvalidEntryException(null); |
|
601 | 602 |
} |
602 | 603 |
} |
603 | 604 |
else if (param == points && value instanceof Point) { |
... | ... | |
605 | 606 |
} |
606 | 607 |
} |
607 | 608 |
|
608 |
public void value(Object value) throws InvalidValueException, InvalidOptionException{
|
|
609 |
public void value(Object value) throws InvalidEntryException{
|
|
609 | 610 |
EditingServiceParameter param = next(); |
610 | 611 |
validateAndInsertValue(param, value); |
611 | 612 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.insertpoint/src/main/java/org/gvsig/vectorediting/lib/prov/insertpoint/InsertPointEditingProvider.java | ||
---|---|---|
17 | 17 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter.TYPE; |
18 | 18 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
19 | 19 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
20 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
21 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
20 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
22 | 21 |
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider; |
23 | 22 |
import org.gvsig.vectorediting.lib.spi.DefaultDrawingStatus; |
24 | 23 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter; |
... | ... | |
76 | 75 |
return list; |
77 | 76 |
} |
78 | 77 |
|
79 |
public void value(Object value) throws InvalidValueException, InvalidOptionException {
|
|
78 |
public void value(Object value) throws InvalidEntryException {
|
|
80 | 79 |
EditingServiceParameter param = next(); |
81 | 80 |
if (isValidValue(param, value)) { |
82 | 81 |
this.valuePoint = (Point) value; |
83 | 82 |
} |
84 | 83 |
else{ |
85 |
throw new InvalidValueException(null);
|
|
84 |
throw new InvalidEntryException(null);
|
|
86 | 85 |
} |
87 | 86 |
} |
88 | 87 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/exceptions/InvalidOptionException.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.api |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.api.exceptions; |
|
8 |
|
|
9 |
|
|
10 |
public class InvalidOptionException extends EditingServiceException { |
|
11 |
|
|
12 |
private static final long serialVersionUID = 2515764199505996338L; |
|
13 |
|
|
14 |
private static final String MESSAGE = |
|
15 |
"An error has been produced validating option inserted. Please, check accpeted options"; |
|
16 |
|
|
17 |
private static final String KEY = "_InvalidOptionException"; |
|
18 |
|
|
19 |
|
|
20 |
public InvalidOptionException(Throwable ex) { |
|
21 |
super(MESSAGE, ex, KEY, serialVersionUID); |
|
22 |
} |
|
23 |
|
|
24 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/exceptions/InvalidValueException.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.api |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.api.exceptions; |
|
8 |
|
|
9 |
|
|
10 |
public class InvalidValueException extends EditingServiceException { |
|
11 |
|
|
12 |
private static final long serialVersionUID = 2515764199505996338L; |
|
13 |
|
|
14 |
private static final String MESSAGE = |
|
15 |
"An error has been produced validating value inserted. Please, check value format"; |
|
16 |
|
|
17 |
private static final String KEY = "_InvalidValueException"; |
|
18 |
|
|
19 |
|
|
20 |
public InvalidValueException(Throwable ex) { |
|
21 |
super(MESSAGE, ex, KEY, serialVersionUID); |
|
22 |
} |
|
23 |
|
|
24 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/exceptions/InvalidEntryException.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.api |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.api.exceptions; |
|
8 |
|
|
9 |
|
|
10 |
public class InvalidEntryException extends EditingServiceException { |
|
11 |
|
|
12 |
private static final long serialVersionUID = 2515764199505996338L; |
|
13 |
|
|
14 |
private static final String MESSAGE = |
|
15 |
"An error has been produced validating entry inserted. Please, check entry format or possible entries"; |
|
16 |
|
|
17 |
private static final String KEY = "_InvalidValueException"; |
|
18 |
|
|
19 |
|
|
20 |
public InvalidEntryException(Throwable ex) { |
|
21 |
super(MESSAGE, ex, KEY, serialVersionUID); |
|
22 |
} |
|
23 |
|
|
24 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/EditingService.java | ||
---|---|---|
9 | 9 |
import java.util.List; |
10 | 10 |
|
11 | 11 |
import org.gvsig.fmap.dal.exception.DataException; |
12 |
import org.gvsig.fmap.dal.feature.exception.FinishEditingException; |
|
13 | 12 |
import org.gvsig.fmap.geom.primitive.Point; |
14 | 13 |
import org.gvsig.tools.exception.BaseException; |
15 | 14 |
import org.gvsig.tools.service.Service; |
16 | 15 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
17 | 16 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
18 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
19 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
20 |
import org.gvsig.vectorediting.lib.api.exceptions.VectorEditingException; |
|
17 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
21 | 18 |
|
22 | 19 |
public interface EditingService extends Service { |
23 | 20 |
|
... | ... | |
46 | 43 |
* @param name |
47 | 44 |
* @param value |
48 | 45 |
*/ |
49 |
public void value(Object value) throws InvalidValueException, InvalidOptionException;
|
|
46 |
public void value(Object value) throws InvalidEntryException;
|
|
50 | 47 |
|
51 | 48 |
/** |
52 | 49 |
* |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/EditingProvider.java | ||
---|---|---|
19 | 19 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
20 | 20 |
import org.gvsig.vectorediting.lib.api.exceptions.DrawServiceException; |
21 | 21 |
import org.gvsig.vectorediting.lib.api.exceptions.FinishServiceException; |
22 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
23 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
22 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
24 | 23 |
|
25 | 24 |
public interface EditingProvider extends Provider { |
26 | 25 |
|
... | ... | |
51 | 50 |
* @param param |
52 | 51 |
* @param value |
53 | 52 |
*/ |
54 |
public void value(Object value) throws InvalidValueException, InvalidOptionException;
|
|
53 |
public void value(Object value) throws InvalidEntryException;
|
|
55 | 54 |
|
56 | 55 |
/** |
57 | 56 |
* @throws CreateGeometryException |
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 | ||
---|---|---|
21 | 21 |
import org.cresques.cts.IProjection; |
22 | 22 |
import org.gvsig.andami.PluginServices; |
23 | 23 |
import org.gvsig.andami.ui.mdiFrame.MainFrame; |
24 |
import org.gvsig.app.extension.CheckSOAndArquitectureExtension.ShowMessageControler; |
|
24 | 25 |
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener; |
25 | 26 |
import org.gvsig.fmap.geom.Geometry; |
26 | 27 |
import org.gvsig.fmap.geom.primitive.Point; |
... | ... | |
51 | 52 |
import org.gvsig.vectorediting.lib.api.EditingService; |
52 | 53 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
53 | 54 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter.TYPE; |
54 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidOptionException; |
|
55 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidValueException; |
|
55 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
|
56 | 56 |
import org.gvsig.vectorediting.lib.api.exceptions.ParsePointException; |
57 | 57 |
import org.gvsig.vectorediting.lib.api.exceptions.ParseValueException; |
58 | 58 |
import org.gvsig.vectorediting.lib.api.exceptions.VectorEditingException; |
... | ... | |
163 | 163 |
addConsoleListener("ViewEditing", new ResponseListener() { |
164 | 164 |
|
165 | 165 |
public void acceptResponse(String response) { |
166 |
textEntered(response); |
|
166 |
try{ |
|
167 |
textEntered(response); |
|
168 |
} catch( VectorEditingException e){ |
|
169 |
showConsoleMessage(e.getMessage()); |
|
170 |
} finally{ |
|
171 |
getNextParameter(); |
|
172 |
} |
|
167 | 173 |
} |
168 | 174 |
}); |
169 | 175 |
|
... | ... | |
414 | 420 |
|
415 | 421 |
} |
416 | 422 |
|
417 |
private void textEntered(String response) { |
|
423 |
private void textEntered(String response) throws InvalidEntryException{
|
|
418 | 424 |
if (response == null) { |
419 | 425 |
this.activeService.stop(); |
420 | 426 |
cleanBehavior(); |
... | ... | |
423 | 429 |
List<TYPE> types = currentParam.getTypes(); |
424 | 430 |
Point point = null; |
425 | 431 |
Double value = null; |
426 |
try { |
|
427 |
if (types.contains(TYPE.OPTION)) { |
|
428 |
response = response.replace("\n", ""); |
|
429 |
if (response != null) { |
|
430 |
this.activeService.value(response); |
|
432 |
|
|
433 |
boolean insertedValue = false; |
|
434 |
if (!insertedValue && types.contains(TYPE.POSITION) |
|
435 |
|| types.contains(TYPE.LIST_POSITIONS)) { |
|
436 |
try { |
|
437 |
point = parsePoint(response); |
|
438 |
if (point != null) { |
|
439 |
this.activeService.value(point); |
|
440 |
insertedValue = true; |
|
431 | 441 |
} |
432 | 442 |
} |
433 |
else if (types.contains(TYPE.VALUE)) { |
|
443 |
catch (VectorEditingException e) { |
|
444 |
// Do nothing |
|
445 |
} |
|
446 |
} |
|
447 |
if (!insertedValue && types.contains(TYPE.VALUE)) { |
|
448 |
try { |
|
434 | 449 |
value = parseValue(response); |
435 | 450 |
if (value != null) { |
436 | 451 |
this.activeService.value(value); |
452 |
insertedValue = true; |
|
437 | 453 |
} |
438 | 454 |
} |
439 |
else if (types.contains(TYPE.POSITION) |
|
440 |
|| types.contains(TYPE.LIST_POSITIONS)) { |
|
441 |
point = parsePoint(response); |
|
442 |
if (point != null) { |
|
443 |
this.activeService.value(point); |
|
455 |
catch (VectorEditingException e) { |
|
456 |
// Do nothing |
|
457 |
} |
|
458 |
|
|
459 |
} |
|
460 |
if (!insertedValue && types.contains(TYPE.OPTION)) { |
|
461 |
try { |
|
462 |
response = response.replace("\n", ""); |
|
463 |
if (response != null) { |
|
464 |
this.activeService.value(response); |
|
465 |
insertedValue = true; |
|
444 | 466 |
} |
445 | 467 |
} |
468 |
catch (VectorEditingException e) { |
|
469 |
// Do nothing |
|
470 |
} |
|
446 | 471 |
} |
447 |
catch (VectorEditingException e) { |
|
448 |
showConsoleMessage(e.getMessage()); |
|
472 |
// TODO: contemplar el resto de casos |
|
473 |
// TYPE.OPTION, |
|
474 |
// TYPE.SELECTION, |
|
475 |
// TYPE.GEOMETRY |
|
476 |
if (!insertedValue) { |
|
477 |
throw new InvalidEntryException(null); |
|
449 | 478 |
} |
450 |
finally { |
|
451 |
getNextParameter(); |
|
452 |
} |
|
453 |
// TODO: contemplar el resto de casos TYPE.SELECTION, TYPE.GEOMETRY |
|
454 |
|
|
455 |
// if (!insertedValue) { |
|
456 |
// // TODO Show console message |
|
457 |
// } |
|
458 |
|
|
459 | 479 |
} |
460 | 480 |
} |
461 | 481 |
|
482 |
|
|
483 |
|
|
462 | 484 |
private Double parseValue(String response) throws ParseValueException { |
463 |
try{ |
|
485 |
try {
|
|
464 | 486 |
return Double.valueOf(response); |
465 |
} catch( Exception e){ |
|
487 |
} |
|
488 |
catch (Exception e) { |
|
466 | 489 |
throw new ParseValueException(e); |
467 | 490 |
} |
468 |
|
|
491 |
|
|
469 | 492 |
} |
470 | 493 |
|
471 | 494 |
private Point parsePoint(String response) throws ParsePointException { |
Also available in: Unified diff