Revision 1106

View differences:

org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/buildNumber.properties
1
#Fri Nov 25 02:33:34 CET 2022
2
buildNumber=2293
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/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.213/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.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/DateToString.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 fdiaz
38
 */
39
public class DateToString extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "dateToString";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"String toString(java.lang.Object value){" +
49
//				"if (value instanceof java.util.Date)" +
50
//					"return ((java.util.Date)value).toString();" +
51
//				"return String.valueOf(value);};");
52
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,
53
				"import java.util.Date as Date\n"+
54
				"import java.text.DateFormat as DateFormat\n"+
55
				"import java.text.SimpleDateFormat as SimpleDateFormat\n" +
56
				"import java.text.NumberFormat as NumberFormat\n"+
57
				"dateFormat = DateFormat.getInstance()\n"+
58
				"myDateFormat = SimpleDateFormat()\n" +
59
				"def dateToString(value, format=None):\n" +
60
				"  if value == None:\n"+
61
				"    return None\n"+
62
				"  if value == '':\n"+
63
				"    return ''\n"+
64
				"  if isinstance(value,Date):\n"+
65
				"    if format != None:\n"+
66
				"      myDateFormat.applyPattern(format)\n"+
67
				"      return myDateFormat.format(value)\n"+
68
				"    else:\n"+
69
				"      return dateFormat.format(value)\n"+
70
				"  else:\n"+
71
				"    raise InputError\n"+
72
				"  return str(value)");
73
	}
74
	public boolean isEnable() {
75
		return (getType()==IOperator.DATE);
76
	}
77

  
78
	public String getTooltip(){
79
		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"[,"+PluginServices.getText(this,"format")+"])"+"\n"+getDescription();
80
	}
81

  
82
	public String getDescription() {
83
	    return PluginServices.getText(this, "parameter") + ": " +
84
	    PluginServices.getText(this, "date_value") + "\n" +
85
		PluginServices.getText(this, "format") + " ("+PluginServices.getText(this, "optional")+"): " +
86
	    PluginServices.getText(this, "string_value") + "\n" +
87
	    PluginServices.getText(this, "returns") + ": " +
88
	    PluginServices.getText(this, "string_value") + "\n" +
89
	    PluginServices.getText(this, "description") + ": " +
90
	    "Returns the string representation of the Object date parameter\n" +
91
	    "formatted according to the parameter format, if it is supplied.\n\n"+
92
	    "The format should follow the specifications of\n" +
93
	    "'http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html'.\n\n"+
94
	    "Examples: (for the date of December 23, 2008)\n"+
95
	    "  'dd/MM/yy'     23/12/08\n"+
96
	    "  'dd/MM/yyyy'   23/12/2008\n"+
97
	    "  'dd/MMM/yyyy'  23/dec/2008\n"+
98
	    "  'dd/MMMM/yyyy' 23/december/2008\n";
99
	}
100
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/AbstractField.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.expressionfield.ExpressionFieldExtension;
31
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
32
import org.gvsig.fmap.dal.feature.Feature;
33

  
34

  
35
public abstract class AbstractField extends AbstractOperator{
36
	private boolean isEval=false;
37
	public Object getValue(Feature feature, String nameField){
38
		if (feature != null)
39
			return feature.get(nameField);
40
		return null;
41
	}
42
//	public Object getValue(String nameField,Index indexRow,SelectableDataSource sds) {
43
//		try {
44
//			int index=sds.getFieldIndexByName(nameField);
45
//			Value value=sds.getFieldValue(indexRow.get(),index);
46
//			if (value instanceof NumericValue) {
47
//				double dv=((NumericValue)value).doubleValue();
48
//				return new Double(dv);
49
//			}else if (value instanceof DateValue) {
50
//				Date date=((DateValue)value).getValue();
51
//				return date;
52
//			}else if (value instanceof BooleanValue){
53
//				boolean b=((BooleanValue)value).getValue();
54
//				return new Boolean(b);
55
//			}else {
56
//				return value.toString();
57
//			}
58
//		} catch (ReadDriverException e) {
59
//			throw new RuntimeException(e.getMessage());
60
//		}
61
//	}
62
	public void eval(BSFManager interpreter) throws BSFException {
63
		if (!isEval){
64
		interpreter.declareBean("jfield",this,Field.class);
65
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def field(nameField):\n" +
66
				"  return jfield.getValue(featureContainer.getFeature(), nameField)");
67
		isEval=true;
68
		}
69
	}
