Revision 44304 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/main/java/org/gvsig/fmap/dal/store/h2/expressionbuilderformatter/ILike.java
ILike.java | ||
---|---|---|
24 | 24 |
} |
25 | 25 |
@Override |
26 | 26 |
public boolean canApply(ExpressionBuilder.Value value) { |
27 |
if (value instanceof ExpressionBuilder.Function) {
|
|
28 |
return StringUtils.equalsIgnoreCase(ExpressionBuilder.OPERATOR_ILIKE, ((Function) value).name());
|
|
27 |
if (value instanceof ExpressionBuilder.BinaryOperator) {
|
|
28 |
return StringUtils.equalsIgnoreCase(ExpressionBuilder.OPERATOR_ILIKE, ((ExpressionBuilder.BinaryOperator) value).name());
|
|
29 | 29 |
} |
30 | 30 |
return false; |
31 | 31 |
} |
32 | 32 |
|
33 | 33 |
@Override |
34 |
public String format(Value function) {
|
|
35 |
List<Value> parameters = ((Function) function).parameters();
|
|
36 |
String p1 = parameters.get(0).toString(formatter);
|
|
37 |
String p2 = parameters.get(1).toString(formatter);
|
|
34 |
public String format(Value value) {
|
|
35 |
ExpressionBuilder.BinaryOperator operator = (ExpressionBuilder.BinaryOperator) value;
|
|
36 |
String p1 = operator.left().toString(formatter);
|
|
37 |
String p2 = operator.right().toString(formatter);
|
|
38 | 38 |
String r = MessageFormat.format("(lcase({0}) like lcase({1}))", p1, p2); |
39 | 39 |
return r; |
40 | 40 |
} |
Also available in: Unified diff