Revision 542 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 | ||
---|---|---|
60 | 60 |
import org.slf4j.Logger; |
61 | 61 |
import org.slf4j.LoggerFactory; |
62 | 62 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
63 |
import org.gvsig.tools.ToolsLocator; |
|
64 |
import org.gvsig.tools.i18n.I18nManager; |
|
63 | 65 |
|
64 |
|
|
65 | 66 |
public class ScriptingExtension extends Extension { |
66 | 67 |
|
67 | 68 |
private static final Logger logger = LoggerFactory.getLogger(ScriptingExtension.class); |
... | ... | |
138 | 139 |
manager.setHomeFolder(home); |
139 | 140 |
|
140 | 141 |
this.addLinkToPreviousVersion(manager); |
141 |
|
|
142 |
|
|
142 | 143 |
List<File> pluginsFolders = new ArrayList<>(); |
143 | 144 |
for (File f : pluginManager.getPluginsFolders()) { |
144 | 145 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
... | ... | |
168 | 169 |
try { |
169 | 170 |
FileUtils.forceMkdir(localAddonRepositoryFolder); |
170 | 171 |
} catch (IOException ex) { |
171 |
logger.info("Can't create addons folder in '"+localAddonRepositoryFolder.getAbsolutePath()+"'.",ex);
|
|
172 |
logger.info("Can't create addons folder in '" + localAddonRepositoryFolder.getAbsolutePath() + "'.", ex);
|
|
172 | 173 |
} |
173 | 174 |
} |
174 | 175 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
... | ... | |
212 | 213 |
@Override |
213 | 214 |
public void run() { |
214 | 215 |
final ScriptingManager manager = ScriptingLocator.getManager(); |
215 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
216 |
final PluginsManager pluginManager = PluginsLocator.getManager(); |
|
217 |
final ApplicationManager application = ApplicationLocator.getManager(); |
|
218 |
final I18nManager i18nManager = ToolsLocator.getI18nManager(); |
|
216 | 219 |
|
217 | 220 |
// try { |
218 | 221 |
// ScriptingHelpManager helpmanager = manager.getHelpManager(); |
... | ... | |
232 | 235 |
// } catch (Exception e) { |
233 | 236 |
// logger.info("Can't add metothods.", e); |
234 | 237 |
// } |
238 |
try { |
|
239 |
List<File> pluginsFolders = new ArrayList<>(); |
|
240 |
for (File f : pluginManager.getPluginsFolders()) { |
|
241 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
|
242 |
} |
|
235 | 243 |
|
236 |
List<File> pluginsFolders = new ArrayList<>(); |
|
237 |
for (File f : pluginManager.getPluginsFolders()) { |
|
238 |
pluginsFolders.addAll(Arrays.asList(f.listFiles())); |
|
239 |
} |
|
240 |
|
|
241 |
File autorun_file = null; |
|
242 |
ScriptingBaseScript autorun; |
|
243 |
for (File pluginFolder : pluginsFolders) { |
|
244 |
autorun_file = new File(pluginFolder, "scripting/scripts/autorun.inf"); |
|
245 |
if (autorun_file.exists()) { |
|
246 |
logger.info("running autorun script '" + autorun_file.getAbsolutePath() + "'."); |
|
247 |
autorun = manager.getScript(autorun_file); |
|
248 |
try { |
|
249 |
autorun.run(); |
|
250 |
} catch (Exception ex) { |
|
251 |
logger.warn("Can't execute autorun from '" + autorun_file.getAbsolutePath() + "'.", ex); |
|
244 |
File autorun_file = null; |
|
245 |
ScriptingBaseScript autorun; |
|
246 |
application.message( |
|
247 |
i18nManager.getTranslation("_Searching_autorun_scripts_Xhorizontal_ellipsisX"), |
|
248 |
JOptionPane.INFORMATION_MESSAGE |
|
249 |
); |
|
250 |
for (File pluginFolder : pluginsFolders) { |
|
251 |
autorun_file = new File(pluginFolder, "scripting/scripts/autorun.inf"); |
|
252 |
if (autorun_file.exists()) { |
|
253 |
logger.info("running autorun script '" + autorun_file.getAbsolutePath() + "'."); |
|
254 |
autorun = manager.getScript(autorun_file); |
|
255 |
try { |
|
256 |
application.message( |
|
257 |
i18nManager.getTranslation( |
|
258 |
"_Running_autorun_script_from_XnameX", |
|
259 |
new String[]{autorun.getFile().getParentFile().getName()} |
|
260 |
), |
|
261 |
JOptionPane.INFORMATION_MESSAGE |
|
262 |
); |
|
263 |
} catch (Exception ex) { |
|
264 |
// Ignore it |
|
265 |
} |
|
266 |
try { |
|
267 |
autorun.run(); |
|
268 |
} catch (Exception ex) { |
|
269 |
logger.warn("Can't execute autorun from '" + autorun_file.getAbsolutePath() + "'.", ex); |
|
270 |
} |
|
252 | 271 |
} |
253 | 272 |
} |
254 |
} |
|
255 | 273 |
|
256 |
SimpleFileVisitor<Path> visitor = new SimpleFileVisitor<Path>() { |
|
257 |
@Override |
|
258 |
public FileVisitResult visitFile(Path path, BasicFileAttributes bfa) throws IOException { |
|
259 |
File file = path.toFile(); |
|
260 |
if ("autorun.inf".equalsIgnoreCase(file.getName())) { |
|
261 |
if (file.exists()) { |
|
262 |
logger.info("running autorun script '" + file.getAbsolutePath() + "'."); |
|
263 |
ScriptingBaseScript autorun = manager.getScript(file); |
|
264 |
try { |
|
265 |
autorun.run(); |
|
266 |
} catch (Exception ex) { |
|
267 |
logger.warn("Can't execute autorun from '" + file.getAbsolutePath() + "'.", ex); |
|
274 |
SimpleFileVisitor<Path> visitor = new SimpleFileVisitor<Path>() { |
|
275 |
@Override |
|
276 |
public FileVisitResult visitFile(Path path, BasicFileAttributes bfa) throws IOException { |
|
277 |
File file = path.toFile(); |
|
278 |
if ("autorun.inf".equalsIgnoreCase(file.getName())) { |
|
279 |
if (file.exists()) { |
|
280 |
logger.info("running autorun script '" + file.getAbsolutePath() + "'."); |
|
281 |
ScriptingBaseScript autorun = manager.getScript(file); |
|
282 |
try { |
|
283 |
application.message( |
|
284 |
i18nManager.getTranslation( |
|
285 |
"_Running_autorun_script_from_XnameX", |
|
286 |
new String[]{autorun.getFile().getParentFile().getName()} |
|
287 |
), |
|
288 |
JOptionPane.INFORMATION_MESSAGE |
|
289 |
); |
|
290 |
} catch (Exception ex) { |
|
291 |
// Ignore |
|
292 |
} |
|
293 |
try { |
|
294 |
autorun.run(); |
|
295 |
} catch (Exception ex) { |
|
296 |
logger.warn("Can't execute autorun from '" + file.getAbsolutePath() + "'.", ex); |
|
297 |
} |
|
268 | 298 |
} |
269 | 299 |
} |
300 |
return FileVisitResult.CONTINUE; |
|
270 | 301 |
} |
271 |
return FileVisitResult.CONTINUE; |
|
302 |
}; |
|
303 |
try { |
|
304 |
Files.walkFileTree(Paths.get(manager.getRootUserFolder().toURI()), visitor); |
|
305 |
List<ScriptingFolder> folders = manager.getAlternativeUserFolders(); |
|
306 |
for (ScriptingFolder folder : folders) { |
|
307 |
Files.walkFileTree(Paths.get(folder.getFile().toURI()), visitor); |
|
308 |
} |
|
309 |
} catch (Exception ex) { |
|
310 |
logger.warn("Can't execute autoruns in home.", ex); |
|
272 | 311 |
} |
273 |
}; |
|
274 |
try { |
|
275 |
Files.walkFileTree(Paths.get(manager.getRootUserFolder().toURI()), visitor); |
|
276 |
List<ScriptingFolder> folders = manager.getAlternativeUserFolders(); |
|
277 |
for (ScriptingFolder folder : folders) { |
|
278 |
Files.walkFileTree(Paths.get(folder.getFile().toURI()), visitor); |
|
279 |
} |
|
280 |
} catch (Exception ex) { |
|
281 |
logger.warn("Can't execute autoruns in home.", ex); |
|
312 |
} finally { |
|
313 |
logger.info("Running autorun scripts terminated."); |
|
314 |
application.message("", JOptionPane.INFORMATION_MESSAGE); |
|
282 | 315 |
} |
283 |
logger.info("Running autorun scripts terminated."); |
|
284 |
|
|
285 | 316 |
} |
286 | 317 |
|
287 | 318 |
} |
Also available in: Unified diff