Revision 47376

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/ExpressionBuilder.java
153 153
    public static final String FUNCTION_URLREADBYTES = "URL_READBYTES";
154 154
    public static final String FUNCTION_URL = "URL";
155 155

  
156
    public static final String FUNCTION_DESKTOPBROWSE = "DESKTOP_BROWSE";
157
    public static final String FUNCTION_DESKTOPOPEN = "DESKTOP_OPEN";
158
    public static final String FUNCTION_DESKTOPEDIT = "DESKTOP_EDIT";
159

  
156 160
    public static final String FUNCTION_CRC32 = "CRC";
157 161
    public static final String FUNCTION_MD5HEX = "MD5HEX";
158 162
    
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/symboltable/ProgrammingSymbolTable.java
18 18
import org.gvsig.expressionevaluator.impl.function.programming.CreateChartPanelFunction;
19 19
import org.gvsig.expressionevaluator.impl.function.programming.CreateFnFunction;
20 20
import org.gvsig.expressionevaluator.impl.function.programming.CreateHtmlPanelFunction;
21
import org.gvsig.expressionevaluator.impl.function.programming.DesktopBrowse;
22
import org.gvsig.expressionevaluator.impl.function.programming.DesktopEdit;
23
import org.gvsig.expressionevaluator.impl.function.programming.DesktopOpen;
21 24
import org.gvsig.expressionevaluator.impl.function.programming.EvalFunction;
22 25
import org.gvsig.expressionevaluator.impl.function.programming.FileFunction;
23 26
import org.gvsig.expressionevaluator.impl.function.programming.GetattrFunction;
......
114 117
        this.addFunction(new StringBuilderFunction());
115 118
        this.addFunction(new StringWriterFunction());
116 119
        this.addFunction(new ImportFunction());
120

  
121
        this.addFunction(new DesktopBrowse());
122
        this.addFunction(new DesktopOpen());
123
        this.addFunction(new DesktopEdit());
117 124
    }
118 125

  
119 126
    private void addOperator(Function operator) {
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/programming/DesktopEdit.java
1
package org.gvsig.expressionevaluator.impl.function.programming;
2

  
3
import java.io.File;
4
import java.net.URL;
5
import org.apache.commons.lang3.Range;
6
import org.gvsig.desktopopen.DesktopOpen;
7
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_DESKTOPEDIT;
8
import org.gvsig.expressionevaluator.Function;
9
import org.gvsig.expressionevaluator.Interpreter;
10
import org.gvsig.expressionevaluator.spi.AbstractFunction;
11
import org.gvsig.tools.util.ToolsUtilLocator;
12

  
13
/**
14
 *
15
 * @author jjdelcerro
16
 */
17
public class DesktopEdit extends AbstractFunction {
18

  
19
    public DesktopEdit() {
20
        super(Function.GROUP_PROGRAMMING, 
21
            FUNCTION_DESKTOPEDIT, 
22
            Range.is(1),
23
            null,
24
            FUNCTION_DESKTOPEDIT+"({{file}})",
25
            null,
26
            "NULL",
27
            false
28
        );
29
    }
30
    
31
    @Override
32
    public boolean allowConstantFolding() {
33
        return false;
34
    }
35
    
36
    @Override
37
    public Object call(Interpreter interpreter, Object[] args) throws Exception {
38
        File f = getFile(args,0);
39
        DesktopOpen desktop = ToolsUtilLocator.getToolsUtilManager().createDesktopOpen();
40
        desktop.edit(f);
41
        return null;
42
    }
43
    
44
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/programming/DesktopOpen.java
1
package org.gvsig.expressionevaluator.impl.function.programming;
2

  
3
import java.io.File;
4
import org.apache.commons.lang3.Range;
5
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_DESKTOPOPEN;
6
import org.gvsig.expressionevaluator.Function;
7
import org.gvsig.expressionevaluator.Interpreter;
8
import org.gvsig.expressionevaluator.spi.AbstractFunction;
9
import org.gvsig.tools.util.ToolsUtilLocator;
10

  
11
/**
12
 *
13
 * @author jjdelcerro
14
 */
15
public class DesktopOpen extends AbstractFunction {
16

  
17
    public DesktopOpen() {
18
        super(Function.GROUP_PROGRAMMING, 
19
            FUNCTION_DESKTOPOPEN, 
20
            Range.is(1),
21
            null,
22
            FUNCTION_DESKTOPOPEN+"({{file}})",
23
            null,
24
            "NULL",
25
            false
26
        );
27
    }
28
    
29
    @Override
30
    public boolean allowConstantFolding() {
31
        return false;
32
    }
33
    
34
    @Override
35
    public Object call(Interpreter interpreter, Object[] args) throws Exception {
36
        File f = getFile(args,0);
37
        org.gvsig.desktopopen.DesktopOpen desktop = ToolsUtilLocator.getToolsUtilManager().createDesktopOpen();
38
        desktop.open(f);
39
        return null;
40
    }
41
    
42
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/function/programming/DesktopBrowse.java
1
package org.gvsig.expressionevaluator.impl.function.programming;
2

  
3
import java.net.URL;
4
import org.apache.commons.lang3.Range;
5
import org.gvsig.desktopopen.DesktopOpen;
6
import static org.gvsig.expressionevaluator.ExpressionBuilder.FUNCTION_DESKTOPBROWSE;
7
import org.gvsig.expressionevaluator.Function;
8
import org.gvsig.expressionevaluator.Interpreter;
9
import org.gvsig.expressionevaluator.spi.AbstractFunction;
10
import org.gvsig.tools.util.ToolsUtilLocator;
11

  
12
/**
13
 *
14
 * @author jjdelcerro
15
 */
16
public class DesktopBrowse extends AbstractFunction {
17

  
18
    public DesktopBrowse() {
19
        super(Function.GROUP_PROGRAMMING, 
20
            FUNCTION_DESKTOPBROWSE, 
21
            Range.is(1),
22
            null,
23
            FUNCTION_DESKTOPBROWSE+"({{url}})",
24
            null,
25
            "NULL",
26
            false
27
        );
28
    }
29
    
30
    @Override
31
    public boolean allowConstantFolding() {
32
        return false;
33
    }
34
    
35
    @Override
36
    public Object call(Interpreter interpreter, Object[] args) throws Exception {
37
        URL url = getURL(args,0);
38
        DesktopOpen desktop = ToolsUtilLocator.getToolsUtilManager().createDesktopOpen();
39
        desktop.browse(url.toURI());
40
        return null;
41
    }
42
    
43
}

Also available in: Unified diff