70
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Area.java
1
/**
2
 * *****************************************************************************
3
 *
4
 * gvSIG. Desktop Geographic Information System.
5
 *
6
 * Copyright (C) 2007-2013 gvSIG Association.
7
 *
8
 * This program is free software; you can redistribute it and/or modify it under
9
 * the terms of the GNU General Public License as published by the Free Software
10
 * Foundation; either version 3 of the License, or (at your option) any later
11
 * version.
12
 *
13
 * This program is distributed in the hope that it will be useful, but WITHOUT
14
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
16
 * details.
17
 *
18
 * You should have received a copy of the GNU General Public License along with
19
 * this program; if not, write to the Free Software Foundation, Inc., 51
20
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
 *
22
 * For any additional information, do not hesitate to contact us at info AT
23
 * gvsig.com, or visit our website www.gvsig.com.
24
 *
25
 ******************************************************************************
26
 */
27
package org.gvsig.expressionfield.project.documents.table.operators;
28

  
29

  
30
import org.apache.bsf.BSFException;
31
import org.apache.bsf.BSFManager;
32
import org.cresques.cts.IProjection;
33
import org.gvsig.andami.PluginServices;
34
import org.gvsig.expressionfield.ExpressionFieldExtension;
35
import org.gvsig.expressionfield.project.documents.table.GraphicOperator;
36
import org.gvsig.expressionfield.project.documents.table.IOperator;
37
import org.gvsig.fmap.dal.exception.DataException;
38
import org.gvsig.fmap.dal.feature.FeatureStore;
39
import org.gvsig.fmap.geom.Geometry;
40

  
41
import org.gvsig.fmap.mapcontext.MapContext;
42
import org.gvsig.fmap.mapcontrol.MapControlLocator;
43
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
45

  
46
public class Area extends GraphicOperator {
47

  
48
    private static final Logger logger = LoggerFactory.getLogger(Area.class);
49
    
50
    @Override
51
    public String addText(String s) {
52
        return s.concat(toString() + "()");
53
    }
54

  
55
    @Override
56
    public double process(org.gvsig.fmap.dal.feature.Feature feature) {
57
        org.gvsig.fmap.geom.Geometry geom;
58
        geom = feature.getDefaultGeometry();
59
        MapContext mapContext = getLayer().getMapContext();
60
        IProjection proj = mapContext.getProjection();
61
        int areaUnits = mapContext.getViewPort().getDistanceArea();
62
        return MapControlLocator.getMapControlManager().area(geom, proj, areaUnits);
63
    }
64

  
65
    @Override
66
    public void eval(BSFManager interpreter) throws BSFException {
67
        interpreter.declareBean("jarea", this, Area.class);
68
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double area(){return area.process(indexRow);};");
69
        interpreter.exec(ExpressionFieldExtension.JYTHON, null, -1, -1, "def area():\n"
70
                + "  return jarea.process(featureContainer.getFeature())");
71
    }
72

  
73
    @Override
74
    public String toString() {
75
        return "area";
76
    }
77

  
78
    @Override
79
    public boolean isEnable() {
80
        if (getLayer() == null) {
81
            return false;
82
        }
83
        FeatureStore store;
84
        int geomType = Geometry.TYPES.POINT;
85
        try {
86
            store = getLayer().getFeatureStore();
87
            geomType = store.getDefaultFeatureType().getDefaultGeometryAttribute().getGeomType().getType();
88
        } catch (DataException e) {
89
            logger.warn("Can't get geometry type for default geometry attribute of layer '"+getLayer().getName()+"'.",e);
90
        }
91
//        GeometryManager geomManager = GeometryLocator.getGeometryManager();
92
        
93
        return getType() == IOperator.NUMBER && (
94
            geomManager.isSubtype(Geometry.TYPES.SURFACE, geomType) ||
95
            geomManager.isSubtype(Geometry.TYPES.MULTISURFACE, geomType) 
96
        );
97
    }
98

  
99
    @Override
100
    public String getTooltip() {
101
        return PluginServices.getText(this, "operator") + ":  " + addText("") + "\n" + getDescription();
102
    }
103

  
104
    @Override
105
    public String getDescription() {
106
        return PluginServices.getText(this, "returns") + ": "
107
                + PluginServices.getText(this, "numeric_value") + "\n"
108
                + PluginServices.getText(this, "description") + ": "
109
                + "Returns the area of polygon geometry of this row in the units of the view.";
110
    }
111
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Pi.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 Pi extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return s.concat(toString()+"()");
43
	}
