Revision 46554
tags/org.gvsig.desktop-2.0.382/license.txt | ||
---|---|---|
1 |
gvSIG. Desktop Geographic Information System. |
|
2 |
|
|
3 |
Copyright (C) 2007-2020 gvSIG Association. |
|
4 |
|
|
5 |
This program is free software; you can redistribute it and/or |
|
6 |
modify it under the terms of the GNU General Public License |
|
7 |
as published by the Free Software Foundation; either version 3 |
|
8 |
of the License, or (at your option) any later version. |
|
9 |
|
|
10 |
This program is distributed in the hope that it will be useful, |
|
11 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
GNU General Public License for more details. |
|
14 |
|
|
15 |
You should have received a copy of the GNU General Public License |
|
16 |
along with this program. If not, see <https://www.gnu.org/licenses/>. |
|
17 |
|
|
18 |
For any additional information, do not hesitate to contact us |
|
19 |
at info AT gvsig.com, or visit our website www.gvsig.com. |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/src/main/resources/log4j.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|
2 |
<!-- |
|
3 |
|
|
4 |
gvSIG. Desktop Geographic Information System. |
|
5 |
|
|
6 |
Copyright (C) 2007-2012 gvSIG Association. |
|
7 |
|
|
8 |
This program is free software; you can redistribute it and/or |
|
9 |
modify it under the terms of the GNU General Public License |
|
10 |
as published by the Free Software Foundation; either version 2 |
|
11 |
of the License, or (at your option) any later version. |
|
12 |
|
|
13 |
This program is distributed in the hope that it will be useful, |
|
14 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
15 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
16 |
GNU General Public License for more details. |
|
17 |
|
|
18 |
You should have received a copy of the GNU General Public License |
|
19 |
along with this program; if not, write to the Free Software |
|
20 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
21 |
MA 02110-1301, USA. |
|
22 |
|
|
23 |
For any additional information, do not hesitate to contact us |
|
24 |
at info AT gvsig.com, or visit our website www.gvsig.com. |
|
25 |
|
|
26 |
--> |
|
27 |
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> |
|
28 |
|
|
29 |
<!-- |
|
30 |
Log4J configuration file for unit tests execution. |
|
31 |
--> |
|
32 |
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> |
|
33 |
|
|
34 |
<!-- Appender configuration to show logging messages through the console --> |
|
35 |
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> |
|
36 |
<layout class="org.apache.log4j.PatternLayout"> |
|
37 |
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n %m%n" /> |
|
38 |
</layout> |
|
39 |
</appender> |
|
40 |
|
|
41 |
<!-- |
|
42 |
Activate logging messages of DEBUG level of higher only for the |
|
43 |
org.gvsig.tools packages. |
|
44 |
You can put full classes names or packages instead, to configure |
|
45 |
logging for all the classes and subpackages of the package. |
|
46 |
--> |
|
47 |
<category name="org.gvsig.tools"> |
|
48 |
<priority value="DEBUG" /> |
|
49 |
</category> |
|
50 |
<category name="org.gvsig.construc"> |
|
51 |
<priority value="DEBUG" /> |
|
52 |
</category> |
|
53 |
|
|
54 |
<!-- |
|
55 |
By default, show only logging messages of INFO level or higher, |
|
56 |
through the previously configured CONSOLE appender. |
|
57 |
--> |
|
58 |
<root> |
|
59 |
<priority value="INFO" /> |
|
60 |
<appender-ref ref="CONSOLE" /> |
|
61 |
</root> |
|
62 |
</log4j:configuration> |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/src/main/resources/Locations.csv | ||
---|---|---|
1 |
"id","name","size","confirmed","type" |
|
2 |
1,"King's Landing",5,1,"City" |
|
3 |
2,"Hayford Castle",3,0,"Castle" |
|
4 |
3,"Rosby",3,1,"Castle" |
|
5 |
4,"Old Stone Bridge Inn",1,0,"Other" |
|
6 |
5,"Brindlewood",1,0,"Other" |
|
7 |
6,"Sow's Horn",3,1,"Castle" |
|
8 |
7,"Tumbleton",4,1,"Town" |
|
9 |
8,"High Heart",2,1,"Ruin" |
|
10 |
9,"Duskendale",4,1,"Town" |
|
11 |
10,"Antlers",3,1,"Castle" |
|
12 |
11,"Stokeworth",3,0,"Castle" |
|
13 |
12,"Ivy Inn",1,0,"Other" |
|
14 |
13,"Village",1,0,"Other" |
|
15 |
14,"Holdfast",1,0,"Other" |
|
16 |
15,"Harrenhal",3,1,"Castle" |
|
17 |
16,"Rushing Falls",1,0,"Other" |
|
18 |
17,"Tumblers Falls",1,0,"Other" |
|
19 |
18,"Stoney Sept",4,1,"Town" |
|
20 |
19,"Hollow Hill",1,0,"Other" |
|
21 |
20,"Sept",1,0,"Other" |
|
22 |
21,"Acorn Hall",3,1,"Castle" |
|
23 |
22,"Pinkmaiden",3,1,"Castle" |
|
24 |
23,"Mummer's Ford",1,0,"Other" |
|
25 |
24,"Sherrer",1,0,"Other" |
|
26 |
25,"Wendish Town",1,0,"Other" |
|
27 |
26,"Lord Goodbrook's Village",1,0,"Other" |
|
28 |
27,"Sallydance",1,0,"Other" |
|
29 |
28,"Lady of the Leaves",1,0,"Other" |
|
30 |
29,"Lord Lychester's Keep",1,0,"Other" |
|
31 |
30,"Unnamed Village",1,0,"Other" |
|
32 |
31,"Inn (They Ley with Lions)",1,0,"Other" |
|
33 |
32,"Riverrun",3,1,"Castle" |
|
34 |
33,"Raventree Hall",3,0,"Castle" |
|
35 |
34,"Darry",3,0,"Castle" |
|
36 |
35,"Inn of the Kneeling Man",1,1,"Other" |
|
37 |
36,"BWB hideout",1,0,"Other" |
|
38 |
37,"Lort Harroway's Town",1,0,"Other" |
|
39 |
38,"Crossroads Inn",1,0,"Other" |
|
40 |
39,"Saltpans",1,1,"Other" |
|
41 |
40,"Quiet Isle",1,1,"Other" |
|
42 |
41,"Wickenden",3,1,"Castle" |
|
43 |
42,"Maidenpool",4,1,"Town" |
|
44 |
43,"Rook's Rest",3,1,"Castle" |
|
45 |
44,"Dyre Den",3,1,"Castle" |
|
46 |
45,"The Whispers",2,1,"Ruin" |
|
47 |
46,"Dragonstone",3,1,"Castle" |
|
48 |
47,"Sharp Point",3,1,"Castle" |
|
49 |
48,"Stonedance",3,1,"Castle" |
|
50 |
49,"Haystack Hall",3,1,"Castle" |
|
51 |
50,"Bronzegate",3,1,"Castle" |
|
52 |
51,"Felwood",3,1,"Castle" |
|
53 |
52,"Storm's End",3,1,"Castle" |
|
54 |
53,"Griffin's Roost",3,1,"Castle" |
|
55 |
54,"Rain House",3,1,"Castle" |
|
56 |
55,"Greenstone",3,1,"Castle" |
|
57 |
56,"Weeping Tower",3,1,"Castle" |
|
58 |
57,"Mistwood",3,1,"Castle" |
|
59 |
58,"Stonehelm",3,1,"Castle" |
|
60 |
59,"Crow's Nest",3,1,"Castle" |
|
61 |
60,"Grandview",4,0,"Town" |
|
62 |
61,"Summerhall",2,1,"Ruin" |
|
63 |
62,"Blackhaven",3,1,"Castle" |
|
64 |
63,"Fawnton",4,0,"Town" |
|
65 |
64,"Grassy Vale",3,1,"Castle" |
|
66 |
65,"Wyl",3,1,"Castle" |
|
67 |
66,"Ghaston Grey",3,1,"Castle" |
|
68 |
67,"Yronwood",3,1,"Castle" |
|
69 |
68,"Vulture's Roost",3,1,"Castle" |
|
70 |
69,"Nightsong",3,1,"Castle" |
|
71 |
70,"Ashford",3,1,"Castle" |
|
72 |
71,"Cider Hall",3,1,"Castle" |
|
73 |
72,"Highgarden",3,1,"Castle" |
|
74 |
73,"Horn Hill",3,1,"Castle" |
|
75 |
74,"Brightwater Keep",3,1,"Castle" |
|
76 |
75,"Bandallon",3,1,"Castle" |
|
77 |
76,"Honeyholt",3,1,"Castle" |
|
78 |
77,"Oldtown",5,1,"City" |
|
79 |
78,"Blackcrown",3,1,"Castle" |
|
80 |
79,"Three Towers",3,1,"Castle" |
|
81 |
80,"Uplands",3,1,"Castle" |
|
82 |
81,"Sunflower Hall",3,1,"Castle" |
|
83 |
82,"Blackmont",3,1,"Castle" |
|
84 |
83,"High Hermitage",3,1,"Castle" |
|
85 |
84,"Starfall",3,1,"Castle" |
|
86 |
85,"Sandstone",3,1,"Castle" |
|
87 |
86,"Skyreach",3,1,"Castle" |
|
88 |
87,"Kingsgrave",3,1,"Castle" |
|
89 |
88,"Tower of Joy",1,1,"Other" |
|
90 |
89,"Hellholt",3,1,"Castle" |
|
91 |
90,"Vaith",3,1,"Castle" |
|
92 |
91,"Salt Shore",3,1,"Castle" |
|
93 |
92,"Godsgrace",3,1,"Castle" |
|
94 |
93,"The Tor",3,1,"Castle" |
|
95 |
94,"Ghost Hill",3,1,"Castle" |
|
96 |
95,"Lemonwood",3,1,"Castle" |
|
97 |
96,"Sunspear",3,1,"Castle" |
|
98 |
97,"Planky Town",4,1,"Town" |
|
99 |
98,"Water Gardens",1,0,"Other" |
|
100 |
99,"Shandystone",1,0,"Other" |
|
101 |
100,"Tall Trees Town",4,0,"Town" |
|
102 |
101,"Longtable",3,1,"Castle" |
|
103 |
102,"Bitterbridge",3,1,"Castle" |
|
104 |
103,"Goldengrove",3,1,"Castle" |
|
105 |
104,"Red Lake",3,1,"Castle" |
|
106 |
105,"Old Oak",3,1,"Castle" |
|
107 |
106,"Crakehall",3,1,"Castle" |
|
108 |
107,"Cornfield",3,1,"Castle" |
|
109 |
108,"Silverhill",3,1,"Castle" |
|
110 |
109,"Clegane Hall",3,0,"Castle" |
|
111 |
110,"Tarbeck Hall",2,0,"Ruin" |
|
112 |
111,"Lannisport",5,1,"City" |
|
113 |
112,"Feastfires",3,1,"Castle" |
|
114 |
113,"Kayce",4,1,"Town" |
|
115 |
114,"Oxcross",1,0,"Other" |
|
116 |
115,"Sarsfield",3,1,"Castle" |
|
117 |
116,"Deep Den",3,1,"Castle" |
|
118 |
117,"Hornvale",3,1,"Castle" |
|
119 |
118,"Golden Tooth",1,1,"Other" |
|
120 |
119,"Wayfarer's Rest",3,0,"Castle" |
|
121 |
120,"Castamere",2,0,"Ruin" |
|
122 |
121,"Pendric Hills",1,0,"Other" |
|
123 |
122,"The Crag",3,1,"Castle" |
|
124 |
123,"Banefort",3,1,"Castle" |
|
125 |
124,"Ashemark",3,1,"Castle" |
|
126 |
125,"Nunn's Deep",1,0,"Other" |
|
127 |
126,"Stone Mill",1,0,"Other" |
|
128 |
127,"Stone Hedge",3,1,"Castle" |
|
129 |
128,"Fairmarket",4,1,"Town" |
|
130 |
129,"Oldstones",2,1,"Ruin" |
|
131 |
130,"Palisade Village",1,0,"Other" |
|
132 |
131,"The Bloody Gate",3,1,"Castle" |
|
133 |
132,"The Eyrie",3,1,"Castle" |
|
134 |
133,"Strongsong",3,1,"Castle" |
|
135 |
134,"Heart's Home",3,1,"Castle" |
|
136 |
135,"Redfort",3,1,"Castle" |
|
137 |
136,"Ironoaks",3,1,"Castle" |
|
138 |
137,"Old Anchor",3,1,"Castle" |
|
139 |
138,"Runestone",3,1,"Castle" |
|
140 |
139,"Gulltown",5,1,"City" |
|
141 |
140,"Longbow Hall",3,1,"Castle" |
|
142 |
141,"Snakewood",3,1,"Castle" |
|
143 |
142,"Baelish Keep",1,0,"Other" |
|
144 |
143,"Coldwater",3,1,"Castle" |
|
145 |
144,"Seagard",3,1,"Castle" |
|
146 |
145,"The Twins",3,1,"Castle" |
|
147 |
146,,3,1,"Castle" |
|
148 |
147,"Greywater Watch",3,1,"Castle" |
|
149 |
148,"Moat Cailin",2,1,"Ruin" |
|
150 |
149,"Sisterton",4,1,"Town" |
|
151 |
150,"Oldcastle",3,1,"Castle" |
|
152 |
151,"White Harbor",5,1,"City" |
|
153 |
152,"Ramsgate",3,1,"Castle" |
|
154 |
153,"Widow's Watch",3,1,"Castle" |
|
155 |
154,"Hornwood",3,0,"Castle" |
|
156 |
155,"Tower",1,0,"Other" |
|
157 |
156,"The Dreadfort",3,1,"Castle" |
|
158 |
157,"Cerwyn",3,0,"Castle" |
|
159 |
158,"Holdfast",1,0,"Other" |
|
160 |
159,"Winterfell",3,1,"Castle" |
|
161 |
160,"Crofters' Village",1,0,"Other" |
|
162 |
161,"Tumbledown Tower",1,0,"Other" |
|
163 |
162,"Deepwood Motte",3,1,"Castle" |
|
164 |
163,"Last Hearth",3,1,"Castle" |
|
165 |
164,"Karhold",3,1,"Castle" |
|
166 |
165,"Queenscrown",1,1,"Other" |
|
167 |
166,"Castle Black",3,1,"Castle" |
|
168 |
167,"Mole's Town",1,0,"Other" |
|
169 |
168,"Shadow Tower",3,1,"Castle" |
|
170 |
169,"Westwatch-by-the-Bridge",1,1,"Other" |
|
171 |
170,"Sentinel Stand",1,1,"Other" |
|
172 |
171,"Greyguard",1,1,"Other" |
|
173 |
172,"Stonedoor",1,1,"Other" |
|
174 |
173,"Hoarfrost Hill",1,1,"Other" |
|
175 |
174,"Icemark",1,1,"Other" |
|
176 |
175,"Nightfort",1,1,"Other" |
|
177 |
176,"Deep Lake",1,1,"Other" |
|
178 |
177,"Queensgate",1,1,"Other" |
|
179 |
178,"Oakensheild",1,1,"Other" |
|
180 |
179,"Woodswatch-by-the-Pool",1,1,"Other" |
|
181 |
180,"Sable Hall",1,1,"Other" |
|
182 |
181,"Rimegate",1,1,"Other" |
|
183 |
182,"Long Barrow",1,1,"Other" |
|
184 |
183,"Torches",1,1,"Other" |
|
185 |
184,"Greenguard",1,1,"Other" |
|
186 |
185,"Eastwatch-by-the-Sea",3,1,"Castle" |
|
187 |
186,"Whitetree",1,1,"Other" |
|
188 |
187,"Craster's Keep",1,1,"Other" |
|
189 |
188,"Fist of the First Men",1,1,"Other" |
|
190 |
189,"Fishing Village",1,0,"Other" |
|
191 |
190,"Pennytree",1,0,"Other" |
|
192 |
191,"Lys",5,1,"City" |
|
193 |
192,"Tyrosh",5,1,"City" |
|
194 |
193,"Myr",5,1,"City" |
|
195 |
194,"Pentos",5,1,"City" |
|
196 |
195,"Ghoyan Drohe",2,1,"Ruin" |
|
197 |
196,"Norvos",5,1,"City" |
|
198 |
197,"Evenfall Hall",3,1,"Castle" |
|
199 |
198,"Parchments",1,0,"Other" |
|
200 |
199,"Braavos",3,1,"Castle" |
|
201 |
200,"Lorath",3,1,"Castle" |
|
202 |
201,"Qohor",5,1,"City" |
|
203 |
202,"Ar Noy",2,1,"Ruin" |
|
204 |
203,"Ny Sar",2,1,"Ruin" |
|
205 |
204,"The Sorrows (Chroyane)",2,1,"Ruin" |
|
206 |
205,"Selhorys",4,1,"Town" |
|
207 |
206,"Valysar",4,1,"Town" |
|
208 |
207,"Volon Therys",4,1,"Town" |
|
209 |
208,"Sar Mell",2,1,"Ruin" |
|
210 |
209,"Volantis",5,1,"City" |
|
211 |
210,,1,1,"Other" |
|
212 |
211,,2,1,"Ruin" |
|
213 |
212,"Mantarys",5,1,"City" |
|
214 |
213,,2,1,"Ruin" |
|
215 |
214,"Oros",2,1,"Ruin" |
|
216 |
215,"Elyria",5,1,"City" |
|
217 |
216,"Tolos",5,1,"City" |
|
218 |
217,"Ghozai",2,1,"Ruin" |
|
219 |
218,"Velos",2,1,"Ruin" |
|
220 |
219,,2,1,"Ruin" |
|
221 |
220,"Astapor",5,1,"City" |
|
222 |
221,"Yunkai",5,1,"City" |
|
223 |
222,"Meereen",5,1,"City" |
|
224 |
223,"Lhazarene Village",1,0,"Other" |
|
225 |
224,"Vaes Dothrak",5,0,"City" |
|
226 |
225,"Old Ghis",2,1,"Ruin" |
|
227 |
226,"New Ghis",5,1,"City" |
|
228 |
227,"Zamettar",2,1,"Ruin" |
|
229 |
228,"Yeen",2,1,"Ruin" |
|
230 |
229,"Gogossos",2,1,"Ruin" |
|
231 |
230,"Flint's Finger",3,1,"Castle" |
|
232 |
231,"Barrowton",4,1,"Town" |
|
233 |
232,"Torrhen's Square",3,1,"Castle" |
|
234 |
233,"Bhorash",2,1,"Ruin" |
|
235 |
234,"Pyke",3,1,"Castle" |
|
236 |
235,"Pebbleton",1,0,"Other" |
|
237 |
236,"Hammerhorn",1,0,"Other" |
|
238 |
237,"Nagga's Ribs",1,0,"Other" |
|
239 |
238,"Castle Goodbrother",1,0,"Other" |
|
240 |
239,"Ten Towers",3,1,"Castle" |
|
241 |
240,"Faircastle",3,1,"Castle" |
|
242 |
241,"Tyria",2,1,"Ruin" |
|
243 |
242,"Valyria",2,1,"Ruin" |
|
244 |
243,,2,1,"Ruin" |
|
245 |
244,,2,1,"Ruin" |
|
246 |
245,,2,1,"Ruin" |
|
247 |
246,"Qarth",5,0,"City" |
|
248 |
247,"Lord Hewett's Town",1,0,"Other" |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/src/main/assembly/gvsig-main-package.xml | ||
---|---|---|
1 |
<!-- |
|
2 |
|
|
3 |
gvSIG. Desktop Geographic Information System. |
|
4 |
|
|
5 |
Copyright (C) 2007-2013 gvSIG Association. |
|
6 |
|
|
7 |
This program is free software; you can redistribute it and/or |
|
8 |
modify it under the terms of the GNU General Public License |
|
9 |
as published by the Free Software Foundation; either version 3 |
|
10 |
of the License, or (at your option) any later version. |
|
11 |
|
|
12 |
This program is distributed in the hope that it will be useful, |
|
13 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
15 |
GNU General Public License for more details. |
|
16 |
|
|
17 |
You should have received a copy of the GNU General Public License |
|
18 |
along with this program; if not, write to the Free Software |
|
19 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
20 |
MA 02110-1301, USA. |
|
21 |
|
|
22 |
For any additional information, do not hesitate to contact us |
|
23 |
at info AT gvsig.com, or visit our website www.gvsig.com. |
|
24 |
|
|
25 |
--> |
|
26 |
<assembly> |
|
27 |
<id>gvsig-main-package</id> |
|
28 |
<formats> |
|
29 |
<format>dir</format> |
|
30 |
</formats> |
|
31 |
<baseDirectory>.</baseDirectory> |
|
32 |
<!-- |
|
33 |
<includeBaseDirectory>true</includeBaseDirectory> |
|
34 |
--> |
|
35 |
<files> |
|
36 |
<file> |
|
37 |
<source>target/${project.artifactId}-${project.version}.jar</source> |
|
38 |
<outputDirectory>lib</outputDirectory> |
|
39 |
</file> |
|
40 |
</files> |
|
41 |
<fileSets> |
|
42 |
<fileSet> |
|
43 |
<directory>src/main/resources-main</directory> |
|
44 |
<outputDirectory>.</outputDirectory> |
|
45 |
</fileSet> |
|
46 |
</fileSets> |
|
47 |
|
|
48 |
<dependencySets> |
|
49 |
<dependencySet> |
|
50 |
<useProjectArtifact>false</useProjectArtifact> |
|
51 |
<useTransitiveDependencies>true</useTransitiveDependencies> |
|
52 |
<outputDirectory>lib</outputDirectory> |
|
53 |
</dependencySet> |
|
54 |
</dependencySets> |
|
55 |
|
|
56 |
</assembly> |
|
57 |
|
|
0 | 58 |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/src/main/java/org/gvsig/expressionevaluator/main/MainPicker.java | ||
---|---|---|
1 |
/* |
|
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package org.gvsig.expressionevaluator.main; |
|
7 |
|
|
8 |
import java.awt.Dimension; |
|
9 |
import java.io.File; |
|
10 |
import java.net.URL; |
|
11 |
import javax.swing.JFrame; |
|
12 |
import javax.swing.WindowConstants; |
|
13 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
14 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
|
15 |
import org.gvsig.expressionevaluator.SymbolTable; |
|
16 |
import org.gvsig.expressionevaluator.swing.Element; |
|
17 |
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator; |
|
18 |
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager; |
|
19 |
import org.gvsig.expressionevaluator.swing.JExpressionPicker; |
|
20 |
import org.gvsig.fmap.dal.DALLocator; |
|
21 |
import org.gvsig.fmap.dal.DataManager; |
|
22 |
import org.gvsig.fmap.dal.DataStore; |
|
23 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
24 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
|
25 |
|
|
26 |
/** |
|
27 |
* |
|
28 |
* @author jjdelcerro |
|
29 |
*/ |
|
30 |
public class MainPicker { |
|
31 |
public static void main(String[] args) { |
|
32 |
new MainPicker().run(args); |
|
33 |
} |
|
34 |
|
|
35 |
public void run(String[] args) { |
|
36 |
new DefaultLibrariesInitializer().fullInitialize(); |
|
37 |
|
|
38 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
39 |
ExpressionEvaluatorSwingManager swingManager = ExpressionEvaluatorSwingLocator.getManager(); |
|
40 |
|
|
41 |
JExpressionPicker panel = swingManager.createJExpressionPicker(); |
|
42 |
// SymbolTable symbolTable = manager.getSymbolTable("DAL.FeatureSymbolTable"); |
|
43 |
// if( symbolTable!=null ) { |
|
44 |
// panel.addSymbolTable(symbolTable); |
|
45 |
// } |
|
46 |
Element element = swingManager.createElement("DAL.FeatureStoreElement", panel, openStore()); |
|
47 |
if( element != null ) { |
|
48 |
panel.getElements().add(element); |
|
49 |
} |
|
50 |
|
|
51 |
JFrame frame = new JFrame("My JFrame Example"); |
|
52 |
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); |
|
53 |
frame.setPreferredSize(new Dimension(400, 60)); |
|
54 |
frame.add(panel.asJComponent()); |
|
55 |
frame.pack(); |
|
56 |
frame.setVisible(true); |
|
57 |
} |
|
58 |
|
|
59 |
private FeatureStore openStore() { |
|
60 |
try { |
|
61 |
DataManager dataManager = DALLocator.getDataManager(); |
|
62 |
URL url = this.getClass().getResource("/Locations.csv"); |
|
63 |
DataStore store = dataManager.openStore( |
|
64 |
"CSV", |
|
65 |
"file",new File(url.toURI()), |
|
66 |
"firstLineHeader", true, |
|
67 |
"delimiter","," |
|
68 |
); |
|
69 |
return (FeatureStore) store; |
|
70 |
} catch (Exception ex) { |
|
71 |
throw new RuntimeException(ex); |
|
72 |
} |
|
73 |
} |
|
74 |
} |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/src/main/java/org/gvsig/expressionevaluator/main/MainDialog.java | ||
---|---|---|
1 |
/* |
|
2 |
* To change this license header, choose License Headers in Project Properties. |
|
3 |
* To change this template file, choose Tools | Templates |
|
4 |
* and open the template in the editor. |
|
5 |
*/ |
|
6 |
package org.gvsig.expressionevaluator.main; |
|
7 |
|
|
8 |
import java.io.File; |
|
9 |
import java.net.URL; |
|
10 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
11 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
|
12 |
import org.gvsig.expressionevaluator.SymbolTable; |
|
13 |
import org.gvsig.expressionevaluator.swing.Element; |
|
14 |
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator; |
|
15 |
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager; |
|
16 |
import org.gvsig.expressionevaluator.swing.JExpressionBuilder; |
|
17 |
import org.gvsig.fmap.dal.DALLocator; |
|
18 |
import org.gvsig.fmap.dal.DataManager; |
|
19 |
import org.gvsig.fmap.dal.DataStore; |
|
20 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
21 |
import org.gvsig.fmap.dal.swing.DataSwingManager; |
|
22 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
|
23 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
24 |
import org.gvsig.tools.swing.api.windowmanager.Dialog; |
|
25 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
|
26 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2; |
|
27 |
|
|
28 |
/** |
|
29 |
* |
|
30 |
* @author jjdelcerro |
|
31 |
*/ |
|
32 |
public class MainDialog { |
|
33 |
public static void main(String[] args) { |
|
34 |
new MainDialog().run(args); |
|
35 |
} |
|
36 |
|
|
37 |
public void run(String[] args) { |
|
38 |
new DefaultLibrariesInitializer().fullInitialize(); |
|
39 |
|
|
40 |
WindowManager_v2 windowManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
|
41 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
42 |
ExpressionEvaluatorSwingManager swingManager = ExpressionEvaluatorSwingLocator.getManager(); |
|
43 |
|
|
44 |
JExpressionBuilder panel = swingManager.createJExpressionBuilder(); |
|
45 |
// panel.addSymbolTable(DataManager.DAL_SYMBOL_TABLE_FEATURE); |
|
46 |
Element element = swingManager.createElement( |
|
47 |
DataSwingManager.FEATURE_STORE_EXPRESSION_ELEMENT, |
|
48 |
panel, |
|
49 |
openStore() |
|
50 |
); |
|
51 |
if( element != null ) { |
|
52 |
panel.addElement(element); |
|
53 |
} |
|
54 |
Dialog dialog = windowManager.createDialog( |
|
55 |
panel.asJComponent(), |
|
56 |
"Test eexpression builder", |
|
57 |
null, |
|
58 |
WindowManager_v2.BUTTONS_OK_CANCEL |
|
59 |
); |
|
60 |
dialog.show(WindowManager.MODE.WINDOW); |
|
61 |
} |
|
62 |
|
|
63 |
private FeatureStore openStore() { |
|
64 |
try { |
|
65 |
DataManager dataManager = DALLocator.getDataManager(); |
|
66 |
URL url = this.getClass().getResource("/Locations.csv"); |
|
67 |
DataStore store = dataManager.openStore( |
|
68 |
"CSV", |
|
69 |
"file",new File(url.toURI()), |
|
70 |
"firstLineHeader", true, |
|
71 |
"delimiter","," |
|
72 |
); |
|
73 |
return (FeatureStore) store; |
|
74 |
} catch (Exception ex) { |
|
75 |
throw new RuntimeException(ex); |
|
76 |
} |
|
77 |
} |
|
78 |
} |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.main/pom.xml | ||
---|---|---|
1 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
2 |
<modelVersion>4.0.0</modelVersion> |
|
3 |
<groupId>org.gvsig</groupId> |
|
4 |
<artifactId>org.gvsig.expressionevaluator.main</artifactId> |
|
5 |
<name>${project.artifactId}</name> |
|
6 |
<parent> |
|
7 |
<groupId>org.gvsig</groupId> |
|
8 |
<artifactId>org.gvsig.expressionevaluator</artifactId> |
|
9 |
<version>2.0.327-SNAPSHOT</version> |
|
10 |
</parent> |
|
11 |
|
|
12 |
|
|
13 |
<dependencies> |
|
14 |
<dependency> |
|
15 |
<groupId>org.gvsig</groupId> |
|
16 |
<artifactId>org.gvsig.expressionevaluator.lib.api</artifactId> |
|
17 |
<scope>compile</scope> |
|
18 |
</dependency> |
|
19 |
<dependency> |
|
20 |
<groupId>org.gvsig</groupId> |
|
21 |
<artifactId>org.gvsig.expressionevaluator.lib.impl</artifactId> |
|
22 |
<scope>runtime</scope> |
|
23 |
</dependency> |
|
24 |
<dependency> |
|
25 |
<groupId>org.gvsig</groupId> |
|
26 |
<artifactId>org.gvsig.tools.lib</artifactId> |
|
27 |
<scope>compile</scope> |
|
28 |
</dependency> |
|
29 |
<dependency> |
|
30 |
<groupId>org.gvsig</groupId> |
|
31 |
<artifactId>org.gvsig.tools.swing.api</artifactId> |
|
32 |
<scope>compile</scope> |
|
33 |
</dependency> |
|
34 |
<dependency> |
|
35 |
<groupId>org.gvsig</groupId> |
|
36 |
<artifactId>org.gvsig.tools.swing.impl</artifactId> |
|
37 |
<scope>runtime</scope> |
|
38 |
</dependency> |
|
39 |
<dependency> |
|
40 |
<groupId>org.gvsig</groupId> |
|
41 |
<artifactId>org.gvsig.expressionevaluator.swing.api</artifactId> |
|
42 |
<scope>compile</scope> |
|
43 |
</dependency> |
|
44 |
<dependency> |
|
45 |
<groupId>org.gvsig</groupId> |
|
46 |
<artifactId>org.gvsig.expressionevaluator.swing.impl</artifactId> |
|
47 |
<scope>compile</scope> |
|
48 |
</dependency> |
|
49 |
<dependency> |
|
50 |
<groupId>org.gvsig</groupId> |
|
51 |
<artifactId>org.gvsig.fmap.dal.api</artifactId> |
|
52 |
<scope>compile</scope> |
|
53 |
</dependency> |
|
54 |
<dependency> |
|
55 |
<groupId>org.gvsig</groupId> |
|
56 |
<artifactId>org.gvsig.fmap.dal.swing.api</artifactId> |
|
57 |
<scope>compile</scope> |
|
58 |
</dependency> |
|
59 |
|
|
60 |
|
|
61 |
<dependency> |
|
62 |
<groupId>org.gvsig</groupId> |
|
63 |
<artifactId>org.gvsig.fmap.dal.impl</artifactId> |
|
64 |
<scope>runtime</scope> |
|
65 |
</dependency> |
|
66 |
<dependency> |
|
67 |
<groupId>org.gvsig</groupId> |
|
68 |
<artifactId>org.gvsig.fmap.dal.swing.impl</artifactId> |
|
69 |
<scope>runtime</scope> |
|
70 |
</dependency> |
|
71 |
<dependency> |
|
72 |
<groupId>org.gvsig</groupId> |
|
73 |
<artifactId>org.gvsig.fmap.dal.file.csv</artifactId> |
|
74 |
<scope>runtime</scope> |
|
75 |
</dependency> |
|
76 |
<dependency> |
|
77 |
<groupId>org.gvsig</groupId> |
|
78 |
<artifactId>${org.gvsig.metadata.lib.basic.impl}</artifactId> |
|
79 |
<scope>runtime</scope> |
|
80 |
</dependency> |
|
81 |
<dependency> |
|
82 |
<groupId>org.gvsig</groupId> |
|
83 |
<artifactId>${org.gvsig.fmap.geometry.impl}</artifactId> |
|
84 |
<scope>runtime</scope> |
|
85 |
</dependency> |
|
86 |
<dependency> |
|
87 |
<groupId>org.gvsig</groupId> |
|
88 |
<artifactId>${org.gvsig.timesupport.lib.impl}</artifactId> |
|
89 |
<scope>runtime</scope> |
|
90 |
</dependency> |
|
91 |
<dependency> |
|
92 |
<groupId>org.gvsig</groupId> |
|
93 |
<artifactId>${org.gvsig.compat.impl}</artifactId> |
|
94 |
<scope>runtime</scope> |
|
95 |
</dependency> |
|
96 |
<dependency> |
|
97 |
<groupId>org.gvsig</groupId> |
|
98 |
<artifactId>${org.gvsig.proj.lib.impl}</artifactId> |
|
99 |
<scope>runtime</scope> |
|
100 |
</dependency> |
|
101 |
<dependency> |
|
102 |
<groupId>org.gvsig</groupId> |
|
103 |
<artifactId>org.gvsig.utils</artifactId> |
|
104 |
<scope>runtime</scope> |
|
105 |
</dependency> |
|
106 |
<!-- |
|
107 |
<dependency> |
|
108 |
<groupId>org.gvsig</groupId> |
|
109 |
<artifactId>org.gvsig.scripting.swing.impl</artifactId> |
|
110 |
<version>2.3.67-SNAPSHOT</version> |
|
111 |
<scope>runtime</scope> |
|
112 |
</dependency> |
|
113 |
--> |
|
114 |
</dependencies> |
|
115 |
|
|
116 |
|
|
117 |
<build> |
|
118 |
<plugins> |
|
119 |
<plugin> |
|
120 |
<!-- Build an executable JAR --> |
|
121 |
<groupId>org.apache.maven.plugins</groupId> |
|
122 |
<artifactId>maven-jar-plugin</artifactId> |
|
123 |
<version>3.0.2</version> |
|
124 |
<configuration> |
|
125 |
<archive> |
|
126 |
<manifest> |
|
127 |
<addClasspath>true</addClasspath> |
|
128 |
<classpathPrefix>./</classpathPrefix> |
|
129 |
<mainClass>org.gvsig.expressionevaluator.main.Main</mainClass> |
|
130 |
</manifest> |
|
131 |
</archive> |
|
132 |
</configuration> |
|
133 |
</plugin> |
|
134 |
|
|
135 |
<plugin> |
|
136 |
<artifactId>maven-assembly-plugin</artifactId> |
|
137 |
<configuration> |
|
138 |
<ignoreDirFormatExtensions>true</ignoreDirFormatExtensions> |
|
139 |
<appendAssemblyId>false</appendAssemblyId> |
|
140 |
</configuration> |
|
141 |
<executions> |
|
142 |
<execution> |
|
143 |
<id>gvsig-plugin-package</id> |
|
144 |
<phase>package</phase> |
|
145 |
<goals> |
|
146 |
<goal>single</goal> |
|
147 |
</goals> |
|
148 |
<configuration> |
|
149 |
<finalName>${project.artifactId}-${project.version}</finalName> |
|
150 |
<descriptors> |
|
151 |
<descriptor>src/main/assembly/gvsig-main-package.xml</descriptor> |
|
152 |
</descriptors> |
|
153 |
</configuration> |
|
154 |
</execution> |
|
155 |
</executions> |
|
156 |
</plugin> |
|
157 |
|
|
158 |
</plugins> |
|
159 |
</build> |
|
160 |
|
|
161 |
|
|
162 |
|
|
163 |
</project> |
|
0 | 164 |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/pom.xml | ||
---|---|---|
1 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
2 |
<modelVersion>4.0.0</modelVersion> |
|
3 |
<artifactId>org.gvsig.expressionevaluator</artifactId> |
|
4 |
<packaging>pom</packaging> |
|
5 |
<description>Evaluador de expresiones. Usa una sintaxis similar a las condiciones de SQL.</description> |
|
6 |
<parent> |
|
7 |
<groupId>org.gvsig</groupId> |
|
8 |
<artifactId>org.gvsig.desktop.library</artifactId> |
|
9 |
<version>2.0.382</version> |
|
10 |
</parent> |
|
11 |
|
|
12 |
<modules> |
|
13 |
<module>org.gvsig.expressionevaluator.lib</module> |
|
14 |
<module>org.gvsig.expressionevaluator.swing</module> |
|
15 |
<module>org.gvsig.expressionevaluator.geometry</module> |
|
16 |
<module>org.gvsig.expressionevaluator.time</module> |
|
17 |
<!-- |
|
18 |
<module>org.gvsig.expressionevaluator.main</module> |
|
19 |
--> |
|
20 |
</modules> |
|
21 |
</project> |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/pom.xml | ||
---|---|---|
1 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
2 |
<modelVersion>4.0.0</modelVersion> |
|
3 |
<parent> |
|
4 |
<groupId>org.gvsig</groupId> |
|
5 |
<artifactId>org.gvsig.expressionevaluator</artifactId> |
|
6 |
<version>2.0.382</version> |
|
7 |
</parent> |
|
8 |
<groupId>org.gvsig</groupId> |
|
9 |
<artifactId>org.gvsig.expressionevaluator.lib</artifactId> |
|
10 |
<packaging>pom</packaging> |
|
11 |
<modules> |
|
12 |
<module>org.gvsig.expressionevaluator.lib.api</module> |
|
13 |
<module>org.gvsig.expressionevaluator.lib.impl</module> |
|
14 |
</modules> |
|
15 |
</project> |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/resources/org/gvsig/expressionevaluator/impl/TestScript1_1.cosa | ||
---|---|---|
1 |
-- encoding: utf-8; lang: cosa |
|
2 |
|
|
3 |
create procedure form_onSetvalues form, values as |
|
4 |
begin |
|
5 |
-- print('form_onSetvalues'); |
|
6 |
pass; |
|
7 |
end |
|
8 |
|
|
9 |
create procedure form_onFieldEnter form, field as |
|
10 |
begin |
|
11 |
-- print('form_onFieldEnter'); |
|
12 |
pass; |
|
13 |
end |
|
14 |
|
|
15 |
create procedure form_onFieldExit form, field as |
|
16 |
begin |
|
17 |
-- print('form_onFieldExit'); |
|
18 |
pass; |
|
19 |
end |
|
20 |
|
|
21 |
create procedure form_onFieldChanged form, field as |
|
22 |
begin |
|
23 |
-- print('form_onFieldChanged ' || field.getName()); |
|
24 |
case |
|
25 |
when field.getName() = 'bracketvcs' then |
|
26 |
begin |
|
27 |
rotationField := form.getField('rotationangleimage'); |
|
28 |
bracket := field.getRelatedFeature(); |
|
29 |
-- print(' bracket: ' || tostr(bracket.extinca) ); |
|
30 |
-- print(' bracket rotation: ' || tostr(bracket.rotationangleimage) ); |
|
31 |
-- print(' vertical-signal rotation: ' || tostr(rotationField.getValue()) ); |
|
32 |
if rotationField.getValue() is null then |
|
33 |
rotationField.setValue(bracket.rotationangleimage); |
|
34 |
end |
|
35 |
end |
|
36 |
end |
|
37 |
end |
|
38 |
|
|
39 |
create function form_validate form as |
|
40 |
begin |
|
41 |
-- print('form_validate'); |
|
42 |
return true; |
|
43 |
end |
|
44 |
|
|
45 |
create procedure form_onLoad form as |
|
46 |
begin |
|
47 |
-- print('form_onLoad'); |
|
48 |
return; |
|
49 |
end |
|
50 |
|
|
51 |
create procedure form_clear form as |
|
52 |
begin |
|
53 |
-- print('form_clear'); |
|
54 |
pass; |
|
55 |
end |
|
56 |
|
|
57 |
create function form_isReadOnly form as |
|
58 |
begin |
|
59 |
if not user().isAuthenticated() then |
|
60 |
return true; |
|
61 |
end if |
|
62 |
return false; |
|
63 |
-- fecha_accidente := form.getField('FECHA_ACCIDENTE').getValue(); |
|
64 |
-- if fecha_accidente is null then |
|
65 |
-- return false; |
|
66 |
-- end if |
|
67 |
-- fecha_de_cierre := application().getProperty('CEGESEV.accidentes.fecha_de_cierre'); |
|
68 |
-- if fecha_de_cierre is null then |
|
69 |
-- return true; |
|
70 |
-- end if |
|
71 |
-- return cast(fecha_de_cierre as date) > (fecha_accidente as date); |
|
72 |
end |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/resources/org/gvsig/expressionevaluator/impl/TestScript1_2.cosa | ||
---|---|---|
1 |
-- encoding: utf-8; lang: cosa |
|
2 |
|
|
3 |
CREATE FUNCTION test1 AS |
|
4 |
BEGIN |
|
5 |
x := ''; |
|
6 |
FOR n IN LIST('hola','adios','fin'): |
|
7 |
x := x || ' ' || n; |
|
8 |
END |
|
9 |
RETURN x; |
|
10 |
END |
|
11 |
|
|
12 |
CREATE FUNCTION test2 AS |
|
13 |
$$ |
|
14 |
s := ''; |
|
15 |
x := LIST('hola','adios','fin'); |
|
16 |
FOR n IN RANGE(3): |
|
17 |
s := s || ' ' || x[n]; |
|
18 |
END FOR; |
|
19 |
RETURN s; |
|
20 |
$$ |
|
21 |
|
|
22 |
CREATE FUNCTION saluda AS |
|
23 |
BEGIN |
|
24 |
IF LEN($ARGS) > 0 THEN |
|
25 |
SET s TO 'Hola ' || $ARGS[0]; |
|
26 |
ELSE |
|
27 |
SET s = 'Hola.'; |
|
28 |
END; |
|
29 |
PRINT(s); |
|
30 |
RETURN s; |
|
31 |
END |
|
32 |
|
|
33 |
CREATE FUNCTION test3 AS |
|
34 |
BEGIN |
|
35 |
RETURN saluda('amigos'); |
|
36 |
END |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/resources/org/gvsig/expressionevaluator/impl/testlib.cosa | ||
---|---|---|
1 |
-- encoding: utf-8; lang: cosa |
|
2 |
|
|
3 |
CREATE FUNCTION SQUARE(num) AS |
|
4 |
BEGIN |
|
5 |
RETURN num*num; |
|
6 |
END |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/resources/log4j.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="ISO-8859-1" ?> |
|
2 |
<!-- |
|
3 |
|
|
4 |
gvSIG. Desktop Geographic Information System. |
|
5 |
|
|
6 |
Copyright (C) 2007-2012 gvSIG Association. |
|
7 |
|
|
8 |
This program is free software; you can redistribute it and/or |
|
9 |
modify it under the terms of the GNU General Public License |
|
10 |
as published by the Free Software Foundation; either version 2 |
|
11 |
of the License, or (at your option) any later version. |
|
12 |
|
|
13 |
This program is distributed in the hope that it will be useful, |
|
14 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
15 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
16 |
GNU General Public License for more details. |
|
17 |
|
|
18 |
You should have received a copy of the GNU General Public License |
|
19 |
along with this program; if not, write to the Free Software |
|
20 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
21 |
MA 02110-1301, USA. |
|
22 |
|
|
23 |
For any additional information, do not hesitate to contact us |
|
24 |
at info AT gvsig.com, or visit our website www.gvsig.com. |
|
25 |
|
|
26 |
--> |
|
27 |
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> |
|
28 |
|
|
29 |
<!-- |
|
30 |
Log4J configuration file for unit tests execution. |
|
31 |
--> |
|
32 |
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> |
|
33 |
|
|
34 |
<!-- Appender configuration to show logging messages through the console --> |
|
35 |
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> |
|
36 |
<layout class="org.apache.log4j.PatternLayout"> |
|
37 |
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n %m%n" /> |
|
38 |
</layout> |
|
39 |
</appender> |
|
40 |
|
|
41 |
<!-- |
|
42 |
Activate logging messages of DEBUG level of higher only for the |
|
43 |
org.gvsig.tools packages. |
|
44 |
You can put full classes names or packages instead, to configure |
|
45 |
logging for all the classes and subpackages of the package. |
|
46 |
--> |
|
47 |
<category name="org.gvsig.tools"> |
|
48 |
<priority value="DEBUG" /> |
|
49 |
</category> |
|
50 |
<category name="org.gvsig.construc"> |
|
51 |
<priority value="DEBUG" /> |
|
52 |
</category> |
|
53 |
|
|
54 |
<!-- |
|
55 |
By default, show only logging messages of INFO level or higher, |
|
56 |
through the previously configured CONSOLE appender. |
|
57 |
--> |
|
58 |
<root> |
|
59 |
<priority value="INFO" /> |
|
60 |
<appender-ref ref="CONSOLE" /> |
|
61 |
</root> |
|
62 |
</log4j:configuration> |
tags/org.gvsig.desktop-2.0.382/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestInterpreter.java | ||
---|---|---|
1 |
package org.gvsig.expresionevaluator.impl; |
|
2 |
|
|
3 |
import java.util.List; |
|
4 |
import java.util.Map; |
|
5 |
import junit.framework.TestCase; |
|
6 |
import org.apache.commons.lang3.StringUtils; |
|
7 |
import org.gvsig.expressionevaluator.AttributeHandler; |
|
8 |
import org.gvsig.expressionevaluator.LexicalAnalyzer; |
|
9 |
import org.gvsig.expressionevaluator.Compiler; |
|
10 |
import org.gvsig.expressionevaluator.SymbolTable; |
|
11 |
import org.gvsig.expressionevaluator.Interpreter; |
|
12 |
import org.gvsig.expressionevaluator.Code; |
|
13 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
14 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
|
15 |
import org.gvsig.expressionevaluator.MutableSymbolTable; |
|
16 |
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer; |
|
17 |
|
|
18 |
public class TestInterpreter extends TestCase { |
|
19 |
|
|
20 |
public TestInterpreter(String testName) { |
|
21 |
super(testName); |
|
22 |
} |
|
23 |
|
|
24 |
@Override |
|
25 |
protected void setUp() throws Exception { |
|
26 |
super.setUp(); |
|
27 |
new DefaultLibrariesInitializer().fullInitialize(); |
|
28 |
} |
|
29 |
|
|
30 |
@Override |
|
31 |
protected void tearDown() throws Exception { |
|
32 |
super.tearDown(); |
|
33 |
} |
|
34 |
|
|
35 |
// TODO add test methods here. The name must begin with 'test'. For example: |
|
36 |
// public void testHello() {} |
|
37 |
|
|
38 |
|
|
39 |
protected LexicalAnalyzer createLexicalAnalyzer() { |
|
40 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
41 |
LexicalAnalyzer lexer = manager.createLexicalAnalyzer(); |
|
42 |
return lexer; |
|
43 |
} |
|
44 |
|
|
45 |
protected org.gvsig.expressionevaluator.Compiler createCompiler() { |
|
46 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
47 |
Compiler compiler = manager.createCompiler(); |
|
48 |
compiler.setLexicalAnalyzer(createLexicalAnalyzer()); |
|
49 |
return compiler; |
|
50 |
} |
|
51 |
|
|
52 |
|
|
53 |
protected MutableSymbolTable createSymbolTable() { |
|
54 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
55 |
MutableSymbolTable symbolTable = manager.createSymbolTable(); |
|
56 |
symbolTable.setVar("precio", 200); |
|
57 |
symbolTable.setVar("1990", 0.168873933773767); |
|
58 |
return symbolTable; |
|
59 |
} |
|
60 |
|
|
61 |
protected Interpreter createInterpreter(SymbolTable symbolTable) { |
|
62 |
ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager(); |
|
63 |
Interpreter interpreter = manager.createInterpreter(); |
|
64 |
interpreter.setSymbolTable(symbolTable); |
|
65 |
return interpreter; |
|
66 |
} |
|
67 |
|
|
68 |
public void testIdentifier1() { |
|
69 |
SymbolTable symbolTable = createSymbolTable(); |
|
70 |
Compiler compiler = createCompiler(); |
|
71 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
72 |
|
|
73 |
String source = "precio"; |
|
74 |
|
|
75 |
Code code = compiler.compileExpression(source); |
|
76 |
Object v = interpreter.run(code); |
|
77 |
assertEquals(200, ((Number)v).intValue()); |
|
78 |
} |
|
79 |
|
|
80 |
public void testInteger() { |
|
81 |
SymbolTable symbolTable = createSymbolTable(); |
|
82 |
Compiler compiler = createCompiler(); |
|
83 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
84 |
|
|
85 |
String source = "23"; |
|
86 |
|
|
87 |
Code code = compiler.compileExpression(source); |
|
88 |
Object v = interpreter.run(code); |
|
89 |
assertEquals(23, ((Number)v).intValue()); |
|
90 |
} |
|
91 |
|
|
92 |
public void testNumberDMS() { |
|
93 |
SymbolTable symbolTable = createSymbolTable(); |
|
94 |
Compiler compiler = createCompiler(); |
|
95 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
96 |
|
|
97 |
String source = "@10 30 1.2 N"; |
|
98 |
|
|
99 |
Code code = compiler.compileExpression(source); |
|
100 |
Object v = interpreter.run(code); |
|
101 |
assertEquals(10.5003, Math.round(((Number)v).doubleValue()*10000d)/10000d); |
|
102 |
|
|
103 |
source = "@10 30 0.09 N"; |
|
104 |
|
|
105 |
code = compiler.compileExpression(source); |
|
106 |
v = interpreter.run(code); |
|
107 |
assertEquals(10.500025, Math.round(((Number)v).doubleValue()*1000000d)/1000000d); |
|
108 |
|
|
109 |
source = "@10 30 0.09 S"; |
|
110 |
|
|
111 |
code = compiler.compileExpression(source); |
|
112 |
v = interpreter.run(code); |
|
113 |
assertEquals(-10.500025, Math.round(((Number)v).doubleValue()*1000000d)/1000000d); |
|
114 |
|
|
115 |
source = "@+10 30 0.09"; |
|
116 |
|
|
117 |
code = compiler.compileExpression(source); |
|
118 |
v = interpreter.run(code); |
|
119 |
assertEquals(10.500025, Math.round(((Number)v).doubleValue()*1000000d)/1000000d); |
|
120 |
|
|
121 |
source = "@-10 30 0.09"; |
|
122 |
|
|
123 |
code = compiler.compileExpression(source); |
|
124 |
v = interpreter.run(code); |
|
125 |
assertEquals(-10.500025, Math.round(((Number)v).doubleValue()*1000000d)/1000000d); |
|
126 |
|
|
127 |
} |
|
128 |
|
|
129 |
public void testTrue() { |
|
130 |
SymbolTable symbolTable = createSymbolTable(); |
|
131 |
Compiler compiler = createCompiler(); |
|
132 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
133 |
|
|
134 |
String source = "true"; |
|
135 |
|
|
136 |
Code code = compiler.compileExpression(source); |
|
137 |
assertEquals(Boolean.TRUE, interpreter.run(code)); |
|
138 |
} |
|
139 |
|
|
140 |
public void testFalse() { |
|
141 |
SymbolTable symbolTable = createSymbolTable(); |
|
142 |
Compiler compiler = createCompiler(); |
|
143 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
144 |
|
|
145 |
String source = "false"; |
|
146 |
|
|
147 |
Code code = compiler.compileExpression(source); |
|
148 |
assertEquals(Boolean.FALSE, interpreter.run(code)); |
|
149 |
} |
|
150 |
|
|
151 |
public void testNull() { |
|
152 |
SymbolTable symbolTable = createSymbolTable(); |
|
153 |
Compiler compiler = createCompiler(); |
|
154 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
155 |
|
|
156 |
String source = "null"; |
|
157 |
|
|
158 |
Code code = compiler.compileExpression(source); |
|
159 |
assertEquals(null, interpreter.run(code)); |
|
160 |
} |
|
161 |
|
|
162 |
public void testIsNull() { |
|
163 |
SymbolTable symbolTable = createSymbolTable(); |
|
164 |
Compiler compiler = createCompiler(); |
|
165 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
166 |
|
|
167 |
String source = "10 is null"; |
|
168 |
|
|
169 |
Code code = compiler.compileExpression(source); |
|
170 |
assertEquals(false, interpreter.run(code)); |
|
171 |
} |
|
172 |
|
|
173 |
public void testIsNotNull() { |
|
174 |
SymbolTable symbolTable = createSymbolTable(); |
|
175 |
Compiler compiler = createCompiler(); |
|
176 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
177 |
|
|
178 |
String source = "10 is not null"; |
|
179 |
|
|
180 |
Code code = compiler.compileExpression(source); |
|
181 |
assertEquals(true, interpreter.run(code)); |
|
182 |
} |
|
183 |
|
|
184 |
public void testAdd1() { |
|
185 |
SymbolTable symbolTable = createSymbolTable(); |
|
186 |
Compiler compiler = createCompiler(); |
|
187 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
188 |
|
|
189 |
String source = "precio + 10"; |
|
190 |
|
|
191 |
Code code = compiler.compileExpression(source); |
|
192 |
Object v = interpreter.run(code); |
|
193 |
assertEquals(210, ((Number)v).intValue()); |
|
194 |
} |
|
195 |
|
|
196 |
public void testSimpleAdd1() { |
|
197 |
SymbolTable symbolTable = createSymbolTable(); |
|
198 |
Compiler compiler = createCompiler(); |
|
199 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
200 |
|
|
201 |
String source = "5+10"; |
|
202 |
|
|
203 |
Code code = compiler.compileExpression(source); |
|
204 |
Object v = interpreter.run(code); |
|
205 |
assertEquals(15, ((Number)v).intValue()); |
|
206 |
} |
|
207 |
|
|
208 |
public void testSimpleAdd2() { |
|
209 |
SymbolTable symbolTable = createSymbolTable(); |
|
210 |
Compiler compiler = createCompiler(); |
|
211 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
212 |
|
|
213 |
String source = "5 + 10"; |
|
214 |
|
|
215 |
Code code = compiler.compileExpression(source); |
|
216 |
Object v = interpreter.run(code); |
|
217 |
assertEquals(15, ((Number)v).intValue()); |
|
218 |
} |
|
219 |
|
|
220 |
public void testSimpleAdd3() { |
|
221 |
SymbolTable symbolTable = createSymbolTable(); |
|
222 |
Compiler compiler = createCompiler(); |
|
223 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
224 |
|
|
225 |
String source = "10+-5"; |
|
226 |
|
|
227 |
Code code = compiler.compileExpression(source); |
|
228 |
Object v = interpreter.run(code); |
|
229 |
assertEquals(5, ((Number)v).intValue()); |
|
230 |
} |
|
231 |
|
|
232 |
public void testSimpleSub1() { |
|
233 |
SymbolTable symbolTable = createSymbolTable(); |
|
234 |
Compiler compiler = createCompiler(); |
|
235 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
236 |
|
|
237 |
String source = "10-5"; |
|
238 |
|
|
239 |
Code code = compiler.compileExpression(source); |
|
240 |
Object v = interpreter.run(code); |
|
241 |
assertEquals(5, ((Number)v).intValue()); |
|
242 |
} |
|
243 |
|
|
244 |
public void testSimpleSub2() { |
|
245 |
SymbolTable symbolTable = createSymbolTable(); |
|
246 |
Compiler compiler = createCompiler(); |
|
247 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
248 |
|
|
249 |
String source = "10 - 5"; |
|
250 |
|
|
251 |
Code code = compiler.compileExpression(source); |
|
252 |
Object v = interpreter.run(code); |
|
253 |
assertEquals(5, ((Number)v).intValue()); |
|
254 |
} |
|
255 |
|
|
256 |
public void testSimpleNumber() { |
|
257 |
SymbolTable symbolTable = createSymbolTable(); |
|
258 |
Compiler compiler = createCompiler(); |
|
259 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
260 |
|
|
261 |
String source = "23"; |
|
262 |
|
|
263 |
Code code = compiler.compileExpression(source); |
|
264 |
Object v = interpreter.run(code); |
|
265 |
assertEquals(23, ((Number)v).intValue()); |
|
266 |
} |
|
267 |
|
|
268 |
public void testSimpleNegativeNumber() { |
|
269 |
SymbolTable symbolTable = createSymbolTable(); |
|
270 |
Compiler compiler = createCompiler(); |
|
271 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
272 |
|
|
273 |
String source = "-23"; |
|
274 |
|
|
275 |
Code code = compiler.compileExpression(source); |
|
276 |
Object v = interpreter.run(code); |
|
277 |
assertEquals(-23, ((Number)v).intValue()); |
|
278 |
} |
|
279 |
|
|
280 |
public void testNegateFunction() { |
|
281 |
SymbolTable symbolTable = createSymbolTable(); |
|
282 |
Compiler compiler = createCompiler(); |
|
283 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
284 |
|
|
285 |
String source = "-PI()"; |
|
286 |
|
|
287 |
Code code = compiler.compileExpression(source); |
|
288 |
Object v = interpreter.run(code); |
|
289 |
assertEquals(-Math.PI, ((Number)v).doubleValue()); |
|
290 |
} |
|
291 |
|
|
292 |
public void testSub1() { |
|
293 |
SymbolTable symbolTable = createSymbolTable(); |
|
294 |
Compiler compiler = createCompiler(); |
|
295 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
296 |
|
|
297 |
String source = "precio - 10"; |
|
298 |
|
|
299 |
Code code = compiler.compileExpression(source); |
|
300 |
Object v = interpreter.run(code); |
|
301 |
assertEquals(190, ((Number)v).intValue()); |
|
302 |
} |
|
303 |
|
|
304 |
public void testMul1() { |
|
305 |
SymbolTable symbolTable = createSymbolTable(); |
|
306 |
Compiler compiler = createCompiler(); |
|
307 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
308 |
|
|
309 |
String source = "precio * 10"; |
|
310 |
|
|
311 |
Code code = compiler.compileExpression(source); |
|
312 |
Object v = interpreter.run(code); |
|
313 |
assertEquals(2000, ((Number)v).intValue()); |
|
314 |
} |
|
315 |
|
|
316 |
public void testDiv1() { |
|
317 |
SymbolTable symbolTable = createSymbolTable(); |
|
318 |
Compiler compiler = createCompiler(); |
|
319 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
320 |
|
|
321 |
String source = "precio / 10"; |
|
322 |
|
|
323 |
Code code = compiler.compileExpression(source); |
|
324 |
Object v = interpreter.run(code); |
|
325 |
assertEquals(20, ((Number)v).intValue()); |
|
326 |
} |
|
327 |
|
|
328 |
public void testMod1() { |
|
329 |
SymbolTable symbolTable = createSymbolTable(); |
|
330 |
Compiler compiler = createCompiler(); |
|
331 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
332 |
|
|
333 |
String source = "4 % 3"; |
|
334 |
|
|
335 |
Code code = compiler.compileExpression(source); |
|
336 |
Object v = interpreter.run(code); |
|
337 |
assertEquals(1, ((Number)v).intValue()); |
|
338 |
} |
|
339 |
|
|
340 |
public void testMod2() { |
|
341 |
SymbolTable symbolTable = createSymbolTable(); |
|
342 |
Compiler compiler = createCompiler(); |
|
343 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
344 |
|
|
345 |
String source = "MOD(4, 3)"; |
|
346 |
|
|
347 |
Code code = compiler.compileExpression(source); |
|
348 |
Object v = interpreter.run(code); |
|
349 |
assertEquals(1, ((Number)v).intValue()); |
|
350 |
} |
|
351 |
|
|
352 |
public void testAdd2() { |
|
353 |
SymbolTable symbolTable = createSymbolTable(); |
|
354 |
Compiler compiler = createCompiler(); |
|
355 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
356 |
|
|
357 |
String source = "precio + 10 + 20 + 30"; |
|
358 |
|
|
359 |
Code code = compiler.compileExpression(source); |
|
360 |
Object v = interpreter.run(code); |
|
361 |
assertEquals(260, ((Number)v).intValue()); |
|
362 |
} |
|
363 |
|
|
364 |
public void testAddMul() { |
|
365 |
SymbolTable symbolTable = createSymbolTable(); |
|
366 |
Compiler compiler = createCompiler(); |
|
367 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
368 |
|
|
369 |
String source = "precio + 10 * 2 + 20 + 30"; |
|
370 |
|
|
371 |
Code code = compiler.compileExpression(source); |
|
372 |
Object v = interpreter.run(code); |
|
373 |
assertEquals(270, ((Number)v).intValue()); |
|
374 |
} |
|
375 |
|
|
376 |
public void testAddMulPar() { |
|
377 |
SymbolTable symbolTable = createSymbolTable(); |
|
378 |
Compiler compiler = createCompiler(); |
|
379 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
380 |
|
|
381 |
String source = "(precio + 10) * 2 + 20 + 30"; |
|
382 |
|
|
383 |
Code code = compiler.compileExpression(source); |
|
384 |
Object v = interpreter.run(code); |
|
385 |
assertEquals(470, ((Number)v).intValue()); |
|
386 |
} |
|
387 |
|
|
388 |
public void testAbs() { |
|
389 |
SymbolTable symbolTable = createSymbolTable(); |
|
390 |
Compiler compiler = createCompiler(); |
|
391 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
392 |
|
|
393 |
String source = "precio + abs(10)"; |
|
394 |
|
|
395 |
Code code = compiler.compileExpression(source); |
|
396 |
Object v = interpreter.run(code); |
|
397 |
assertEquals(210, ((Number)v).intValue()); |
|
398 |
} |
|
399 |
|
|
400 |
public void testAbs2() { |
|
401 |
SymbolTable symbolTable = createSymbolTable(); |
|
402 |
Compiler compiler = createCompiler(); |
|
403 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
404 |
|
|
405 |
String source = "precio + abs(-10)"; |
|
406 |
|
|
407 |
Code code = compiler.compileExpression(source); |
|
408 |
Object v = interpreter.run(code); |
|
409 |
assertEquals(210, ((Number)v).intValue()); |
|
410 |
} |
|
411 |
|
|
412 |
public void testCeil() { |
|
413 |
SymbolTable symbolTable = createSymbolTable(); |
|
414 |
Compiler compiler = createCompiler(); |
|
415 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
416 |
|
|
417 |
String source = "precio + CEIL(PI())"; |
|
418 |
|
|
419 |
Code code = compiler.compileExpression(source); |
|
420 |
Object v = interpreter.run(code); |
|
421 |
assertEquals(204, ((Number)v).intValue()); |
|
422 |
} |
|
423 |
|
|
424 |
public void testConcat() { |
|
425 |
SymbolTable symbolTable = createSymbolTable(); |
|
426 |
Compiler compiler = createCompiler(); |
|
427 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
428 |
|
|
429 |
String source = "CONCAT(precio,' euros')"; |
|
430 |
|
|
431 |
Code code = compiler.compileExpression(source); |
|
432 |
Object v = interpreter.run(code); |
|
433 |
assertEquals("200 euros", (String)v); |
|
434 |
} |
|
435 |
|
|
436 |
public void testAccuracy() { |
|
437 |
|
|
438 |
SymbolTable symbolTable = createSymbolTable(); |
|
439 |
Compiler compiler = createCompiler(); |
|
440 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
441 |
Code code; |
|
442 |
Object v; |
|
443 |
|
|
444 |
compiler.getLexicalAnalyzer().setUseBracketsForIdentifiers(true); |
|
445 |
|
|
446 |
code = compiler.compileExpression("[1990] = 0.168873933773767"); |
|
447 |
v = interpreter.run(code); |
|
448 |
assertEquals(true, ((Boolean)v).booleanValue()); |
|
449 |
|
|
450 |
code = compiler.compileExpression("[1990] = 0.1688739"); |
|
451 |
v = interpreter.run(code); |
|
452 |
assertEquals(false, ((Boolean)v).booleanValue()); |
|
453 |
|
|
454 |
interpreter.setAccuracy(0.0000001); |
|
455 |
v = interpreter.run(code); |
|
456 |
assertEquals(true, ((Boolean)v).booleanValue()); |
|
457 |
} |
|
458 |
|
|
459 |
public void test2fields() { |
|
460 |
SymbolTable symbolTable = createSymbolTable(); |
|
461 |
Compiler compiler = createCompiler(); |
|
462 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
463 |
|
|
464 |
compiler.getLexicalAnalyzer().setUseBracketsForIdentifiers(true); |
|
465 |
|
|
466 |
String source = "[1990] = [precio]"; |
|
467 |
|
|
468 |
compiler.getLexicalAnalyzer().setUseBracketsForIdentifiers(true); |
|
469 |
Code code = compiler.compileExpression(source); |
|
470 |
Object v = interpreter.run(code); |
|
471 |
assertEquals(false, ((Boolean)v).booleanValue()); |
|
472 |
} |
|
473 |
|
|
474 |
|
|
475 |
public void testInvokeMethod1() { |
|
476 |
SymbolTable symbolTable = createSymbolTable(); |
|
477 |
Compiler compiler = createCompiler(); |
|
478 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
479 |
|
|
480 |
String source = "'hola'.length()"; |
|
481 |
|
|
482 |
Code code = compiler.compileExpression(source); |
|
483 |
Object v = interpreter.run(code); |
|
484 |
|
|
485 |
assertEquals(4, ((Number)v).intValue()); |
|
486 |
} |
|
487 |
|
|
488 |
|
|
489 |
public void testInvokeMethod2() { |
|
490 |
SymbolTable symbolTable = createSymbolTable(); |
|
491 |
Compiler compiler = createCompiler(); |
|
492 |
Interpreter interpreter = createInterpreter(symbolTable); |
|
493 |
|
|
494 |
String source = "'hola'.indexOf('l')"; |
|
495 |
|
|
496 |
Code code = compiler.compileExpression(source); |
|
497 |
Object v = interpreter.run(code); |
|
498 |
|
|
499 |
assertEquals(2, ((Number)v).intValue()); |
|
500 |
} |
|
501 |
|
|
502 |
public void testAlias() { |
Also available in: Unified diff