Revision 2870
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 | ||
---|---|---|
128 | 128 |
@Override |
129 | 129 |
public void start() throws StartServiceException, InvalidEntryException { |
130 | 130 |
this.getProvider().start(); |
131 |
this.getProvider().initDefaultValues(); |
|
131 | 132 |
this.updateObservers(START_NOTIFICATION, null, null); |
132 | 133 |
} |
133 | 134 |
|
... | ... | |
224 | 225 |
public void setShowPreviewSymbol(boolean showPreviewSymbol) { |
225 | 226 |
getProvider().setShowPreviewSymbol(showPreviewSymbol); |
226 | 227 |
} |
228 |
|
|
229 |
@Override |
|
230 |
public void restart() throws StartServiceException, InvalidEntryException ,StopServiceException { |
|
231 |
this.getProvider().restart(); |
|
232 |
this.updateObservers(RESTART_NOTIFICATION, null, null); |
|
233 |
} |
|
234 |
|
|
227 | 235 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.duplicate/src/main/java/org/gvsig/vectorediting/lib/prov/duplicate/MeasureEditingProvider.java | ||
---|---|---|
194 | 194 |
i18nManager.getTranslation("delete_original_geometries"), |
195 | 195 |
consoleMsg, |
196 | 196 |
deleteOriginalGeometriesOptions2, |
197 |
i18nManager.getTranslation("_no"),
|
|
197 |
false,
|
|
198 | 198 |
TYPE.OPTION).setDataType(DataTypes.BOOLEAN);; |
199 | 199 |
|
200 | 200 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/EditingServiceParameterOptions.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
public String getLabel(Object value); |
31 | 31 |
|
32 |
public String getConsoleValue(Object value); |
|
33 |
|
|
32 | 34 |
public interface ParameterOption extends LabeledValue { |
33 | 35 |
|
34 | 36 |
public String getConsoleValue(); |
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 | ||
---|---|---|
57 | 57 |
public static final String FINISH_AND_STORE_NOTIFICATION = "EditingService.FinishAndStore"; |
58 | 58 |
public static final String FINISH_NOTIFICATION = "EditingService.Finish"; |
59 | 59 |
public static final String START_NOTIFICATION = "EditingService.Start"; |
60 |
public static final String RESTART_NOTIFICATION = "EditingService.Restart"; |
|
60 | 61 |
|
61 | 62 |
/** |
62 | 63 |
* Gets state of drawing. If this service has sufficient values with mouse |
... | ... | |
201 | 202 |
|
202 | 203 |
public void setShowPreviewSymbol(boolean showPreviewSymbol); |
203 | 204 |
|
205 |
public void restart() throws StartServiceException, InvalidEntryException ,StopServiceException; |
|
206 |
|
|
207 |
|
|
204 | 208 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/EditingServiceParameter.java | ||
---|---|---|
107 | 107 |
*/ |
108 | 108 |
public void setDefaultValue(Object value); |
109 | 109 |
|
110 |
public String getConsoleDefaultValue(); |
|
110 | 111 |
|
111 | 112 |
/** |
112 | 113 |
* If parameter is of type Geometry returns the type of geometry |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/DefaultEditingServiceParameterOptions.java | ||
---|---|---|
68 | 68 |
return option.getValue(); |
69 | 69 |
} |
70 | 70 |
} |
71 |
for (ParameterOption option : this.options) { |
|
72 |
if(StringUtils.startsWithIgnoreCase(option.getConsoleValue(), s)){ |
|
73 |
return option.getValue(); |
|
71 |
if(StringUtils.isNotBlank(s)){ |
|
72 |
for (ParameterOption option : this.options) { |
|
73 |
if(StringUtils.startsWithIgnoreCase(option.getConsoleValue(), s)){ |
|
74 |
return option.getValue(); |
|
75 |
} |
|
74 | 76 |
} |
75 | 77 |
} |
76 | 78 |
if(isValidValue(defaultValue)){ |
... | ... | |
107 | 109 |
} |
108 | 110 |
return null; |
109 | 111 |
} |
112 |
|
|
113 |
@Override |
|
114 |
public String getConsoleValue(Object value) { |
|
115 |
for (ParameterOption option : this.options) { |
|
116 |
if(ObjectUtils.equals(option.getValue(), value)) { |
|
117 |
return option.getConsoleValue(); |
|
118 |
} |
|
119 |
} |
|
120 |
return ""; |
|
121 |
} |
|
110 | 122 |
|
111 | 123 |
|
112 | 124 |
public static class DefaultParameterOption<T> implements ParameterOption, Comparable{ |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/DefaultEditingServiceParameter.java | ||
---|---|---|
28 | 28 |
import java.util.Arrays; |
29 | 29 |
import java.util.HashSet; |
30 | 30 |
import java.util.Map; |
31 |
import java.util.Objects; |
|
31 | 32 |
import java.util.Set; |
32 | 33 |
import org.gvsig.fmap.geom.Geometry; |
34 |
import org.gvsig.fmap.geom.primitive.Point; |
|
33 | 35 |
import org.gvsig.timesupport.DataTypes; |
34 | 36 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
35 | 37 |
|
... | ... | |
213 | 215 |
public void setDefaultValue(Object value) { |
214 | 216 |
this.defaultValue = value; |
215 | 217 |
} |
218 |
|
|
219 |
public String getConsoleDefaultValue() { |
|
220 |
if(this.defaultValue == null) { |
|
221 |
return ""; |
|
222 |
} |
|
223 |
if (defaultValue instanceof Point) { |
|
224 |
Point point = (Point) defaultValue; |
|
225 |
StringBuilder builder = new StringBuilder(); |
|
226 |
for (int i = 0; i < point.getDimension(); i++) { |
|
227 |
builder.append(point.getCoordinateAt(i)); |
|
228 |
if (i < point.getDimension() - 1) { |
|
229 |
builder.append(" , "); |
|
230 |
} |
|
231 |
} |
|
232 |
return builder.toString(); |
|
233 |
} |
|
216 | 234 |
|
235 |
if (this.options2 != null) { |
|
236 |
return this.options2.getConsoleValue(this.defaultValue); |
|
237 |
} |
|
238 |
if (this.options != null) { |
|
239 |
//FIXME: ???? |
|
240 |
return this.options.getOrDefault(defaultValue, ""); |
|
241 |
} |
|
242 |
return Objects.toString(defaultValue, ""); |
|
243 |
} |
|
244 |
|
|
217 | 245 |
@Override |
218 | 246 |
public boolean isOptional() { |
219 | 247 |
return optional; |
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 | ||
---|---|---|
191 | 191 |
public void setShowPreviewSymbol(boolean showPreviewSymbol); |
192 | 192 |
|
193 | 193 |
public boolean isShowPreviewSymbol(); |
194 |
|
|
195 |
/** |
|
196 |
* Restarts provider. |
|
197 |
* |
|
198 |
* @throws StartServiceException |
|
199 |
* if there are some error starting service. |
|
200 |
* @throws InvalidEntryException |
|
201 |
* if the entry of provider is not valid |
|
202 |
*/ |
|
203 |
public void restart() throws StartServiceException, InvalidEntryException, StopServiceException; |
|
194 | 204 |
|
205 |
public void initDefaultValues(); |
|
206 |
|
|
195 | 207 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/AbstractEditingProvider.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
package org.gvsig.vectorediting.lib.spi; |
26 | 26 |
|
27 |
import java.util.List; |
|
27 | 28 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
28 | 29 |
import org.gvsig.fmap.dal.feature.Feature; |
29 | 30 |
import org.gvsig.fmap.geom.Geometry; |
... | ... | |
32 | 33 |
import org.gvsig.tools.service.spi.ProviderServices; |
33 | 34 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
34 | 35 |
import org.gvsig.vectorediting.lib.api.exceptions.InvalidEntryException; |
36 |
import org.gvsig.vectorediting.lib.api.exceptions.StartServiceException; |
|
37 |
import org.gvsig.vectorediting.lib.api.exceptions.StopServiceException; |
|
35 | 38 |
import org.slf4j.Logger; |
36 | 39 |
import org.slf4j.LoggerFactory; |
37 | 40 |
|
38 | 41 |
public abstract class AbstractEditingProvider extends AbstractProvider |
39 | 42 |
implements EditingProvider, Geometry.TYPES, Geometry.SUBTYPES { |
40 | 43 |
|
41 |
private static final Logger LOGGER = LoggerFactory
|
|
44 |
protected static final Logger LOGGER = LoggerFactory
|
|
42 | 45 |
.getLogger(AbstractEditingProvider.class); |
43 | 46 |
|
44 | 47 |
private boolean showPreviewSymbol; |
... | ... | |
135 | 138 |
// } |
136 | 139 |
// } |
137 | 140 |
|
141 |
@Override |
|
142 |
public void restart() throws StartServiceException, InvalidEntryException ,StopServiceException { |
|
143 |
this.stop(); |
|
144 |
this.start(); |
|
145 |
} |
|
138 | 146 |
|
147 |
@Override |
|
148 |
public void initDefaultValues() { |
|
149 |
List<EditingServiceParameter> parameters = this.getParameters(); |
|
150 |
for (EditingServiceParameter parameter : parameters) { |
|
151 |
if(parameter.isOptional()){ |
|
152 |
try { |
|
153 |
setValue(parameter, parameter.getDefaultValue()); |
|
154 |
} catch (InvalidEntryException ex) { |
|
155 |
LOGGER.debug("Can't init default value of "+parameter.getName(), ex); |
|
156 |
} |
|
157 |
} |
|
158 |
} |
|
159 |
} |
|
139 | 160 |
|
161 |
|
|
162 |
|
|
140 | 163 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.swing/org.gvsig.vectorediting.swing.impl/src/main/java/org/gvsig/vectorediting/swing/impl/DefaultEditingContext.java | ||
---|---|---|
496 | 496 |
String activeServiceName = |
497 | 497 |
i18nManager.getTranslation(getActiveService().getName()); |
498 | 498 |
|
499 |
Object defaultValue = param.getDefaultValue(); |
|
500 |
String strDefaultValue; |
|
501 |
|
|
502 |
if (defaultValue != null) { |
|
503 |
if (defaultValue instanceof String) { |
|
504 |
strDefaultValue = |
|
505 |
i18nManager.getTranslation((String) defaultValue); |
|
506 |
} else { |
|
507 |
if(defaultValue instanceof Point){ |
|
508 |
Point point = (Point)defaultValue; |
|
509 |
StringBuilder builder = new StringBuilder(); |
|
510 |
for(int i=0; i<point.getDimension(); i++){ |
|
511 |
builder.append(point.getCoordinateAt(i)); |
|
512 |
if(i < point.getDimension()-1){ |
|
513 |
builder.append(" , "); |
|
514 |
} |
|
515 |
} |
|
516 |
strDefaultValue = builder.toString(); |
|
517 |
} else { |
|
518 |
strDefaultValue = defaultValue.toString(); |
|
519 |
} |
|
520 |
} |
|
521 |
showConsoleMessage("\n" + activeServiceName + "# " + translation |
|
522 |
+ "<" + strDefaultValue + "> : "); |
|
499 |
String strDefaultValue = param.getConsoleDefaultValue(); |
|
500 |
|
|
501 |
if(StringUtils.isBlank(strDefaultValue)) { |
|
502 |
showConsoleMessage("\n" + activeServiceName + "# " + translation + " : "); |
|
523 | 503 |
} else { |
524 |
showConsoleMessage("\n" + activeServiceName + "# " + translation |
|
525 |
+ " : "); |
|
504 |
showConsoleMessage("\n" + activeServiceName + "# " + translation + "<" + strDefaultValue + "> : "); |
|
526 | 505 |
} |
527 | 506 |
} |
528 | 507 |
|
... | ... | |
810 | 789 |
showConsoleMessage("\n" |
811 | 790 |
+ i18nManager.getTranslation(lastService.getName()) + "# " |
812 | 791 |
+ i18nManager.getTranslation("finished") + "\n"); |
813 |
lastService.stop(); |
|
792 |
// lastService.stop();
|
|
814 | 793 |
setActiveService(lastService); |
815 |
lastService.start(); |
|
794 |
// lastService.start(); |
|
795 |
lastService.restart(); |
|
816 | 796 |
changeSelectedTool(getActiveService().getName()); |
817 | 797 |
} |
818 | 798 |
|
Also available in: Unified diff