Revision 468 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/java/org/gvsig/scripting/app/extension/ScriptingExtension.java
ScriptingExtension.java | ||
---|---|---|
34 | 34 |
import java.util.List; |
35 | 35 |
|
36 | 36 |
import javax.swing.JOptionPane; |
37 |
import org.apache.commons.io.FilenameUtils; |
|
38 | 37 |
|
39 | 38 |
import org.gvsig.andami.IconThemeHelper; |
40 | 39 |
import org.gvsig.andami.PluginServices; |
... | ... | |
43 | 42 |
import org.gvsig.andami.plugins.Extension; |
44 | 43 |
import org.gvsig.app.ApplicationLocator; |
45 | 44 |
import org.gvsig.app.ApplicationManager; |
45 |
import org.gvsig.installer.lib.api.InstallerLocator; |
|
46 |
import org.gvsig.installer.lib.api.InstallerManager; |
|
47 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
46 | 48 |
import org.gvsig.scripting.ScriptingBaseScript; |
47 | 49 |
import org.gvsig.scripting.ScriptingFolder; |
48 | 50 |
import org.gvsig.scripting.ScriptingHelpManager; |
... | ... | |
52 | 54 |
import org.gvsig.scripting.swing.api.ScriptingSwingLocator; |
53 | 55 |
import org.gvsig.scripting.swing.api.ScriptingUIManager; |
54 | 56 |
import org.gvsig.tools.dynobject.DynObject; |
57 |
import org.gvsig.tools.service.spi.ProviderFactory; |
|
58 |
import org.gvsig.tools.service.spi.ProviderManager; |
|
55 | 59 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
56 | 60 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
57 | 61 |
import org.gvsig.tools.swing.impl.windowmanager.DefaultWindowManager; |
... | ... | |
77 | 81 |
} else if ("tools-scripting-composer".equalsIgnoreCase(command)) { |
78 | 82 |
DynObject preferences = this.getPlugin().getPluginProperties(); |
79 | 83 |
Boolean composerUseHisWindowManager = (Boolean) preferences.getDynValue("ComposerUseHisWindowManager"); |
80 |
JScriptingComposer composer = uimanager.createComposer();
|
|
84 |
ScriptingUIManager uiManager = ScriptingSwingLocator.getUIManager();
|
|
81 | 85 |
if (composerUseHisWindowManager.booleanValue()) { |
82 | 86 |
winmanager = new DefaultWindowManager(); |
83 |
composer.setWindowManager(winmanager); |
|
84 |
winmanager.showWindow(composer, uimanager.getTranslation("Scripting_Composer"), WindowManager.MODE.WINDOW); |
|
85 |
} else { |
|
86 |
winmanager.showWindow(composer, uimanager.getTranslation("Scripting_Composer"), WindowManager.MODE.WINDOW); |
|
87 |
uiManager.setWindowManager(winmanager); |
|
87 | 88 |
} |
89 |
JScriptingComposer composer = uimanager.createComposer(); |
|
90 |
uiManager.showWindow(composer, uimanager.getTranslation("Scripting_Composer")); |
|
88 | 91 |
|
89 | 92 |
} else { |
90 | 93 |
ScriptingBaseScript script = uimanager.getManager().getScript(command); |
... | ... | |
111 | 114 |
|
112 | 115 |
File home = this.getPlugin().getPluginHomeFolder(); |
113 | 116 |
manager.setHomeFolder(home); |
114 |
File home_1_0 = new File(home.getParentFile(),"org.gvsig.scripting.app.extension"); |
|
115 |
File home_scripts_1_0 = new File(home_1_0,"scripts"); |
|
117 |
File home_1_0 = new File(home.getParentFile(), "org.gvsig.scripting.app.extension");
|
|
118 |
File home_scripts_1_0 = new File(home_1_0, "scripts");
|
|
116 | 119 |
manager.addAlternativeUserFolder(home_scripts_1_0, "Usuario (1.0)", "Scripts de usuario (1.0)"); |
117 | 120 |
|
118 |
List<File> pluginsFolders = new ArrayList<File>();
|
|
121 |
List<File> pluginsFolders = new ArrayList<>(); |
|
119 | 122 |
for (File f : pluginManager.getPluginsFolders()) { |
120 | 123 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
121 | 124 |
} |
... | ... | |
131 | 134 |
} |
132 | 135 |
} |
133 | 136 |
pluginManager.addStartupTask( |
134 |
"ExecuteAutorunScripts",
|
|
137 |
"ExecuteAutorunScripts", |
|
135 | 138 |
new ExecuteAutorunScriptsOnStartup(), |
136 |
true,
|
|
139 |
true, |
|
137 | 140 |
600 |
138 | 141 |
); |
139 | 142 |
|
140 |
/* |
|
141 |
* |
|
142 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
|
143 |
providerManager.addProviderFactory(new ScriptingInstallerProviderFactory()); |
|
144 |
*/ |
|
143 |
manager.setPackagesFolder(pluginManager.getInstallFolder()); |
|
144 |
|
|
145 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
|
146 |
ProviderFactory factory = manager.getInstallerFactory(); |
|
147 |
providerManager.addProviderFactory(factory); |
|
148 |
|
|
149 |
InstallerManager installerManager = InstallerLocator.getInstallerManager(); |
|
150 |
installerManager.setDefaultLocalAddonRepository( |
|
151 |
manager.getRootUserFolder(), |
|
152 |
factory.getName() |
|
153 |
); |
|
145 | 154 |
} |
146 | 155 |
|
147 | 156 |
public boolean isEnabled() { |
... | ... | |
151 | 160 |
public boolean isVisible() { |
152 | 161 |
return true; |
153 | 162 |
} |
163 |
|
|
154 | 164 |
private static class ExecuteAutorunScriptsOnStartup implements Runnable { |
155 | 165 |
|
156 | 166 |
public void run() { |
... | ... | |
158 | 168 |
th.start(); |
159 | 169 |
} |
160 | 170 |
} |
161 |
|
|
171 |
|
|
162 | 172 |
private static class ExecuteAutorunScripts implements Runnable { |
163 | 173 |
|
164 | 174 |
public void run() { |
... | ... | |
168 | 178 |
try { |
169 | 179 |
ScriptingHelpManager helpmanager = manager.getHelpManager(); |
170 | 180 |
PluginServices plugin = pluginManager.getPlugin(this); |
171 |
File scriptingfolder = new File(plugin.getPluginDirectory(),"scripting"); |
|
172 |
File helpfolder = new File(scriptingfolder,"help"); |
|
173 |
for (File folder : helpfolder.listFiles() ) {
|
|
181 |
File scriptingfolder = new File(plugin.getPluginDirectory(), "scripting");
|
|
182 |
File helpfolder = new File(scriptingfolder, "help");
|
|
183 |
for (File folder : helpfolder.listFiles()) { |
|
174 | 184 |
File helpindex = new File(folder, "IdeHelpIndex.xml"); |
175 | 185 |
try { |
176 | 186 |
helpmanager.addMethods(helpindex.toURI().toURL()); |
177 |
} catch(Exception e) { |
|
178 |
logger.info("Can't add metothods from '"+helpindex.getAbsolutePath()+"'.",e);
|
|
187 |
} catch (Exception e) {
|
|
188 |
logger.info("Can't add metothods from '" + helpindex.getAbsolutePath() + "'.", e);
|
|
179 | 189 |
} |
180 | 190 |
} |
181 |
} catch(Exception e) { |
|
182 |
logger.info("Can't add metothods.",e);
|
|
191 |
} catch (Exception e) {
|
|
192 |
logger.info("Can't add metothods.", e);
|
|
183 | 193 |
} |
184 |
|
|
194 |
|
|
185 | 195 |
List<File> pluginsFolders = new ArrayList<File>(); |
186 | 196 |
for (File f : pluginManager.getPluginsFolders()) { |
187 | 197 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
... | ... | |
192 | 202 |
for (File pluginFolder : pluginsFolders) { |
193 | 203 |
autorun_file = new File(pluginFolder, "scripting/scripts/autorun.inf"); |
194 | 204 |
if (autorun_file.exists()) { |
195 |
logger.info("running autorun script '"+autorun_file.getAbsolutePath()+"'.");
|
|
205 |
logger.info("running autorun script '" + autorun_file.getAbsolutePath() + "'.");
|
|
196 | 206 |
autorun = manager.getScript(autorun_file); |
197 | 207 |
try { |
198 | 208 |
autorun.run(); |
... | ... | |
206 | 216 |
@Override |
207 | 217 |
public FileVisitResult visitFile(Path path, BasicFileAttributes bfa) throws IOException { |
208 | 218 |
File file = path.toFile(); |
209 |
if( "autorun.inf".equalsIgnoreCase(file.getName()) ) {
|
|
219 |
if ("autorun.inf".equalsIgnoreCase(file.getName())) {
|
|
210 | 220 |
if (file.exists()) { |
211 |
logger.info("running autorun script '"+file.getAbsolutePath()+"'.");
|
|
221 |
logger.info("running autorun script '" + file.getAbsolutePath() + "'.");
|
|
212 | 222 |
ScriptingBaseScript autorun = manager.getScript(file); |
213 | 223 |
try { |
214 | 224 |
autorun.run(); |
Also available in: Unified diff