Revision 258
org.gvsig.projection.jcrs/trunk/org.gvsig.projection.jcrs/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/installer/EPSGDatabaseInstaller.java | ||
---|---|---|
44 | 44 |
import org.gvsig.installer.lib.spi.InstallerInfoFileException; |
45 | 45 |
import org.gvsig.installer.lib.spi.execution.InstallPackageProvider; |
46 | 46 |
import org.gvsig.tools.ToolsLocator; |
47 |
import org.gvsig.tools.dynobject.DynObject; |
|
47 | 48 |
import org.gvsig.tools.service.spi.AbstractProvider; |
48 | 49 |
import org.gvsig.tools.service.spi.ProviderServices; |
49 | 50 |
import org.gvsig.tools.task.SimpleTaskStatus; |
... | ... | |
71 | 72 |
try { |
72 | 73 |
FileUtils.forceMkdir(epsgDatabaseFolder); |
73 | 74 |
decompress(inputStream, epsgDatabaseFolder); |
75 |
activateThisDataBase(packageInfo); |
|
74 | 76 |
} catch (Exception e) { |
75 | 77 |
try { |
76 | 78 |
logger.warn("Can install package '" + packageInfo.getCode() + "'.", e); |
... | ... | |
84 | 86 |
|
85 | 87 |
} |
86 | 88 |
|
89 |
private void activateThisDataBase(PackageInfo packageInfo) { |
|
90 |
String dbentry = "EPSG/" + packageInfo.getCode() + "/EPSG.sql"; |
|
91 |
File f = new File(CrsFactory.getDataBaseFolder(),dbentry); |
|
92 |
if( !f.exists() ) { |
|
93 |
logger.warn("Can't activate EPSG database, problems locating in '"+f.getAbsolutePath()+"'."); |
|
94 |
return; |
|
95 |
} |
|
96 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
97 |
PluginServices plugin = pluginManager.getPlugin(this); |
|
98 |
DynObject pluginProperties = plugin.getPluginProperties(); |
|
99 |
|
|
100 |
pluginProperties.setDynValue("epsgDatabase", dbentry); |
|
101 |
plugin.savePluginProperties(); |
|
102 |
} |
|
103 |
|
|
87 | 104 |
private void decompress(InputStream inputStream, File folder) |
88 | 105 |
throws ZipException, IOException, InstallerInfoFileException { |
89 | 106 |
|
Also available in: Unified diff