Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.lib / org.gvsig.scripting.lib.impl / src / main / java / org / gvsig / scripting / impl / SystemFolder.java @ 1066

History | View | Annotate | Download (2.37 KB)

1
package org.gvsig.scripting.impl;
2

    
3
import java.io.File;
4
import java.util.ArrayList;
5
import java.util.List;
6

    
7
import org.gvsig.scripting.ScriptingFolder;
8
import org.gvsig.scripting.ScriptingManager;
9
import org.gvsig.scripting.ScriptingUnit;
10
import org.gvsig.scripting.impl.DefaultScriptingManager.RegisterSystemFolder;
11

    
12
public class SystemFolder extends DefaultScriptingFolder {
13

    
14
    public SystemFolder(ScriptingManager manager) {
15
        super(manager);
16
        this.setName("System");
17
        this.setId("SystemFolder");
18
        this.setDescription("Scripts del Sistema");
19
    }
20

    
21
    @Override
22
    public ScriptingFolder getParent() {
23
        return null;
24
    }
25

    
26
    @Override
27
    public File getFileResource(String extension) {
28
        return new File(folder.getParentFile(), folder.getName() + extension).getAbsoluteFile();
29
    }
30

    
31
    @Override
32
    public String toString() {
33
        return this.description;
34
    }
35

    
36
    @Override
37
    public String[] getIconNames() {
38
        return new String[]{"scripting-icon-folder-system", "scripting-icon-folder-system"};
39
    }
40

    
41
    @Override
42
    public Unit getUnit(File afile) {
43
        Unit unit = null;
44
        String path = afile.getPath();
45
        if (path.startsWith("/")) {
46
            path = path.substring(1);
47
        }
48

    
49
        List<RegisterSystemFolder> folders = this.manager.getSystemFolders();
50
        for (int i = 0; i < folders.size(); i++) {
51
            RegisterSystemFolder systemfolder = folders.get(i);
52
            DefaultScriptingFolder folder = new DefaultScriptingFolder(this, manager, systemfolder.folder.getAbsoluteFile());
53
            if (path.startsWith(folder.getId() + "/")) {
54
                unit = folder.getUnit(new File(path.substring(folder.getId().length() + 1)));
55
                if (unit != null) {
56
                    return unit;
57
                }
58
            }
59
        }
60
        return null;
61
    }
62

    
63
    @Override
64
    public List<ScriptingUnit> getUnits() {
65
        List<ScriptingUnit> ol = new ArrayList<>();
66
        List<RegisterSystemFolder> folders = this.manager.getSystemFolders();
67
        for (int i = 0; i < folders.size(); i++) {
68
            RegisterSystemFolder systemfolder = folders.get(i);
69
            DefaultScriptingFolder folder = new DefaultScriptingFolder(this, manager, systemfolder.folder.getAbsoluteFile());
70
            folder.setName(systemfolder.name);
71
            ol.add(folder);
72
        }
73
        return ol;
74
    }
75
}