r3668 - trunk/src/main/java/fr/ifremer/isisfish/datastore
Author: echatellier Date: 2012-03-30 15:18:49 +0200 (Fri, 30 Mar 2012) New Revision: 3668 Url: http://forge.codelutin.com/repositories/revision/isis-fish/3668 Log: Fix official/comm database location : simulation database was not used anymore (context) Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2012-03-20 09:52:07 UTC (rev 3667) +++ trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2012-03-30 13:18:49 UTC (rev 3668) @@ -61,12 +61,17 @@ * Location enum to look for script in official repository or * community directory. * + * Il y a un gros méchant hack qui tache car on ne peut pas initialiser + * un repertoire en particulier pour OFFICIAL. Certaines fois, cela + * depend du context de simulation, donc on ne la définie que lors de + * l'appel a getDirectories(). + * * Implements iterable to be used in JavaFileManager. */ - public static enum Location implements Iterable<File> { + public static enum Location { OFFICIAL(IsisFish.config.getDatabaseDirectory()), COMMUNITY(IsisFish.config.getCommunityDatabaseDirectory()), - ALL(IsisFish.config.getDatabaseDirectory(), IsisFish.config.getCommunityDatabaseDirectory()); + ALL(null, IsisFish.config.getCommunityDatabaseDirectory()); protected File[] directory; private Location(File... directory) { @@ -74,21 +79,20 @@ } public File[] getDirectories() { - return directory; + File[] result = new File[this.directory.length]; + for (int i = 0 ; i < result.length ; i++) { + if (directory[i] == null) { + result[i] = IsisFish.config.getContextDatabaseDirectory(); + } else { + result[i] = directory[i]; + } + } + return result; } public void setDirectory(File... directory) { this.directory = directory; } - - /* - * @see java.lang.Iterable#iterator() - */ - @Override - public Iterator<File> iterator() { - List<File> files = Arrays.asList(directory); - return files.iterator(); - } } /**
participants (1)
-
echatellier@users.forge.codelutin.com