Revision 312

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/JCRSPluginLibrary.java
45 45
		CrsFactory.setEnableMemoryCacheOfCRS(
46 46
                        BooleanUtils.isTrue((Boolean) properties.getDynValue("useMemoryCacheForCRSs"))
47 47
                );
48
                CrsFactory.setDataBaseFolder(this.getDefaultDatabaseFolder(plugin, properties));
48
                CrsFactory.setEpsgDatabaseFile(this.getDefaultEPSGDatabaseFile(plugin, properties));
49 49

  
50 50
                EPSGDatabaseInstallerFactory.registerEPSGDatabaseInstaller();
51 51
	}
52 52

  
53
        private File getDefaultDatabaseFolder(PluginServices plugin, DynObject pluginProperties) {
53
        private File getDefaultEPSGDatabaseFile(PluginServices plugin, DynObject pluginProperties) {
54 54
            String fname = null;
55 55
            File dbfolder = null;
56 56
            try {
......
64 64
                    }
65 65
                }
66 66
                File folder = new File(dbfolder,"EPSG");
67
                List<File> subfolders = new ArrayList(FileUtils.listFilesAndDirs(
67
                List<File> subfolders = new ArrayList(FileUtils.listFiles(
68 68
                        folder,
69
                        FileFilterUtils.falseFileFilter(), 
70
                        FileFilterUtils.trueFileFilter()
69
                        new String[] { "sql" }, 
70
                        true
71 71
                ));
72
                if( subfolders.size()>1 ) {
73
                    f2 = subfolders.get(1); // 0 es EPSG
74
                    return FileUtils.getFile(dbfolder, "EPSG",f2.getName());
72
                if( subfolders.size()>0 ) {
73
                    // Asumimos que el primer script de SQL que encuentre es una
74
                    // de las BBDD a utilizar.
75
                    f2 = subfolders.get(0);
76
                    return f2;
75 77
                }
76 78
                logger.warn("Can't locate a EPSG database in folder '"+dbfolder+"' use '"+fname+"'.");
77 79
            } catch(Exception ex) {
78 80
                logger.warn("Can't locate a EPSG database in folder '"+dbfolder+"' use '"+fname+"'.", ex);
79 81
            }
80
            fname = "EPSG" + File.separator + "EPSG_v8_5";
82
            fname = "EPSG" + File.separator + "EPSG_v8_5" + File.separator + "EPSG.sql";
81 83
            return new File(fname);
82 84
        }
83 85
        

Also available in: Unified diff