Revision 952

View differences:

org.gvsig.scripting/trunk/org.gvsig.scripting/pom.xml
12 12
    <parent>
13 13
        <groupId>org.gvsig</groupId>
14 14
        <artifactId>org.gvsig.desktop</artifactId>
15
        <version>2.0.206</version>
15
        <version>2.0.207-SNAPSHOT</version>
16 16
    </parent>
17 17

  
18 18
    <scm>
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.lib/org.gvsig.scripting.lib.impl/src/main/java/org/gvsig/scripting/impl/DefaultScriptingManager.java
340 340

  
341 341
    public ScriptingExternalFile createExternalFile(ScriptingFolder folder, String id) {
342 342
        DefaultScriptingExternalFile unit = new DefaultScriptingExternalFile(folder, this, id);
343
        if( unit.getExternalFile()!=null && !unit.getExternalFile().exists() ) {
344
            unit.create(folder, id);
345
        }
343 346
        return unit;
344 347
    }
345 348
    
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.lib/org.gvsig.scripting.lib.impl/src/main/java/org/gvsig/scripting/impl/AbstractUnit.java
21 21

  
22 22
public abstract class AbstractUnit implements ScriptingUnit, Unit {
23 23

  
24
    private static final Logger logger = LoggerFactory.getLogger(AbstractUnit.class);
24
    protected static final Logger logger = LoggerFactory.getLogger(AbstractUnit.class);
25 25

  
26 26
    protected DefaultScriptingManager manager;
27 27

  
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.lib/org.gvsig.scripting.lib.impl/src/main/java/org/gvsig/scripting/impl/DefaultScriptingExternalFile.java
33 33
    }
34 34

  
35 35
    @Override
36
    public void create(ScriptingFolder folder, String id) {
37
        File file = this.externFile;
38
        try {
39
            file.createNewFile();
40
        } catch (IOException e) {
41
            logger.warn("Can't create inf file in '" + file.getAbsolutePath() + "'.", e);
42
        }        
43
    }
44
    
45
    @Override
36 46
    public void create(ScriptingFolder folder, String id, String language) {
37
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
47
        this.create(folder, id);
38 48
    }
39 49

  
40 50
    @Override
41 51

  
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultScriptingUIManager.java
137 137
            try {
138 138
                listener.componentCreated(component);
139 139
            } catch (Throwable th) {
140

  
140
                String s = "unknow";
141
                try {
142
                    s = component.getClass().getName();
143
                } catch(Throwable th1) {
144
                }
145
                logger.warn("Problems call listener",th);
141 146
            }
142 147
        }
143 148
    }
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultJScriptingLauncher.java
21 21
import org.gvsig.scripting.swing.api.JScriptingLauncher;
22 22
import org.gvsig.scripting.swing.api.ScriptingUIManager;
23 23
import org.gvsig.scripting.swing.impl.DefaultJScriptingBrowser.DefaultBrowserActionEvent;
24
import org.gvsig.tools.swing.api.ActionListenerSupport;
25
import org.gvsig.tools.swing.api.ToolsSwingLocator;
26
import org.gvsig.tools.util.CancelledException;
24 27
import org.slf4j.Logger;
25 28
import org.slf4j.LoggerFactory;
26 29

  
27 30
public class DefaultJScriptingLauncher extends JPanel implements JScriptingLauncher, ActionListener {
28 31

  
29 32
    private static final Logger LOG = LoggerFactory.getLogger(DefaultJScriptingLauncher.class);
30
    /**
31
     *
32
     */
33

  
33 34
    private static final long serialVersionUID = -2612734398104678920L;
34 35

  
35
    protected ActionListener defaultActionlistener = null;
36
//    protected ActionListener selectionActionlistener = null;
37
//    protected ActionListener dropDownActionlistener = null;
36
    
37
    protected ActionListenerSupport defaultActionlisteners = null;
38 38
    JTabbedPane pestana;
39 39
    ScriptingUIManager uimanager;
40 40
    ScriptingManager manager;
......
43 43
        this.uimanager = uimanager;
44 44
        this.manager = uimanager.getManager();
45 45

  
46
        this.defaultActionlisteners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport();
46 47
        List<ScriptingFolder> folders = new ArrayList<>();
47 48
        folders.add(manager.getUserFolder());
48 49
        folders.addAll(manager.getAlternativeUserFolders());
......
80 81

  
81 82
    @Override
82 83
    public void addDefaultActionListener(ActionListener actionlistener) {
83
        this.defaultActionlistener = actionlistener;
84
        this.defaultActionlisteners.addActionListener(actionlistener);
84 85
    }
85 86

  
86 87
    @Override
87 88
    public void actionPerformed(ActionEvent e) {
88
        BrowserActionEvent e2 = (BrowserActionEvent) e;
89

  
90
        switch (e.getID()) {
91
            case DefaultJScriptingBrowser.DEFAULT_ACTION:
92
                if (this.defaultActionlistener == null) {
93
                    ScriptingUnit unit = e2.getUnit();
94
                    if( unit instanceof ScriptingBaseScript ) {
95
                        ScriptingBaseScript script = (ScriptingBaseScript) unit;
96
                        try {
97
                            script.compile();
98
                            script.runAsTask(null);
99
                        } catch (ScriptingRunningException ex) {
100
                            LOG.warn("Problems launching script '" + script.getName() + "'", ex);
89
        try {
90
            BrowserActionEvent e2 = (BrowserActionEvent) e;
91
            switch (e.getID()) {
92
                case DefaultJScriptingBrowser.DEFAULT_ACTION:
93
                    if( this.defaultActionlisteners.hasActionListeners() ) {
94
                        this.defaultActionlisteners.fireActionEvent(
95
                            new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit())
96
                        );
97
                    } else {
98
                        ScriptingUnit unit = e2.getUnit();
99
                        if( unit instanceof ScriptingBaseScript ) {
100
                            ScriptingBaseScript script = (ScriptingBaseScript) unit;
101
                            try {
102
                                script.compile();
103
                                script.runAsTask(null);
104
                            } catch (ScriptingRunningException ex) {
105
                                LOG.warn("Problems launching script '" + script.getName() + "'", ex);
106
                            }
101 107
                        }
102 108
                    }
103
                } else {
104
                    this.defaultActionlistener.actionPerformed(
105
                            new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit())
109
                    break;
110
                case DefaultJScriptingBrowser.DROPDOWN_ACTION:
111
                case DefaultJScriptingBrowser.SELECTION_ACTION:
112
                    this.defaultActionlisteners.fireActionEvent(
113
                            new DefaultBrowserActionEvent(this, e.getID(), "default", e2.getUnit())
106 114
                    );
107
                }
108
                break;
109
            case DefaultJScriptingBrowser.DROPDOWN_ACTION:
110
            case DefaultJScriptingBrowser.SELECTION_ACTION:
111
                if (this.defaultActionlistener != null) {
112
                    this.defaultActionlistener.actionPerformed(
113
                            new DefaultBrowserActionEvent(this, DEFAULT_ACTION, "default", e2.getUnit())
114
                    );
115
                }
116
                break;
115
                    break;
116
            }
117
        } catch( CancelledException ex) {
118
            // Do norhing
119
        } catch(Throwable th) {
120
            LOG.warn("",th);
117 121
        }
118 122
    }
119 123
}
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/DefaultJScriptingBrowser.java
10 10
import java.awt.event.MouseEvent;
11 11
import java.awt.event.MouseListener;
12 12
import java.util.ArrayList;
13
import java.util.Enumeration;
13 14
import java.util.HashMap;
14 15
import java.util.Iterator;
15 16
import java.util.List;
......
210 211
    }
211 212

  
212 213
    public void refresh() {
214
        Enumeration<TreePath> x = tree.getExpandedDescendants(new TreePath(treeModel.getRoot()));
213 215
        ((ScriptingFolderTreeModel) this.treeModel).reload();
216
        if (x != null) {
217
            while (x.hasMoreElements()) {
218
                try {
219
                    TreePath treePath = (TreePath) x.nextElement();
220
                    tree.expandPath(treePath);
221
                } catch(Throwable th) {
222
                    
223
                }
224
            }
225
        }        
214 226
    }
215 227

  
228
    
216 229
    @Override
217 230
    public ScriptingManager getManager() {
218 231
        return this.manager;

Also available in: Unified diff