Revision 253

View differences:

org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<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">
4

  
5
    <modelVersion>4.0.0</modelVersion>
6
    <artifactId>org.gvsig.expressionfield</artifactId>
7
    <name>${project.artifactId}</name>
8
    <version>2.0.45</version>
9
    <description>Field calculator (Expression from assistant or from text file)</description>
10

  
11
    <parent>
12
        <groupId>org.gvsig</groupId>
13
        <artifactId>org.gvsig.desktop</artifactId>
14
        <version>2.0.169</version>
15
    </parent>
16

  
17
    <url>https://devel.gvsig.org/redmine/projects/gvsig-expression-field</url>
18

  
19
    <scm>
20
        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-expression-field/org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45</connection>
21
        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-expression-field/org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45</developerConnection>
22
        <url>scm:svn:https://devel.gvsig.org/svn/gvsig-expression-field/org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45</url>
23
    </scm>
24

  
25
  <repositories>
26
    <repository>
27
      <id>gvsig-public-http-repository</id>
28
      <name>gvSIG maven public HTTP repository</name>
29
      <url>http://devel.gvsig.org/m2repo/j2se</url>
30
      <releases>
31
        <enabled>true</enabled>
32
        <updatePolicy>daily</updatePolicy>
33
        <checksumPolicy>warn</checksumPolicy>
34
      </releases>
35
      <snapshots>
36
        <enabled>true</enabled>
37
        <updatePolicy>daily</updatePolicy>
38
        <checksumPolicy>warn</checksumPolicy>
39
      </snapshots>
40
    </repository>
41
  </repositories>
42

  
43
    <dependencyManagement>
44
        <dependencies>
45
            <!-- Adding this dependency because this project is using a jython version
46
            different to the version defined by the parent pom  -->
47
            <dependency>
48
                <groupId>org.python</groupId>
49
                <artifactId>jython</artifactId>
50
                <version>2.2.1</version>
51
            </dependency>
52
        </dependencies>
53
    </dependencyManagement>
54

  
55
    <dependencies>
56
        <dependency>
57
            <groupId>org.gvsig</groupId>
58
            <artifactId>org.gvsig.app.mainplugin</artifactId>
59
            <scope>compile</scope>
60
        </dependency>
61
        <dependency>
62
            <groupId>org.gvsig</groupId>
63
            <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId>
64
            <scope>compile</scope>
65
        </dependency>
66
        <dependency>
67
            <groupId>bsf</groupId>
68
            <artifactId>bsf</artifactId>
69
            <scope>compile</scope>
70
        </dependency>
71

  
72
        <dependency>
73
            <groupId>bsh</groupId>
74
            <artifactId>bsh</artifactId>
75
            <scope>compile</scope>
76
        </dependency>
77

  
78
        <dependency>
79
            <groupId>org.gvsig</groupId>
80
            <artifactId>org.gvsig.about.api</artifactId>
81
            <scope>compile</scope>
82
        </dependency>
83
        <dependency>
84
            <groupId>org.gvsig</groupId>
85
            <artifactId>org.gvsig.andami</artifactId>
86
            <scope>compile</scope>
87
        </dependency>
88
        <dependency>
89
            <groupId>org.gvsig</groupId>
90
            <artifactId>org.gvsig.fmap.dal.api</artifactId>
91
            <scope>compile</scope>
92
        </dependency>
93
        <dependency>
94
            <groupId>org.gvsig</groupId>
95
            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
96
            <scope>compile</scope>
97
        </dependency>
98
        <dependency>
99
            <groupId>org.gvsig</groupId>
100
            <artifactId>org.gvsig.tools.lib</artifactId>
101
            <scope>compile</scope>
102
        </dependency>
103
        <dependency>
104
            <groupId>org.gvsig</groupId>
105
            <artifactId>org.gvsig.tools.swing.api</artifactId>
106
            <scope>compile</scope>
107
        </dependency>
108
        <dependency>
109
            <groupId>org.gvsig</groupId>
110
            <artifactId>org.gvsig.fmap.geometry.api</artifactId>
111
            <scope>compile</scope>
112
        </dependency>
113
        <dependency>
114
            <groupId>org.gvsig</groupId>
115
            <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
116
            <scope>compile</scope>
117
        </dependency>
118
        <dependency>
119
            <groupId>org.gvsig</groupId>
120
            <artifactId>org.gvsig.ui</artifactId>
121
            <scope>compile</scope>
122
        </dependency>
123
        <dependency>
124
            <groupId>org.gvsig</groupId>
125
            <artifactId>org.gvsig.projection.api</artifactId>
126
            <scope>compile</scope>
127
        </dependency>
128
        <dependency>
129
            <groupId>org.gvsig</groupId>
130
            <artifactId>org.gvsig.fmap.control</artifactId>
131
            <scope>compile</scope>
132
        </dependency>
133
        <dependency>
134
            <groupId>org.gvsig</groupId>
135
            <artifactId>org.gvsig.utils</artifactId>
136
            <scope>compile</scope>
137
        </dependency>
138
        <dependency>
139
            <groupId>org.gvsig</groupId>
140
            <artifactId>org.gvsig.timesupport.lib.api</artifactId>
141
            <scope>compile</scope>
142
        </dependency>
143
        <dependency>
144
            <groupId>com.fifesoft</groupId>
145
            <artifactId>rsyntaxtextarea</artifactId>
146
            <scope>compile</scope>
147
        </dependency>
148
        <dependency>
149
            <groupId>org.python</groupId>
150
            <artifactId>jython</artifactId>
151
            <scope>runtime</scope>
152
        </dependency>
153
    </dependencies>
154

  
155

  
156
    <build>
157

  
158
        <plugins>
159
            <plugin>
160
                <groupId>org.apache.maven.plugins</groupId>
161
                <artifactId>maven-surefire-plugin</artifactId>
162
                <configuration>
163
                    <skipTests>true</skipTests>
164
                </configuration>
165
            </plugin>
166

  
167
            <plugin>
168
                <artifactId>maven-release-plugin</artifactId>
169
                <version>2.0</version>
170
                <configuration>
171
                    <tagBase>https://devel.gvsig.org/svn/gvsig-expression-field/org.gvsig.expressionfield/tags</tagBase>
172
                </configuration>
173
            </plugin>
174

  
175
        </plugins>
176

  
177
    </build>
178

  
179

  
180
    <properties>
181
        <gvsig.package.info.name>Tools: Field calculator</gvsig.package.info.name>
182
        <gvsig.package.info.dependencies>required: org.gvsig.app.document.table.app.mainplugin -ge 2</gvsig.package.info.dependencies>
183
        <gvsig.package.info.javaVM>j1_6</gvsig.package.info.javaVM>
184
        <gvsig.package.info.state>testing</gvsig.package.info.state>
185
        <gvsig.package.info.official>true</gvsig.package.info.official>
186
        <!-- alpha-devel -->
187
        <gvsig.package.info.categories>Table</gvsig.package.info.categories>
188
        <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-expression-field/pool</gvsig.package.info.poolURL>
189

  
190
    </properties>
191
</project>
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/buildNumber.properties
1
#Tue Feb 14 17:39:30 CET 2017
2
buildNumber=2123
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/test/java/org/gvsig/expressionfield/AllTests.java
1
package org.gvsig.expressionfield;
2

  
3
import junit.framework.Test;
4
import junit.framework.TestSuite;
5

  
6
public class AllTests {
7

  
8
	public static Test suite() {
9
		TestSuite suite = new TestSuite(
10
				"Test for com.iver.cit.gvsig.expressionField");
11
		//$JUnit-BEGIN$
12

  
13
		//$JUnit-END$
14
		return suite;
15
	}
16

  
17
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/assembly/gvsig-plugin-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-plugin-package</id>
28
  <formats>
29
    <format>zip</format>
30
  </formats>
31
  <baseDirectory>${project.artifactId}</baseDirectory>
32
  <includeBaseDirectory>true</includeBaseDirectory>
33
  <files>
34
    <file>
35
      <source>target/${project.artifactId}-${project.version}.jar</source>
36
      <outputDirectory>lib</outputDirectory>
37
    </file>
38
    <file>
39
      <source>target/package.info</source>
40
    </file>
41
  </files>
42

  
43
  <fileSets>
44
    <fileSet>
45
      <directory>src/main/resources-plugin</directory>
46
      <outputDirectory>.</outputDirectory>
47
    </fileSet>
48
  </fileSets>
49

  
50
  <dependencySets>
51
    <dependencySet>
52
      <useProjectArtifact>false</useProjectArtifact>
53
      <useTransitiveDependencies>false</useTransitiveDependencies>
54
      <outputDirectory>lib</outputDirectory>
55
      <includes>
56
        <include>bsf:bsf</include>
57
        <include>org.python:jython</include>
58
        <include>com.fifesoft:rsyntaxtextarea</include>
59
      </includes>
60
    </dependencySet>
61
  </dependencySets>
62

  
63
</assembly>
64

  
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/gui/FieldExpressionPage.java
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
package org.gvsig.expressionfield.gui;
27

  
28
import java.awt.event.MouseEvent;
29
import java.awt.event.MouseListener;
30
import java.util.prefs.Preferences;
31

  
32
import javax.swing.ImageIcon;
33
import javax.swing.JCheckBox;
34
import javax.swing.JPanel;
35
import javax.swing.JTextArea;
36
import javax.swing.JTextField;
37

  
38
import org.gvsig.andami.IconThemeHelper;
39
import org.gvsig.andami.PluginServices;
40
import org.gvsig.andami.preferences.AbstractPreferencePage;
41
import org.gvsig.andami.preferences.StoreException;
42

  
43

  
44
/**
45
 * @author Vicente Caballero Navarro
46
 */
47
public class FieldExpressionPage extends AbstractPreferencePage {
48
	private static Preferences prefs = Preferences.userRoot().node( "fieldExpressionOptions" );
49
	private JTextArea jTextArea = null;
50
	private JTextField txtLimit;
51
	private JCheckBox ckLimit=null;
52
	private ImageIcon icon;
53

  
54
	public FieldExpressionPage() {
55
		super();
56
		
57
		icon = IconThemeHelper.getImageIcon("expression-field-preferences");
58
		
59
		addComponent(getJTextArea());
60

  
61
		addComponent(PluginServices.getText(this, "limit_rows_in_memory") + ":",
62
			txtLimit = new JTextField("", 15));
63
		addComponent(ckLimit = new JCheckBox(PluginServices.getText(this, "without_limit")));
64
		ckLimit.addMouseListener(new MouseListener() {
65
			public void mouseClicked(MouseEvent e) {
66
				if (ckLimit.isSelected()) {
67
					txtLimit.setText(PluginServices.getText(this, "without_limit"));
68
				}else {
69
					if (txtLimit.getText().equals(PluginServices.getText(this, "without_limit")))
70
					txtLimit.setText("500000");
71
				}
72

  
73
			}
74
			public void mouseEntered(MouseEvent e) {
75
			}
76
			public void mouseExited(MouseEvent e) {
77
			}
78
			public void mousePressed(MouseEvent e) {
79
			}
80
			public void mouseReleased(MouseEvent e) {
81
			}
82

  
83
		});
84
	}
85

  
86
	public void initializeValues() {
87
		int limit = prefs.getInt("limit_rows_in_memory",-1);
88
		if (limit==-1) {
89
			ckLimit.setSelected(true);
90
			txtLimit.setText(PluginServices.getText(this,"without_limit"));
91
		}else {
92
			ckLimit.setSelected(false);
93
			txtLimit.setText(String.valueOf(limit));
94
		}
95
	}
96

  
97
	public String getID() {
98
		return this.getClass().getName();
99
	}
100

  
101
	public String getTitle() {
102
		return PluginServices.getText(this, "limit_rows_in_memory");
103
	}
104

  
105
	public JPanel getPanel() {
106
		return this;
107
	}
108

  
109
	public void storeValues() throws StoreException {
110
		int limit;
111
		try{
112
			if (ckLimit.isSelected()) {
113
				limit=-1;
114
			}else {
115
//			if (txtLimit.getText().equals(PluginServices.getText(this,"without_limit"))) {
116
//				limit=-1;
117
//			}else {
118
				limit=Integer.parseInt(txtLimit.getText());
119
			}
120
		}catch (Exception e) {
121
			throw new StoreException(PluginServices.getText(this,"limit_rows_in_memory")+PluginServices.getText(this,"error"));
122
		}
123
		prefs.putInt("limit_rows_in_memory", limit);
124
	}
125

  
126
	public void initializeDefaults() {
127
		int limit=prefs.getInt("limit_rows_in_memory",-1);
128
		if (limit==-1) {
129
			ckLimit.setSelected(true);
130
			txtLimit.setText(PluginServices.getText(this,"without_limit"));
131
		}else {
132
			ckLimit.setSelected(false);
133
			txtLimit.setText(String.valueOf(limit));
134
		}
135
	}
136

  
137
	public ImageIcon getIcon() {
138
		return icon;
139
	}
140
	/**
141
	 * This method initializes jTextArea
142
	 *
143
	 * @return javax.swing.JTextArea
144
	 */
145
	private JTextArea getJTextArea() {
146
		if (jTextArea == null) {
147
			jTextArea = new JTextArea();
148
			jTextArea.setBounds(new java.awt.Rectangle(13,7,285,57));
149
			jTextArea.setForeground(java.awt.Color.black);
150
			jTextArea.setBackground(java.awt.SystemColor.control);
151
			jTextArea.setRows(3);
152
			jTextArea.setWrapStyleWord(true);
153
			jTextArea.setLineWrap(true);
154
			jTextArea.setEditable(false);
155
			jTextArea.setText(PluginServices.getText(this,"specifies_the_limit_rows_in_memory_when_the_program_eval_the_expression"));
156
		}
157
		return jTextArea;
158
	}
159

  
160
	public boolean isValueChanged() {
161
		return super.hasChanged();
162
	}
163

  
164
	public void setChangesApplied() {
165
		setChanged(false);
166
	}
167
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/GraphicOperator.java
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
package org.gvsig.expressionfield.project.documents.table;
27

  
28
import java.awt.geom.PathIterator;
29
import java.util.ArrayList;
30

  
31
import org.gvsig.fmap.geom.Geometry;
32
import org.gvsig.fmap.geom.GeometryLocator;
33
import org.gvsig.fmap.geom.GeometryManager;
34
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public abstract class GraphicOperator extends AbstractOperator{
40
	private FLyrVect lv=null;
41
	private static GeometryManager geomManager = GeometryLocator.getGeometryManager();
42
	
43
	public void setLayer(FLyrVect lv) {
44
		this.lv=lv;
45
	}
46
	public FLyrVect getLayer() {
47
		return lv;
48
	}
49
	public abstract double process(org.gvsig.fmap.dal.feature.Feature feature);
50
	protected ArrayList getXY(Geometry geometry) {
51
        ArrayList xs = new ArrayList();
52
        ArrayList ys = new ArrayList();
53
        ArrayList parts=new ArrayList();
54
        double[] theData = new double[6];
55

  
56
        //double[] aux = new double[6];
57
        PathIterator theIterator;
58
        int theType;
59
        int numParts = 0;
60
        theIterator = geometry.getPathIterator(null, geomManager.getFlatness()); //, flatness);
61
        boolean isClosed = false;
62
        while (!theIterator.isDone()) {
63
            theType = theIterator.currentSegment(theData);
64

  
65
            switch (theType) {
66
            case PathIterator.SEG_MOVETO:
67
            		if (numParts==0){
68
            			xs.add(new Double(theData[0]));
69
            			ys.add(new Double(theData[1]));
70
            		}else{
71
            			if (!isClosed){
72
            				Double[] x = (Double[]) xs.toArray(new Double[0]);
73
            				Double[] y = (Double[]) ys.toArray(new Double[0]);
74
            				parts.add(new Double[][] { x, y });
75
            				xs.clear();
76
            				ys.clear();
77
            			}
78
            			xs.add(new Double(theData[0]));
79
            			ys.add(new Double(theData[1]));
80
            		}
81
                numParts++;
82
                isClosed = false;
83
                break;
84
            case PathIterator.SEG_LINETO:
85
            	isClosed=false;
86
                xs.add(new Double(theData[0]));
87
                ys.add(new Double(theData[1]));
88
                break;
89
            case PathIterator.SEG_CLOSE:
90
            	isClosed=true;
91
                xs.add(new Double(theData[0]));
92
                ys.add(new Double(theData[1]));
93
                Double[] x = (Double[]) xs.toArray(new Double[0]);
94
                Double[] y = (Double[]) ys.toArray(new Double[0]);
95
                parts.add(new Double[][] { x, y });
96
                xs.clear();
97
                ys.clear();
98
                break;
99
            } //end switch
100

  
101
            theIterator.next();
102
        } //end while loop
103

  
104
        if (!isClosed){
105
        	isClosed=true;
106
        	xs.add(new Double(theData[0]));
107
            ys.add(new Double(theData[1]));
108
            Double[] x = (Double[]) xs.toArray(new Double[0]);
109
            Double[] y = (Double[]) ys.toArray(new Double[0]);
110
            parts.add(new Double[][] { x, y });
111
            xs.clear();
112
            ys.clear();
113
        }
114
        return parts;
115

  
116
    }
117

  
118
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/IsNumber.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class IsNumber extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "isNumber";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"boolean isNumber (String value){try{java.lang.Double.parseDouble(value);}catch(java.lang.NumberFormatException e){return false;}return true;};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def isNumber(value):\n" +
50
				"  import java.lang.Double\n" +
51
				"  import java.lang.NumberFormatException\n" +
52
				"  try:\n" +
53
				"    java.lang.Double.parseDouble(value)\n" +
54
				"  except java.lang.NumberFormatException:\n" +
55
				"    return 0==1 #false\n" +
56
				"  return 1==1 #true\n");
57
	}
58
	public boolean isEnable() {
59
		return (getType()==IOperator.STRING);
60
	}
61
	public String getDescription() {
62
	    return PluginServices.getText(this, "parameter") + ": " +
63
	    PluginServices.getText(this, "string_value") + "\n" +
64
	    PluginServices.getText(this, "returns") + ": " +
65
	    PluginServices.getText(this, "boolean_value") + "\n" +
66
	    PluginServices.getText(this, "description") + ": " +
67
	    "Returns true if the string parameter is a number.";
68
	}
69
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Division.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
32
import org.gvsig.expressionfield.project.documents.table.IOperator;
33

  
34

  
35
/**
36
 * @author Vicente Caballero Navarro
37
 */
38
public class Division extends AbstractOperator{
39

  
40
	public String addText(String s) {
41
		return s.concat(toString());
42
	}
43

  
44
	public void eval(BSFManager interpreter) throws BSFException {
45
	}
46
	public String toString() {
47
		return "/";
48
	}
49
	public boolean isEnable() {
50
		return (getType()==IOperator.NUMBER);
51
	}
52
	public String getTooltip(){
53
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
54
	}
55
	public String getDescription() {
56
        return PluginServices.getText(this, "returns") + ": " +
57
        PluginServices.getText(this, "numeric_value") + "\n" +
58
        PluginServices.getText(this, "description") + ": " +
59
        "Returns the result of division.";
60
    }
61
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/ToRadians.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class ToRadians extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "toRadians";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double toRadians(double value){return java.lang.Math.toRadians(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def toRadians(value):\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.toRadians(value)");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER);
55
	}
56
	public String getDescription() {
57
        return PluginServices.getText(this, "parameter") + ": " +
58
        PluginServices.getText(this, "numeric_value") + "\n" +
59
        PluginServices.getText(this, "returns") + ": " +
60
        PluginServices.getText(this, "numeric_value") + "\n" +
61
        PluginServices.getText(this, "description") + ": " +
62
        "Converts an angle measured in degrees to an approximately equivalent angle measured in radians. The conversion from degrees to radians is generally inexact.";
63
    }
64
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/EndsWith.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class EndsWith extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+",\"\")";
43
	}
44
	public String toString() {
45
		return "endsWith";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"boolean endsWith(String value1,String value2){return value1.endsWith(value2);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def endsWith(value1,value2):\n" +
50
				"  return value1.endswith(value2)");
51
	}
52
	public boolean isEnable() {
53
		return (getType()==IOperator.STRING);
54
	}
55
	public String getTooltip(){
56
		return PluginServices.getText(this,"operator")+":  "+toString()+ "("+ PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")\n"+getDescription();
57
	}
58
	public String getDescription() {
59
        return PluginServices.getText(this, "parameter") + "1"+": " +
60
        PluginServices.getText(this, "string_value") + "\n"+
61
        PluginServices.getText(this, "parameter") + "2"+": " +
62
        PluginServices.getText(this, "string_value") + "\n"+
63
        PluginServices.getText(this, "returns") + ": " +
64
        PluginServices.getText(this, "boolean_value") + "\n" +
65
        PluginServices.getText(this, "description") + ": " +
66
        "Tests if this parameter1 ends with the specified parameter2.";
67
    }
68
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Max.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35
/**
36
 * @author Vicente Caballero Navarro
37
 */
38
public class Max extends AbstractOperator{
39

  
40
	public String addText(String s) {
41
		return toString()+"("+s+")";
42
	}
43
	public String toString() {
44
		return "max";
45
	}
46
	public void eval(BSFManager interpreter) throws BSFException {
47
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double max(double value1,double value2){return java.lang.Math.max(value1,value2);};");
48
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def max(value1,value2):\n" +
49
				"  import java.lang.Math\n" +
50
				"  return java.lang.Math.max(value1,value2)");
51
	}
52
	public boolean isEnable() {
53
		return (getType()==IOperator.NUMBER);
54
	}
55
	public String getTooltip(){
56
		return PluginServices.getText(this,"operator")+":  "+toString()+ "("+ PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")\n"+getDescription();
57
	}
58
	public String getDescription() {
59
        return PluginServices.getText(this, "parameter") + "1"+": " +
60
        PluginServices.getText(this, "numeric_value") + "\n"+
61
        PluginServices.getText(this, "parameter") + "2"+": " +
62
        PluginServices.getText(this, "numeric_value") + "\n"+
63
        PluginServices.getText(this, "returns") + ": " +
64
        PluginServices.getText(this, "numeric_value") + "\n" +
65
        PluginServices.getText(this, "description") + ": " +
66
        "Returns the greater of two double values. That is, the result is the argument closer to positive infinity. \n" +
67
        "If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN.\n" +
68
        "Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero.\n" +
69
        "If one argument is positive zero and the other negative zero, the result is positive zero.";
70
    }
71
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Sin.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class Sin extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "sin";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double sin(double value){return java.lang.Math.sin(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def sin(value):\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.sin(value)");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER);
55
	}
56
	public String getDescription() {
57
        return PluginServices.getText(this, "parameter") + ": " +
58
        PluginServices.getText(this, "numeric_value") + "\n" +
59
        PluginServices.getText(this, "returns") + ": " +
60
        PluginServices.getText(this, "numeric_value") + "\n" +
61
        PluginServices.getText(this, "description") + ": " +
62
        "Returns the trigonometric sine of an angle. Special cases:\n" +
63
        "* If the argument is NaN or an infinity, then the result is NaN.\n" +
64
        "* If the argument is zero, then the result is a zero with the same sign as the argument.";
65
    }
66
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Asin.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class Asin extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "asin";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double asin(double value){return java.lang.Math.asin(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def asin(value):\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.asin(value)");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER);
55
	}
56
	public String getDescription() {
57
        return PluginServices.getText(this, "parameter") + ": " +
58
        PluginServices.getText(this, "numeric_value") + "\n" +
59
        PluginServices.getText(this, "returns") + ": " +
60
        PluginServices.getText(this, "numeric_value") + "\n" +
61
        PluginServices.getText(this, "description") + ": " +
62
        "Returns the arc sine of an angle, in the range of -pi/2 through pi/2. Special cases:\n" +
63
        "* If the argument is NaN or its absolute value is greater than 1, then the result is NaN.\n" +
64
        "* If the argument is zero, then the result is a zero with the same sign as the argument.\n";
65
    }
66
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Minus.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
32
import org.gvsig.expressionfield.project.documents.table.IOperator;
33

  
34
/**
35
 * @author Vicente Caballero Navarro
36
 */
37
public class Minus extends AbstractOperator{
38

  
39
	public String addText(String s) {
40
		return s.concat(toString());
41
	}
42
	public String toString() {
43
		return "-";
44
	}
45
	public void eval(BSFManager interpreter) throws BSFException {
46
	}
47
	public boolean isEnable() {
48
		return (getType()==IOperator.NUMBER);
49
	}
50
	public String getTooltip(){
51
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
52
	}
53
	public String getDescription() {
54
        return PluginServices.getText(this, "returns") + ": " +
55
        PluginServices.getText(this, "numeric_value") + "\n" +
56
        PluginServices.getText(this, "description") + ": " +
57
        "Returns the result of rest.";
58
    }
59
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Geometry.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.GraphicOperator;
33
import org.gvsig.fmap.dal.feature.Feature;
34

  
35
/**
36
 * @author Vicente Caballero Navarro
37
 */
38
public class Geometry extends GraphicOperator{
39

  
40
	public String addText(String s) {
41
		return s.concat(toString()+"()");
42
	}
43
	public double process(Feature feature) {
44
		return 0;
45
	}
46
	public org.gvsig.fmap.geom.Geometry getGeometry(Feature feature) {
47
//		ReadableVectorial adapter = getLayer().getSource();
48
	   	org.gvsig.fmap.geom.Geometry geom=feature.getDefaultGeometry();//adapter.getShape(index.get());
49
	   	return geom;
50
	}
51
	public void eval(BSFManager interpreter) throws BSFException {
52
		interpreter.declareBean("jgeometry",this,Geometry.class);
53
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"java.lang.Object geometry(){return geometry.getGeometry(indexRow);};");
54
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def geometry():\n" +
55
				"  return jgeometry.getGeometry(featureContainer.getFeature())");
56
	}
57
	public String toString() {
58
		return "geometry";
59
	}
60
	public boolean isEnable() {
61
		return false;
62
	}
63
	public String getTooltip(){
64
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
65
	}
66
	public String getDescription() {
67
        return PluginServices.getText(this, "returns") + ": " +
68
        PluginServices.getText(this, "numeric_value") + "\n" +
69
        PluginServices.getText(this, "description") + ": " +
70
        "Returns the geometry of this row.";
71
    }
72
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/ToNumber.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class ToNumber extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "toNumber";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double toNumber(String value){return java.lang.Double.parseDouble(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def toNumber(value):\n" +
50
				"  import java.lang.Double\n" +
51
				"  return java.lang.Double.parseDouble(value)");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER );
55
	}
56
	public String getDescription() {
57
	    return PluginServices.getText(this, "parameter") + ": " +
58
	    PluginServices.getText(this, "string_value") + "\n" +
59
	    PluginServices.getText(this, "returns") + ": " +
60
	    PluginServices.getText(this, "double_value") + "\n" +
61
	    PluginServices.getText(this, "description") + ": " +
62
	    "Returns a new number initialized to the value represented by the specified String";
63
	}
64
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/IndexOf.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class IndexOf extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+", \"\")";
43
	}
44
	public String toString() {
45
		return "indexOf";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def indexOf(value1,value2):\n" +
49
				"  return value1.find(value2)");
50
	}
51
	public boolean isEnable() {
52
		return (getType()==IOperator.STRING);
53
	}
54
	public String getTooltip(){
55
		return PluginServices.getText(this,"operator")+":  " +
56
		toString()+
57
		"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2)\n"+
58
		getDescription();
59
	}
60

  
61
	public String getDescription() {
62
        return PluginServices.getText(this, "parameter") + "1"+": " +
63
        PluginServices.getText(this, "string_value") + "\n"+
64
        PluginServices.getText(this, "parameter") + "2"+": " +
65
        PluginServices.getText(this, "string_value") + "\n"+
66
        PluginServices.getText(this, "returns") + ": " +
67
        PluginServices.getText(this, "integer_value") + "\n" +
68
        PluginServices.getText(this, "description") + ": " +
69
        "Returns the index within parameter1 of the first occurrence of the parameter2.";
70
    }
71
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/GetTimeDate.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class GetTimeDate extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "getTimeDate";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double getTimeDate(java.lang.Object value){return value.getTime();};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,
50
				"def getTimeDate(value):\n" +
51
				"  return value.getTime()");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.DATE);
55
	}
56

  
57
	public String getDescription() {
58
        return PluginServices.getText(this, "parameter") +": " +
59
        PluginServices.getText(this, "date_value") + "\n"+
60
        PluginServices.getText(this, "returns") + ": " +
61
        PluginServices.getText(this, "numeric_value") + "\n" +
62
        PluginServices.getText(this, "description") + ": " +
63
        "Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.";
64
    }
65
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.45/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Exp.java
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
package org.gvsig.expressionfield.project.documents.table.operators;
27

  
28
import org.apache.bsf.BSFException;
29
import org.apache.bsf.BSFManager;
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.expressionfield.ExpressionFieldExtension;
32
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
33
import org.gvsig.expressionfield.project.documents.table.IOperator;
34

  
35

  
36
/**
37
 * @author Vicente Caballero Navarro
38
 */
39
public class Exp extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "exp";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double exp(double value){return java.lang.Math.exp(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def exp(value):\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.exp(value)");
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff