Revision 44752 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestCodeFormatter.java
TestCodeFormatter.java | ||
---|---|---|
4 | 4 |
import junit.framework.TestCase; |
5 | 5 |
import org.apache.commons.lang3.StringUtils; |
6 | 6 |
import org.gvsig.expressionevaluator.Code; |
7 |
import org.gvsig.expressionevaluator.Code.Caller; |
|
8 | 7 |
import org.gvsig.expressionevaluator.Code.Constant; |
9 | 8 |
import org.gvsig.expressionevaluator.Codes; |
10 | 9 |
import org.gvsig.expressionevaluator.ExpressionBuilder; |
... | ... | |
14 | 13 |
import org.gvsig.expressionevaluator.Formatter; |
15 | 14 |
import org.gvsig.expressionevaluator.LexicalAnalyzer; |
16 | 15 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
16 |
import org.gvsig.expressionevaluator.Code.Callable; |
|
17 | 17 |
|
18 | 18 |
public class TestCodeFormatter extends TestCase { |
19 | 19 |
|
... | ... | |
39 | 39 |
// Need for H2Spatial |
40 | 40 |
@Override |
41 | 41 |
public boolean canApply(Code code) { |
42 |
if( code instanceof Caller ) {
|
|
43 |
return StringUtils.equalsIgnoreCase("ST_intersects",((Caller)code).name());
|
|
42 |
if( code instanceof Callable ) {
|
|
43 |
return StringUtils.equalsIgnoreCase("ST_intersects",((Callable)code).name());
|
|
44 | 44 |
} |
45 | 45 |
return false; |
46 | 46 |
} |
47 | 47 |
|
48 | 48 |
@Override |
49 | 49 |
public String format(Code code) { |
50 |
Codes parameters = ((Caller)code).parameters();
|
|
50 |
Codes parameters = ((Callable)code).parameters();
|
|
51 | 51 |
String p1 = parameters.get(0).toString(MyFormatter.this); |
52 | 52 |
String p2 = parameters.get(1).toString(MyFormatter.this); |
53 | 53 |
String r = MessageFormat.format( |
... | ... | |
72 | 72 |
|
73 | 73 |
@Override |
74 | 74 |
public boolean canApply(Code code) { |
75 |
if( code instanceof Caller ) {
|
|
76 |
return StringUtils.equalsIgnoreCase("ST_intersects2",((Caller)code).name());
|
|
75 |
if( code instanceof Callable ) {
|
|
76 |
return StringUtils.equalsIgnoreCase("ST_intersects2",((Callable)code).name());
|
|
77 | 77 |
} |
78 | 78 |
return false; |
79 | 79 |
} |
80 | 80 |
|
81 | 81 |
@Override |
82 | 82 |
public String format(Code code) { |
83 |
Codes parameters = ((Caller)code).parameters();
|
|
83 |
Codes parameters = ((Callable)code).parameters();
|
|
84 | 84 |
String p1 = parameters.get(0).toString(MyFormatter.this); |
85 | 85 |
String p2 = parameters.get(1).toString(MyFormatter.this); |
86 | 86 |
String r = MessageFormat.format( |
... | ... | |
98 | 98 |
// Need for SpatiaLite |
99 | 99 |
@Override |
100 | 100 |
public boolean canApply(Code code) { |
101 |
if( code instanceof Caller ) {
|
|
102 |
if( StringUtils.equalsIgnoreCase("DECODE",((Caller)code).name()) ) {
|
|
103 |
Codes parameters = ((Caller)code).parameters();
|
|
101 |
if( code instanceof Callable ) {
|
|
102 |
if( StringUtils.equalsIgnoreCase("DECODE",((Callable)code).name()) ) {
|
|
103 |
Codes parameters = ((Callable)code).parameters();
|
|
104 | 104 |
Code code_p1 = parameters.get(0); |
105 | 105 |
Code code_p2 = parameters.get(1); |
106 | 106 |
if( code_p1 instanceof Constant && code_p2 instanceof Constant ) { |
... | ... | |
118 | 118 |
|
119 | 119 |
@Override |
120 | 120 |
public String format(Code code) { |
121 |
Codes parameters = ((Caller)code).parameters();
|
|
121 |
Codes parameters = ((Callable)code).parameters();
|
|
122 | 122 |
Object p1 = ((Constant)parameters.get(0)).value(); |
123 | 123 |
return "x'"+ (String)p1 + "'"; |
124 | 124 |
} |
... | ... | |
128 | 128 |
// Need for H2Spatial |
129 | 129 |
@Override |
130 | 130 |
public boolean canApply(Code code) { |
131 |
if( code instanceof Caller ) {
|
|
132 |
return StringUtils.equalsIgnoreCase("IFNULL",((Caller)code).name());
|
|
131 |
if( code instanceof Callable ) {
|
|
132 |
return StringUtils.equalsIgnoreCase("IFNULL",((Callable)code).name());
|
|
133 | 133 |
} |
134 | 134 |
return false; |
135 | 135 |
} |
136 | 136 |
|
137 | 137 |
@Override |
138 | 138 |
public String format(Code code) { |
139 |
Codes parameters = ((Caller)code).parameters();
|
|
139 |
Codes parameters = ((Callable)code).parameters();
|
|
140 | 140 |
String p1 = parameters.get(0).toString(MyFormatter.this); |
141 | 141 |
String p2 = parameters.get(1).toString(MyFormatter.this); |
142 | 142 |
String p3 = parameters.get(2).toString(MyFormatter.this); |
... | ... | |
154 | 154 |
// Need for SpatiaLite |
155 | 155 |
@Override |
156 | 156 |
public boolean canApply(Code code) { |
157 |
if( code instanceof Caller ) {
|
|
158 |
return StringUtils.equalsIgnoreCase("ILIKE",((Caller)code).name());
|
|
157 |
if( code instanceof Callable ) {
|
|
158 |
return StringUtils.equalsIgnoreCase("ILIKE",((Callable)code).name());
|
|
159 | 159 |
} |
160 | 160 |
return false; |
161 | 161 |
} |
162 | 162 |
|
163 | 163 |
@Override |
164 | 164 |
public String format(Code code) { |
165 |
Codes parameters = ((Caller)code).parameters();
|
|
165 |
Codes parameters = ((Callable)code).parameters();
|
|
166 | 166 |
String p1 = parameters.get(0).toString(MyFormatter.this); |
167 | 167 |
String p2 = parameters.get(1).toString(MyFormatter.this); |
168 | 168 |
String r = MessageFormat.format( |
... | ... | |
178 | 178 |
// Need for H2Spatial |
179 | 179 |
@Override |
180 | 180 |
public boolean canApply(Code code) { |
181 |
if( code instanceof Caller ) {
|
|
182 |
return StringUtils.equalsIgnoreCase("NOT_IS_NULL",((Caller)code).name());
|
|
181 |
if( code instanceof Callable ) {
|
|
182 |
return StringUtils.equalsIgnoreCase("NOT_IS_NULL",((Callable)code).name());
|
|
183 | 183 |
} |
184 | 184 |
return false; |
185 | 185 |
} |
186 | 186 |
|
187 | 187 |
@Override |
188 | 188 |
public String format(Code code) { |
189 |
Codes parameters = ((Caller)code).parameters();
|
|
189 |
Codes parameters = ((Callable)code).parameters();
|
|
190 | 190 |
String p1 = parameters.get(0).toString(MyFormatter.this); |
191 | 191 |
String r = MessageFormat.format( |
192 | 192 |
"( ({0}) IS NOT NULL )", |
Also available in: Unified diff