44
	public String toString() {
45
		return "pi";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double pi(){return java.lang.Math.PI;};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def pi():\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.PI");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER);
55
	}
56
	public String getTooltip(){
57
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
58
	}
59
	public String getDescription() {
60
        return PluginServices.getText(this, "returns") + ": " +
61
        PluginServices.getText(this, "numeric_value") + "\n" +
62
        PluginServices.getText(this, "description") + ": " +
63
        "The double value that is closer than any other to pi, the ratio of the circumference of a circle to its diameter.";
64
    }
65
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/SetTimeDate.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 SetTimeDate extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "setTimeDate";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"java.util.Date setTimeDate(java.lang.Object value1,double value2){value1.setTime((long)value2);return value1;};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,
50
				"import java.util.Date as jDate\n"+
51
				"def setTimeDate(value):\n"+
52
				"  aux = jDate()\n"+
53
				"  aux.setTime(long(value))\n"+
54
				"  return aux");
55
	}
56
	public boolean isEnable() {
57
		return (getType()==IOperator.DATE);
58
	}
59

  
60
	public String getDescription() {
61
	       return PluginServices.getText(this, "parameter") + ": " +
62
	        PluginServices.getText(this, "numeric_value") + "\n"+
63
	        PluginServices.getText(this, "returns") + ": " +
64
	        PluginServices.getText(this, "date_value") + "\n" +
65
	        PluginServices.getText(this, "description") + ": " +
66
	        "Returns a date object to represent a point in time that is 'parameter' milliseconds after January 1, 1970 00:00:00 GMT.";
67
    }
68
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/ToString.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 ToString extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "toString";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"String toString(java.lang.Object value){" +
49
//				"if (value instanceof java.util.Date)" +
50
//					"return ((java.util.Date)value).toString();" +
51
//				"return String.valueOf(value);};");
52
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def toString(value):\n" +
53
				"  return str(value)");
54
	}
55
	public boolean isEnable() {
56
		return (getType()==IOperator.NUMBER);// || getType()==IOperator.DATE);
57
	}
58
	public String getDescription() {
59
	    return PluginServices.getText(this, "parameter") + ": " +
60
	    PluginServices.getText(this, "value") + "\n" +
61
	    PluginServices.getText(this, "returns") + ": " +
62
	    PluginServices.getText(this, "string_value") + "\n" +
63
	    PluginServices.getText(this, "description") + ": " +
64
	    "Returns the string representation of the Object argument";
65
	}
66
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/StartsWith.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 StartsWith extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+",\"\")";
43
	}
44
	public String toString() {
45
		return "startsWith";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"boolean startsWith(String value1,String value2){return value1.startsWith(value2);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def startsWith(value1,value2):\n" +
50
				" return value1.startswith(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 starts with the specified parameter2.";
67
    }
68
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Ceil.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 Ceil extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "ceil";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double ceil(double value){return java.lang.Math.ceil(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def ceil(value):\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.ceil(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 smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. Special cases:\n" +
63
        "* If the argument value is already equal to a mathematical integer, then the result is the same as the argument.\n" +
64
        "* If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument.\n" +
65
        "* If the argument value is less than zero but greater than -1.0, then the result is negative zero.\n";
66
    }
67

  
68
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/MoreThan.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 MoreThan extends AbstractOperator{
39

  
40
	public String addText(String s) {
41
		return s.concat(toString());
42
	}
43
	public void eval(BSFManager interpreter) throws BSFException {
44

  
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, "boolean_value") + "\n" +
58
        PluginServices.getText(this, "description") + ": " +
59
        "Returns true if the first object value is more than the second value.";
60
    }
61
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/MoreEquals.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 MoreEquals 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, "boolean_value") + "\n" +
58
        PluginServices.getText(this, "description") + ": " +
59
        "Returns true if the first object value is more or equals than the second value.";
60
    }
