gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / java / org / gvsig / scripting / app / extension / ScriptsInstallerInitializer.java @ 989
History | View | Annotate | Download (2.19 KB)
1 |
package org.gvsig.scripting.app.extension; |
---|---|
2 |
|
3 |
import java.io.File; |
4 |
import org.apache.commons.io.FileUtils; |
5 |
import org.gvsig.andami.PluginsLocator; |
6 |
import org.gvsig.andami.PluginsManager; |
7 |
import org.gvsig.installer.lib.api.InstallerLocator; |
8 |
import org.gvsig.installer.lib.api.InstallerManager; |
9 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
10 |
import org.gvsig.scripting.ScriptingLocator; |
11 |
import org.gvsig.scripting.ScriptingManager; |
12 |
import org.gvsig.tools.service.spi.ProviderFactory; |
13 |
import org.gvsig.tools.service.spi.ProviderManager; |
14 |
import org.gvsig.tools.util.Invocable; |
15 |
import org.slf4j.Logger; |
16 |
import org.slf4j.LoggerFactory; |
17 |
|
18 |
public class ScriptsInstallerInitializer implements Invocable { |
19 |
|
20 |
private static final Logger LOG = LoggerFactory.getLogger(ScriptsInstallerInitializer.class); |
21 |
|
22 |
@Override
|
23 |
public Object call(Object... args) { |
24 |
try {
|
25 |
String pluginName = (String) args[0]; |
26 |
|
27 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
28 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
29 |
ScriptingManager manager = ScriptingLocator.getManager(); |
30 |
InstallerManager installerManager = InstallerLocator.getInstallerManager(); |
31 |
|
32 |
String gvsigversion = pluginManager.getApplicationVersion().format("%M.%m.%r") ; |
33 |
File home = FileUtils.getFile(pluginManager.getPlugin(this).getPluginHomeFolder(), gvsigversion) ; |
34 |
|
35 |
manager.setHomeFolder(home); |
36 |
manager.setPackagesFolder(pluginManager.getInstallFolder()); |
37 |
|
38 |
File localAddonRepositoryFolder = new File(manager.getRootUserFolder(), "addons"); |
39 |
|
40 |
ProviderFactory factory = manager.getInstallerFactory(); |
41 |
providerManager.addProviderFactory(factory); |
42 |
|
43 |
installerManager.setDefaultLocalAddonRepository( |
44 |
localAddonRepositoryFolder, |
45 |
factory.getName() |
46 |
); |
47 |
|
48 |
return true; |
49 |
|
50 |
} catch (Exception ex) { |
51 |
LOG.warn("Problems initializing scripts installer.",ex);
|
52 |
return false; |
53 |
} |
54 |
} |
55 |
|
56 |
} |