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
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