Revision 478 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 | ||
---|---|---|
32 | 32 |
import java.util.ArrayList; |
33 | 33 |
import java.util.Arrays; |
34 | 34 |
import java.util.List; |
35 |
import java.util.logging.Level; |
|
36 | 35 |
|
37 | 36 |
import javax.swing.JOptionPane; |
38 | 37 |
import org.apache.commons.io.FileUtils; |
39 | 38 |
|
40 | 39 |
import org.gvsig.andami.IconThemeHelper; |
41 |
import org.gvsig.andami.PluginServices; |
|
42 | 40 |
import org.gvsig.andami.PluginsLocator; |
43 | 41 |
import org.gvsig.andami.PluginsManager; |
44 | 42 |
import org.gvsig.andami.plugins.Extension; |
... | ... | |
46 | 44 |
import org.gvsig.app.ApplicationManager; |
47 | 45 |
import org.gvsig.installer.lib.api.InstallerLocator; |
48 | 46 |
import org.gvsig.installer.lib.api.InstallerManager; |
49 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
50 | 47 |
import org.gvsig.scripting.ScriptingBaseScript; |
51 | 48 |
import org.gvsig.scripting.ScriptingFolder; |
52 |
import org.gvsig.scripting.ScriptingHelpManager; |
|
53 | 49 |
import org.gvsig.scripting.ScriptingLocator; |
54 | 50 |
import org.gvsig.scripting.ScriptingManager; |
55 | 51 |
import org.gvsig.scripting.swing.api.JScriptingComposer; |
... | ... | |
63 | 59 |
import org.gvsig.tools.swing.impl.windowmanager.DefaultWindowManager; |
64 | 60 |
import org.slf4j.Logger; |
65 | 61 |
import org.slf4j.LoggerFactory; |
62 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
66 | 63 |
|
64 |
|
|
67 | 65 |
public class ScriptingExtension extends Extension { |
68 | 66 |
|
69 | 67 |
private static final Logger logger = LoggerFactory.getLogger(ScriptingExtension.class); |
70 | 68 |
|
69 |
@Override |
|
71 | 70 |
public void execute(String actionCommand) { |
72 | 71 |
this.execute(actionCommand, null); |
73 | 72 |
} |
... | ... | |
84 | 83 |
DynObject preferences = this.getPlugin().getPluginProperties(); |
85 | 84 |
Boolean composerUseHisWindowManager = (Boolean) preferences.getDynValue("ComposerUseHisWindowManager"); |
86 | 85 |
ScriptingUIManager uiManager = ScriptingSwingLocator.getUIManager(); |
87 |
if (composerUseHisWindowManager.booleanValue()) {
|
|
86 |
if (composerUseHisWindowManager) { |
|
88 | 87 |
winmanager = new DefaultWindowManager(); |
89 | 88 |
uiManager.setWindowManager(winmanager); |
90 | 89 |
} |
... | ... | |
173 | 172 |
} |
174 | 173 |
} |
175 | 174 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
175 |
InstallerManager installerManager = InstallerLocator.getInstallerManager(); |
|
176 |
|
|
176 | 177 |
ProviderFactory factory = manager.getInstallerFactory(); |
177 | 178 |
providerManager.addProviderFactory(factory); |
178 |
|
|
179 |
InstallerManager installerManager = InstallerLocator.getInstallerManager(); |
|
180 | 179 |
installerManager.setDefaultLocalAddonRepository( |
181 | 180 |
localAddonRepositoryFolder, |
182 | 181 |
factory.getName() |
183 | 182 |
); |
183 |
factory = manager.getHelpInstallerFactory(); |
|
184 |
providerManager.addProviderFactory(factory); |
|
185 |
installerManager.setDefaultLocalAddonRepository( |
|
186 |
manager.getHelpManager().getHelpRoots().get(0), |
|
187 |
factory.getName() |
|
188 |
); |
|
184 | 189 |
} |
185 | 190 |
|
191 |
@Override |
|
186 | 192 |
public boolean isEnabled() { |
187 | 193 |
return true; |
188 | 194 |
} |
189 | 195 |
|
196 |
@Override |
|
190 | 197 |
public boolean isVisible() { |
191 | 198 |
return true; |
192 | 199 |
} |
193 | 200 |
|
194 | 201 |
private static class ExecuteAutorunScriptsOnStartup implements Runnable { |
195 | 202 |
|
203 |
@Override |
|
196 | 204 |
public void run() { |
197 | 205 |
Thread th = new Thread(new ExecuteAutorunScripts()); |
198 | 206 |
th.start(); |
... | ... | |
201 | 209 |
|
202 | 210 |
private static class ExecuteAutorunScripts implements Runnable { |
203 | 211 |
|
212 |
@Override |
|
204 | 213 |
public void run() { |
205 | 214 |
final ScriptingManager manager = ScriptingLocator.getManager(); |
206 | 215 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
207 | 216 |
|
208 |
try { |
|
209 |
ScriptingHelpManager helpmanager = manager.getHelpManager(); |
|
210 |
PluginServices plugin = pluginManager.getPlugin(this); |
|
211 |
File scriptingfolder = new File(plugin.getPluginDirectory(), "scripting"); |
|
212 |
File helpfolder = new File(scriptingfolder, "help"); |
|
213 |
for (File folder : helpfolder.listFiles()) { |
|
214 |
File helpindex = new File(folder, "IdeHelpIndex.xml"); |
|
215 |
try { |
|
216 |
helpmanager.addMethods(helpindex.toURI().toURL()); |
|
217 |
} catch (Exception e) { |
|
218 |
logger.info("Can't add metothods from '" + helpindex.getAbsolutePath() + "'.", e); |
|
219 |
} |
|
220 |
} |
|
221 |
} catch (Exception e) { |
|
222 |
logger.info("Can't add metothods.", e); |
|
223 |
} |
|
217 |
// try { |
|
218 |
// ScriptingHelpManager helpmanager = manager.getHelpManager(); |
|
219 |
// PluginServices plugin = pluginManager.getPlugin(this); |
|
220 |
// File scriptingfolder = new File(plugin.getPluginDirectory(), "scripting"); |
|
221 |
// File helpfolder = new File(scriptingfolder, "help"); |
|
222 |
// for (File folder : helpfolder.listFiles()) { |
|
223 |
// File helpindex = new File(folder, "help-index.xml"); |
|
224 |
// try { |
|
225 |
// if( helpindex.exists() ) { |
|
226 |
// helpmanager.addMethods(helpindex.toURI().toURL()); |
|
227 |
// } |
|
228 |
// } catch (Exception e) { |
|
229 |
// logger.info("Can't add metothods from '" + helpindex.getAbsolutePath() + "'.", e); |
|
230 |
// } |
|
231 |
// } |
|
232 |
// } catch (Exception e) { |
|
233 |
// logger.info("Can't add metothods.", e); |
|
234 |
// } |
|
224 | 235 |
|
225 |
List<File> pluginsFolders = new ArrayList<File>();
|
|
236 |
List<File> pluginsFolders = new ArrayList<>(); |
|
226 | 237 |
for (File f : pluginManager.getPluginsFolders()) { |
227 | 238 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
228 | 239 |
} |
229 | 240 |
|
230 | 241 |
File autorun_file = null; |
231 |
ScriptingBaseScript autorun = null;
|
|
242 |
ScriptingBaseScript autorun; |
|
232 | 243 |
for (File pluginFolder : pluginsFolders) { |
233 | 244 |
autorun_file = new File(pluginFolder, "scripting/scripts/autorun.inf"); |
234 | 245 |
if (autorun_file.exists()) { |
Also available in: Unified diff