Revision 414
org.gvsig.scripting.app/trunk/org.gvsig.scripting.app/org.gvsig.scripting.app.extension/src/main/java/org/gvsig/scripting/app/extension/installer/ScriptingInstallerProviderFactory.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
package org.gvsig.scripting.app.extension.installer; |
|
24 |
|
|
25 |
import org.gvsig.scripting.ScriptingManager; |
|
26 |
import org.gvsig.tools.ToolsLocator; |
|
27 |
import org.gvsig.tools.dynobject.DynClass; |
|
28 |
import org.gvsig.tools.dynobject.DynObject; |
|
29 |
import org.gvsig.tools.dynobject.DynObjectManager; |
|
30 |
import org.gvsig.tools.service.spi.AbstractProviderFactory; |
|
31 |
import org.gvsig.tools.service.spi.Provider; |
|
32 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
33 |
|
|
34 |
public class ScriptingInstallerProviderFactory extends |
|
35 |
AbstractProviderFactory { |
|
36 |
|
|
37 |
private DynClass parametersDefinition = null; |
|
38 |
|
|
39 |
protected DynClass createParametersDynClass() { |
|
40 |
if (parametersDefinition == null) { |
|
41 |
initialize(); |
|
42 |
} |
|
43 |
return parametersDefinition; |
|
44 |
} |
|
45 |
|
|
46 |
protected Provider doCreate(DynObject parameters, ProviderServices services) { |
|
47 |
return new ScriptingInstallerProvider(services); |
|
48 |
} |
|
49 |
|
|
50 |
public void initialize() { |
|
51 |
if (parametersDefinition == null) { |
|
52 |
DynObjectManager dynObjectManager = |
|
53 |
ToolsLocator.getDynObjectManager(); |
|
54 |
parametersDefinition = |
|
55 |
dynObjectManager.createDynClass(ScriptingManager.INSTALLER_PROVIDER_NAME, |
|
56 |
ScriptingManager.INSTALLER_PROVIDER_DESCRIPTION); |
|
57 |
dynObjectManager.add(parametersDefinition); |
|
58 |
} |
|
59 |
} |
|
60 |
|
|
61 |
} |
|
0 | 62 |
org.gvsig.scripting.app/trunk/org.gvsig.scripting.app/org.gvsig.scripting.app.extension/src/main/java/org/gvsig/scripting/app/extension/installer/ScriptingInstallerProvider.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
package org.gvsig.scripting.app.extension.installer; |
|
24 |
|
|
25 |
import java.io.File; |
|
26 |
import java.io.IOException; |
|
27 |
import java.io.InputStream; |
|
28 |
|
|
29 |
import org.gvsig.installer.lib.api.PackageInfo; |
|
30 |
import org.gvsig.installer.lib.api.execution.InstallPackageServiceException; |
|
31 |
import org.gvsig.installer.lib.spi.InstallPackageProviderServices; |
|
32 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
33 |
import org.gvsig.installer.lib.spi.InstallerProviderManager; |
|
34 |
import org.gvsig.installer.lib.spi.execution.InstallPackageProvider; |
|
35 |
import org.gvsig.scripting.ScriptingLocator; |
|
36 |
import org.gvsig.scripting.ScriptingManager; |
|
37 |
import org.gvsig.tools.service.spi.AbstractProvider; |
|
38 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
39 |
|
|
40 |
public class ScriptingInstallerProvider extends AbstractProvider |
|
41 |
implements InstallPackageProvider { |
|
42 |
|
|
43 |
public ScriptingInstallerProvider(ProviderServices providerServices) { |
|
44 |
super(providerServices); |
|
45 |
} |
|
46 |
|
|
47 |
public void install(File applicationDirectory, InputStream inputStream, |
|
48 |
PackageInfo packageInfo) throws InstallPackageServiceException { |
|
49 |
|
|
50 |
ScriptingManager scriptingManager = ScriptingLocator.getManager(); |
|
51 |
|
|
52 |
File target = scriptingManager.getRootUserFolder(); |
|
53 |
|
|
54 |
try { |
|
55 |
InstallerProviderManager installerProviderManager = |
|
56 |
InstallerProviderLocator.getProviderManager(); |
|
57 |
InstallPackageProviderServices installerProviderServices = |
|
58 |
installerProviderManager.createInstallerProviderServices(); |
|
59 |
|
|
60 |
installerProviderServices.decompress(inputStream, target); |
|
61 |
|
|
62 |
} catch (Exception e) { |
|
63 |
throw new InstallPackageServiceException(e); |
|
64 |
} |
|
65 |
} |
|
66 |
|
|
67 |
public void installLater(File applicationDirectory, |
|
68 |
InputStream inputStream, PackageInfo packageInfo) |
|
69 |
throws InstallPackageServiceException, IOException { |
|
70 |
// TODO Auto-generated method stub |
|
71 |
|
|
72 |
} |
|
73 |
} |
|
0 | 74 |
org.gvsig.scripting.app/trunk/org.gvsig.scripting.app/org.gvsig.scripting.app.extension/src/main/java/org/gvsig/scripting/app/extension/ScriptingExtension.java | ||
---|---|---|
32 | 32 |
import org.gvsig.andami.plugins.Extension; |
33 | 33 |
import org.gvsig.app.ApplicationLocator; |
34 | 34 |
import org.gvsig.app.ApplicationManager; |
35 |
import org.gvsig.installer.lib.spi.InstallerProviderLocator; |
|
35 | 36 |
import org.gvsig.scripting.ScriptingBaseScript; |
36 | 37 |
import org.gvsig.scripting.ScriptingLocator; |
37 | 38 |
import org.gvsig.scripting.ScriptingManager; |
39 |
import org.gvsig.scripting.app.extension.installer.ScriptingInstallerProviderFactory; |
|
38 | 40 |
import org.gvsig.scripting.swing.api.JScriptingComposer; |
39 | 41 |
import org.gvsig.scripting.swing.api.ScriptingSwingLocator; |
40 | 42 |
import org.gvsig.scripting.swing.api.ScriptingUIManager; |
41 | 43 |
import org.gvsig.tools.dynobject.DynObject; |
44 |
import org.gvsig.tools.service.spi.ProviderManager; |
|
42 | 45 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
43 | 46 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
44 | 47 |
import org.gvsig.tools.swing.impl.windowmanager.DefaultWindowManager; |
... | ... | |
86 | 89 |
|
87 | 90 |
} |
88 | 91 |
|
89 |
|
|
90 |
|
|
91 | 92 |
public void postInitialize() { |
92 | 93 |
super.postInitialize(); |
93 | 94 |
ScriptingManager manager = ScriptingLocator.getManager(); |
... | ... | |
107 | 108 |
manager.addLibFolder(libFolder); |
108 | 109 |
} |
109 | 110 |
} |
111 |
|
|
112 |
ProviderManager providerManager = InstallerProviderLocator.getProviderManager(); |
|
113 |
providerManager.addProviderFactory(new ScriptingInstallerProviderFactory()); |
|
110 | 114 |
} |
111 | 115 |
|
112 | 116 |
public boolean isEnabled() { |
Also available in: Unified diff