Revision 44397 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
ExpressionUtils.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expressionevaluator; |
2 | 2 |
|
3 | 3 |
import java.io.File; |
4 |
import org.apache.commons.lang3.ArrayUtils; |
|
4 | 5 |
import org.apache.commons.lang3.StringUtils; |
5 | 6 |
import org.gvsig.expressionevaluator.ExpressionBuilder.Value; |
6 | 7 |
import org.gvsig.tools.script.Script; |
... | ... | |
168 | 169 |
MutableSymbolTable symbolTable = manager.createSymbolTable(); |
169 | 170 |
return symbolTable; |
170 | 171 |
} |
172 |
|
|
173 |
public static boolean isDynamicText(String source) { |
|
174 |
String[] sources = StringUtils.substringsBetween(source, "<%", "%>"); |
|
175 |
if( ArrayUtils.isEmpty(sources) ) { |
|
176 |
return false; |
|
177 |
} |
|
178 |
return true; |
|
179 |
} |
|
171 | 180 |
|
172 |
public static String evaluatePage(String source) {
|
|
181 |
public static String evaluateDynamicText(String source) {
|
|
173 | 182 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
174 |
return manager.evaluatePage(source);
|
|
183 |
return manager.evaluateDynamicText(source);
|
|
175 | 184 |
} |
176 | 185 |
|
177 |
public static String evaluatePage(SymbolTable symbolTable, String source) {
|
|
186 |
public static String evaluateDynamicText(SymbolTable symbolTable, String source) {
|
|
178 | 187 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
179 |
return manager.evaluatePage(symbolTable, source);
|
|
188 |
return manager.evaluateDynamicText(symbolTable, source);
|
|
180 | 189 |
} |
181 | 190 |
|
182 | 191 |
public static File evaluateFilename(File source) { |
183 | 192 |
return evaluateFilename(null, source); |
184 | 193 |
} |
194 |
|
|
195 |
public static boolean isDynamicFilename(File source) { |
|
196 |
if( source == null ) { |
|
197 |
return false; |
|
198 |
} |
|
199 |
return isDynamicText(source.getPath()); |
|
200 |
} |
|
185 | 201 |
|
186 | 202 |
@SuppressWarnings("StringEquality") |
187 | 203 |
public static File evaluateFilename(SymbolTable symbolTable, File source) { |
188 | 204 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
189 | 205 |
String src = source.getPath(); |
190 |
String r = manager.evaluatePage(symbolTable, src);
|
|
206 |
String r = manager.evaluateDynamicText(symbolTable, src);
|
|
191 | 207 |
if( r == src ) { // !!! I compare that it is the same pointer, it is what I want. |
192 | 208 |
return source; |
193 | 209 |
} |
Also available in: Unified diff