Revision 258

View differences:

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