61
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/FieldCopy.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.expressionfield.ExpressionFieldExtension;
31
import org.gvsig.expressionfield.project.documents.table.AbstractOperator;
32
import org.gvsig.fmap.dal.feature.Feature;
33
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
34

  
35
/**
36
 * @author Vicente Caballero Navarro
37
 */
38
public class FieldCopy extends AbstractOperator{
39
	private FeatureAttributeDescriptor fd;
40
	public FieldCopy() {
41
	}
42
	public void setFieldDescription(FeatureAttributeDescriptor fd) {
43
		this.fd=fd;
44
	}
45
	public String addText(String s) {
46
		return s.concat(toString());
47
	}
48

  
49
	public void eval(BSFManager interpreter) throws BSFException {
50
		interpreter.declareBean(fd.getName(),this,FieldCopy.class);
51
		interpreter.eval(ExpressionFieldExtension.JYTHON,null,-1,-1,"java.lang.Object "+ fd.getName()+ "(){return "+fd.getName()+".getValue(feature);};");
52
	}
53
	public Object getValue(Feature feature){
54
		return feature.get(fd.getName());
55
	}
56
//	public Object getValue(Index indexRow,FeatureStore sds) {
57
//		try {
58
//			int index=sds.getFieldIndexByName(fd.getName());
59
//			Value value=sds.getFieldValue(indexRow.get(),index);
60
//			if (value instanceof NumericValue) {
61
//				double dv=((NumericValue)value).doubleValue();
62
//				return new Double(dv);
63
//			}else if (value instanceof DateValue) {
64
//				Date date=((DateValue)value).getValue();
65
//				return date;
66
//			}else if (value instanceof BooleanValue){
67
//				boolean b=((BooleanValue)value).getValue();
68
//				return new Boolean(b);
69
//			}else {
70
//				return value.toString();
71
//			}
72
//		} catch (ReadDriverException e) {
73
//			throw new RuntimeException(e.getMessage());
74
//		}
75
//	}
76
	public String toString() {
77
		return "["+fd.getName()+"]";
78
	}
79
	public boolean isEnable() {
80
		return true;
81
	}
82
	public String getDescription() {
83
		// TODO Auto-generated method stub
84
		return null;
85
	}
86
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/ToDate.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 ToDate extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "toDate";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"java.util.Date toDate(String value){return new java.text.SimpleDateFormat().parse(value);};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,
50
				"import java.text.DateFormat as DateFormat\n" +
51
				"import java.text.SimpleDateFormat as SimpleDateFormat\n" +
52
				"dateFormat = DateFormat.getInstance()\n" +
53
				"myDateFormat = SimpleDateFormat()\n" +
54
				"def toDate(value, format=None):\n" +
55
				"  if format != None:\n"+
56
				"    myDateFormat.applyPattern(format)\n"+
57
				"    return myDateFormat.parse(value)\n"+
58
				"  return dateFormat.parse(value)");
59
	}
60
	public boolean isEnable() {
61
		return (getType()==IOperator.DATE);
62
	}
63

  
64
	public String getTooltip(){
65
		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"[,"+PluginServices.getText(this,"format")+"])"+"\n"+getDescription();
66
	}
67

  
68
	public String getDescription() {
69
		return PluginServices.getText(this, "parameter") + "1: " +
70
	    PluginServices.getText(this, "string_value") + "\n" +
71
		PluginServices.getText(this, "format") + " ("+PluginServices.getText(this, "optional")+"): " +
72
	    PluginServices.getText(this, "string_value") + "\n" +
73
	    PluginServices.getText(this, "returns") + ": " +
74
	    PluginServices.getText(this, "date_value") + "\n" +
75
	    PluginServices.getText(this, "description") + ": " +
76
	    "Returns a date object from string parameter formatted according to\nthe parameter format if it is supplied.\n\n"+
77
	    "The format should follow the specifications of\n" +
78
	    "'http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html'.\n\n"+
79
	    "Examples: (for the date of December 23, 2008)\n"+
80
	    "  'dd/MM/yy'  23/12/08\n"+
81
	    "  'dd/MM/yyyy'  23/12/2008\n"+
82
	    "  'dd/MMM/yyyy'  23/dec/2008\n"+
83
	    "  'dd/MMMM/yyyy'  23/december/2008\n";
84

  
85
	}
