Revision 46554

View differences:

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() {
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff