Revision 45789
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/ExpressionUtils.java | ||
---|---|---|
199 | 199 |
} |
200 | 200 |
|
201 | 201 |
public static boolean isDynamicText(String source) { |
202 |
if( !source.contains(DYNAMICTEXT_STARTTAG) ) { |
|
202 |
if( StringUtils.isBlank(source) || !source.contains(DYNAMICTEXT_STARTTAG) ) {
|
|
203 | 203 |
return false; |
204 | 204 |
} |
205 | 205 |
String[] sources = StringUtils.substringsBetween(source, DYNAMICTEXT_STARTTAG, DYNAMICTEXT_ENDTAG); |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultExpression.java | ||
---|---|---|
15 | 15 |
import org.gvsig.expressionevaluator.Optimizer; |
16 | 16 |
import org.gvsig.expressionevaluator.SymbolTable; |
17 | 17 |
import org.gvsig.json.Json; |
18 |
import org.gvsig.json.JsonManager; |
|
18 | 19 |
import org.gvsig.json.JsonObjectBuilder; |
20 |
import org.gvsig.json.SupportToJson; |
|
19 | 21 |
import org.gvsig.tools.ToolsLocator; |
20 | 22 |
import org.gvsig.tools.dynobject.DynStruct; |
21 | 23 |
import org.gvsig.tools.evaluator.Evaluator; |
... | ... | |
285 | 287 |
ExpressionEvaluator evaluator = this.manager.createExpressionEvaluator(this); |
286 | 288 |
return evaluator; |
287 | 289 |
} |
290 |
|
|
291 |
public static void selfRegister() { |
|
292 |
Json.registerSerializer(new TheJsonSerializer()); |
|
293 |
} |
|
294 |
|
|
295 |
private static class TheJsonSerializer implements JsonManager.JsonSerializer { |
|
296 |
|
|
297 |
public TheJsonSerializer() { |
|
298 |
} |
|
299 |
|
|
300 |
@Override |
|
301 |
public Class getObjectClass() { |
|
302 |
return DefaultExpression.class; |
|
303 |
} |
|
304 |
|
|
305 |
@Override |
|
306 |
public Object toObject(JsonObject json) { |
|
307 |
DefaultExpression o = new DefaultExpression(); |
|
308 |
o.fromJson(json); |
|
309 |
return o; |
|
310 |
} |
|
311 |
|
|
312 |
@Override |
|
313 |
public JsonObjectBuilder toJsonBuilder(Object value) { |
|
314 |
return ((SupportToJson)value).toJsonBuilder(); |
|
315 |
} |
|
316 |
|
|
317 |
} |
|
318 |
|
|
319 |
|
|
320 |
|
|
288 | 321 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/ExpressionEvaluatorImplLibrary.java | ||
---|---|---|
80 | 80 |
ReprSQLDate.selfRegister(); |
81 | 81 |
ReprSQLTime.selfRegister(); |
82 | 82 |
ReprSQLTimestamp.selfRegister(); |
83 |
DefaultExpression.selfRegister(); |
|
83 | 84 |
|
84 | 85 |
} |
85 | 86 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureAttributeDescriptor.java | ||
---|---|---|
2210 | 2210 |
builder.add("fk_closedlist", this.getForeingKey().isClosedList()); |
2211 | 2211 |
} |
2212 | 2212 |
builder.add("availableValuesExpression", this.availableValuesExpression); |
2213 |
builder.add("defaultValue", Objects.toString(this.defaultValue, ""));
|
|
2213 |
builder.add("defaultValue", Objects.toString(this.defaultValue, null));
|
|
2214 | 2214 |
builder.add("dataProfile", this.getDataProfileName()); |
2215 | 2215 |
builder.add("tags", tags); |
2216 | 2216 |
builder.add("availableValues", availableValues); |
... | ... | |
2256 | 2256 |
this.dataProfile = json.getString("dataProfile", null); |
2257 | 2257 |
try { |
2258 | 2258 |
this.defaultValue = json.getString("defaultValue", null); |
2259 |
if(!ExpressionUtils.isDynamicText((String) this.defaultValue)){
|
|
2259 |
if(!(this.defaultValue instanceof String && ExpressionUtils.isDynamicText((String) this.defaultValue))){
|
|
2260 | 2260 |
this.defaultValue = this.coerce(this.defaultValue); |
2261 | 2261 |
} |
2262 | 2262 |
} catch (Exception ex) { |
Also available in: Unified diff