86
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Random.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 Random extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return s.concat(toString()+"()");
43
	}
44
	public String toString() {
45
		return "random";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"double random(){return java.lang.Math.random();};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def random():\n" +
50
				"  import java.lang.Math\n" +
51
				"  return java.lang.Math.random()");
52
	}
53
	public boolean isEnable() {
54
		return (getType()==IOperator.NUMBER);
55
	}
56
	public String getTooltip(){
57
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
58
	}
59
	public String getDescription() {
60
        return PluginServices.getText(this, "returns") + ": " +
61
        PluginServices.getText(this, "numeric_value") + "\n" +
62
        PluginServices.getText(this, "description") + ": " +
63
        "Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range.";
64
    }
65
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Distinct.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 Distinct extends AbstractOperator{
39

  
40
	public String addText(String s) {
41
		return s.concat(toString());
42
	}
43
	public void eval(BSFManager interpreter) throws BSFException {
44
	}
45
	public String toString() {
46
		return "<>";
47
	}
48
	public boolean isEnable() {
49
		return (getType()==IOperator.DATE || getType()==IOperator.NUMBER || getType()==IOperator.STRING);
50
	}
51
	public String getTooltip(){
52
		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
53
	}
54
	public String getDescription() {
55
        return PluginServices.getText(this, "returns") + ": " +
56
        PluginServices.getText(this, "boolean_value") + "\n" +
57
        PluginServices.getText(this, "description") + ": " +
58
        "Returns true if the objects are diferents.";
59
    }
60
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Length.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 Length extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "length";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
//		interpreter.eval(ExpressionFieldExtension.BEANSHELL,null,-1,-1,"int length(String value){return value.length();};");
49
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def length(value):\n" +
50
				"  return len(value)");
51
	}
52
	public boolean isEnable() {
53
		return (getType()==IOperator.STRING);
54
	}
55
	public String getDescription() {
56
	    return PluginServices.getText(this, "parameter") + ": " +
57
	    PluginServices.getText(this, "string_value") + "\n" +
58
	    PluginServices.getText(this, "returns") + ": " +
59
	    PluginServices.getText(this, "numeric_value") + "\n" +
60
	    PluginServices.getText(this, "description") + ": " +
61
	    "Returns the length of string parameter.";
62
	}
63
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/LessEquals.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 LessEquals 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, "boolean_value") + "\n" +
58
        PluginServices.getText(this, "description") + ": " +
59
        "Returns true if the first object value is less or equals than the second value.";
60
    }
61
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/LessThan.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 LessThan 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, "boolean_value") + "\n" +
58
        PluginServices.getText(this, "description") + ": " +
59
        "Returns true if the first object value is less than the second value.";
60
    }
61
}
org.gvsig.expressionfield/tags/org.gvsig.expressionfield-2.0.213/src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Floor.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 Floor extends AbstractOperator{
40

  
41
	public String addText(String s) {
42
		return toString()+"("+s+")";
43
	}
44
	public String toString() {
45
		return "floor";
46
	}
47
	public void eval(BSFManager interpreter) throws BSFException {
48
		interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def floor(value):\n" +
49
				"  import java.lang.Math\n" +
50
				"  return java.lang.Math.floor(value)");
51
	}
52
	public boolean isEnable() {
53
		return (getType()==IOperator.NUMBER);
54
	}
55
	public String getDescription() {
56
        return PluginServices.getText(this, "parameter") + ": " +
57
        PluginServices.getText(this, "numeric_value") + "\n" +
58
        PluginServices.getText(this, "returns") + ": " +
59
        PluginServices.getText(this, "numeric_value") + "\n" +
60
        PluginServices.getText(this, "description") + ": " +
61
        "Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer. Special cases:\n" +
62
        "* If the argument value is already equal to a mathematical integer, then the result is the same as the argument.\n" +
63
        "* If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument.\n";
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff