Revision 442 org.gvsig.scripting.app/trunk/org.gvsig.scripting.app/org.gvsig.scripting.app.extension/src/main/java/org/gvsig/scripting/app/extension/ScriptingExtension.java

View differences:

ScriptingExtension.java
24 24

  
25 25

  
26 26
import java.io.File;
27
import java.util.List;
27 28

  
28 29
import javax.swing.JOptionPane;
29 30

  
31
import org.gvsig.andami.IconThemeHelper;
30 32
import org.gvsig.andami.PluginsLocator;
31 33
import org.gvsig.andami.PluginsManager;
32 34
import org.gvsig.andami.plugins.Extension;
33 35
import org.gvsig.app.ApplicationLocator;
34 36
import org.gvsig.app.ApplicationManager;
35
import org.gvsig.installer.lib.spi.InstallerProviderLocator;
36 37
import org.gvsig.scripting.ScriptingBaseScript;
37 38
import org.gvsig.scripting.ScriptingLocator;
38 39
import org.gvsig.scripting.ScriptingManager;
39
import org.gvsig.scripting.app.extension.installer.ScriptingInstallerProviderFactory;
40 40
import org.gvsig.scripting.swing.api.JScriptingComposer;
41 41
import org.gvsig.scripting.swing.api.ScriptingSwingLocator;
42 42
import org.gvsig.scripting.swing.api.ScriptingUIManager;
43 43
import org.gvsig.tools.dynobject.DynObject;
44
import org.gvsig.tools.service.spi.ProviderManager;
45 44
import org.gvsig.tools.swing.api.ToolsSwingLocator;
46 45
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
47 46
import org.gvsig.tools.swing.impl.windowmanager.DefaultWindowManager;
47
import org.slf4j.Logger;
48
import org.slf4j.LoggerFactory;
48 49

  
49 50
public class ScriptingExtension extends Extension {
50 51

  
51
//	private static Logger LOG = LoggerFactory.getLogger(ScriptingExtension.class);
52
	private static Logger logger = LoggerFactory.getLogger(ScriptingExtension.class);
52 53
	
53 54
	public void execute(String actionCommand) {
54 55
		this.execute(actionCommand,null);
......
58 59
	    ScriptingUIManager uimanager = ScriptingSwingLocator.getUIManager();
59 60
		WindowManager winmanager = ToolsSwingLocator.getWindowManager();
60 61
		
61
		if( "Launcher".equalsIgnoreCase(command) ) {
62
		if( "tools-scripting-launcher".equalsIgnoreCase(command) ) {
62 63
		    winmanager.showWindow(uimanager.createLauncher(), "Scripting Launcher", WindowManager.MODE.TOOL);
63 64
		    
64
		} else if( "Composer".equalsIgnoreCase(command) ) {
65
		} else if( "tools-scripting-composer".equalsIgnoreCase(command) ) {
65 66
			DynObject preferences = this.getPlugin().getPluginProperties();
66 67
			Boolean composerUseHisWindowManager = (Boolean) preferences.getDynValue("ComposerUseHisWindowManager");
67 68
			JScriptingComposer composer = uimanager.createComposer();
......
85 86
	}
86 87
	
87 88
	public void initialize() {
88
		// Do nothing
89

  
89
		IconThemeHelper.registerIcon("action", "tools-scripting-launcher", this);
90
		IconThemeHelper.registerIcon("action", "tools-scripting-composer", this);
91
		IconThemeHelper.registerIcon("action", "tools-scripting-console-jython", this);
90 92
	}
91 93
	
92 94
	public void postInitialize() {
......
97 99
	    File home = this.getPlugin().getPluginHomeFolder();
98 100
	    manager.setHomeFolder(home);
99 101
    	
100
	    File[] folders = pluginManager.getPluginsFolder().listFiles();
101
	    for (File folder : folders) {
102
		    File scriptsFolder = new File(folder,"scripting/scripts");
103
		    if( scriptsFolder.exists() ) {
104
		    	manager.registerSystemFolder(folder.getName(), scriptsFolder);
105
		    }
106
		    File libFolder = new File(folder,"scripting/lib");
107
		    if( libFolder.exists() ) {
108
		    	manager.addLibFolder(libFolder);
109
		    }
110
		}
102
	    List<File> pluginsFolders = pluginManager.getPluginsFolders();
103
	    for( File pluginsFolder : pluginsFolders ) {
104
		    File[] folders = pluginsFolder.listFiles();
105
		    for (File folder : folders) {
106
			    File scriptsFolder = new File(folder,"scripting/scripts");
107
			    if( scriptsFolder.exists() ) {
108
			    	manager.registerSystemFolder(folder.getName(), scriptsFolder);
109
			    }
110
			    File libFolder = new File(folder,"scripting/lib");
111
			    if( libFolder.exists() ) {
112
			    	manager.addLibFolder(libFolder);
113
			    }
114
			}
115
	    }
116
	    File autorun_file = null;
117
	    ScriptingBaseScript autorun = null;
118
	    for( File pluginsFolder : pluginsFolders ) {
119
		    File[] folders = pluginsFolder.listFiles();
120
		    for (File folder : folders) {
121
		    	autorun_file = new File(folder,"scripting/scripts/autorun.inf");
122
			    if( autorun_file.exists() ) {
123
			    	autorun = manager.getScript(autorun_file);
124
			    	try {
125
			    		autorun.run();
126
			    	} catch(Exception ex) {
127
			    		logger.warn("Can't execute autorun from '"+autorun_file.getAbsolutePath()+"'.",ex);
128
			    	}
129
			    }
130
			}
131
	    }
132
    	try {
133
    		autorun_file = new File( manager.getRootUserFolder(),"autorun.inf" );
134
    		if( autorun_file.exists() ) {
135
	    	    autorun = (ScriptingBaseScript) manager.getUserFolder().getUnit(new File("autorun.inf"));
136
	    	    if( autorun!=null) {
137
	    	    	autorun.run();
138
	    	    }
139
    		}
140
    	} catch(Exception ex) {
141
    		logger.warn("Can't execute autorun in home.",ex);
142
    	}
143

  
111 144
	    /*
112 145
	     * 
113 146
	    ProviderManager providerManager = InstallerProviderLocator.getProviderManager();

Also available in: Unified diff