Author: chatellier Date: 2009-10-27 11:01:27 +0000 (Tue, 27 Oct 2009) New Revision: 2699 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java Log: Simplify h2 config. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-10-27 11:01:04 UTC (rev 2698) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-10-27 11:01:27 UTC (rev 2699) @@ -100,8 +100,7 @@ * de la base */ protected File getDataBackupFile() { - File result; - result = new File(getDirectory(), DATA_BACKUP_FILENAME); + File result = new File(getDirectory(), DATA_BACKUP_FILENAME); return result; } @@ -115,24 +114,21 @@ protected void prepare() { try { File file = getDataBackupFile(); - if (file != null) { - TopiaContext tx = getStorage().beginTransaction(); - tx.backup(file, true); - tx.closeContext(); - } + + TopiaContext tx = getStorage().beginTransaction(); + tx.backup(file, true); + tx.closeContext(); } catch (TopiaException eee) { throw new IsisFishRuntimeException(_("isisfish.error.prepare.data"), eee); } } /* - * (non-Javadoc) - * - * @see fr.ifremer.isisfish.datastore.VersionStorage#isVersionnableAbleFile(java.io.File) + * @see fr.ifremer.isisfish.datastore.VersionStorage#isVersionnableFile(java.io.File) */ @Override - protected boolean isVersionnableAbleFile(File file) { - boolean result = super.isVersionnableAbleFile(file); + protected boolean isVersionnableFile(File file) { + boolean result = super.isVersionnableFile(file); if (result) { result = !file.equals(getStorageDirectory()); } @@ -210,7 +206,7 @@ try { // creation des proprietes pour creer le TopiaContext Properties config = new Properties(); - IsisH2Config.addDatabaseConfig(config, getDirectory(), false); + IsisH2Config.addDatabaseConfig(config, getDirectory()); IsisH2Config.addHibernateMapping(config); // instanciation du TopiaContext @@ -287,7 +283,7 @@ // load data // creation des proprietes pour creer le TopiaContext Properties config = new Properties(); - IsisH2Config.addDatabaseConfig(config, rootDirDest, false); + IsisH2Config.addDatabaseConfig(config, rootDirDest); IsisH2Config.addHibernateMapping(config); // instanciation du TopiaContext Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-10-27 11:01:04 UTC (rev 2698) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-10-27 11:01:27 UTC (rev 2699) @@ -41,15 +41,9 @@ */ public class IsisH2Config { - /** Set in static field to be overriden by tests. Default to swing callback. */ + /** Set in static field to be overridden by tests. Default to swing callback. */ protected static Class<?> databaseMigrationClass = SwingMigrationCallbackHandler.class; - /*static { - // http://www.h2database.com/javadoc/org/h2/constant/SysProperties.html#h2.lobF... - // Force lob storage in database instead of filesystem - System.setProperty("h2.lobFilesInDirectories", "false"); - }*/ - protected static final String COMMON_URL = // on peut aussi utiliser mysql ou postgresql "MODE=hsqldb;" + @@ -86,15 +80,6 @@ "LOG=1;" + COMMON_URL; - /** - * H2 recover URL. - * - * Include 'recover=1' parameter. - */ - protected final static String H2_RECOVER_URL = - H2_URL + - ";recover=1"; - protected static final String H2_MEM_URL = "jdbc:h2:mem:%s;" + "LOG=0;" + @@ -142,10 +127,9 @@ * * @param config l'objet properties dans lequel il faut ajouter les informations * @param directory le repertoire dans lequel la base de données doit se trouver - * @param tryRecover only used with H2 database engine, add recover parameter when db is detected as corrumpted * @return l'objet config passe en parametre */ - public static Properties addDatabaseConfig(Properties config, File directory, boolean tryRecover) { + public static Properties addDatabaseConfig(Properties config, File directory) { File databasePath = getStorageDataDirectory(directory); databasePath.mkdirs(); @@ -153,13 +137,7 @@ addMemDatabaseConfig(config, ""); // pour h2 on remet STORAGE_DATA car il ne cree pas de repertoire - String url; - if (tryRecover) { - url = String.format(H2_RECOVER_URL, getStorageDataDirectory(databasePath).getPath(), IsisFish.config.getDatabaseLockMode()); - } - else { - url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath(), IsisFish.config.getDatabaseLockMode()); - } + String url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath(), IsisFish.config.getDatabaseLockMode()); config.setProperty(Environment.URL, url); // migration configuration, seulement pour les fichiers, pas pour les bases memoires @@ -172,7 +150,6 @@ return config; } - /** * Permet d'ajouter les differents mapping hibernate spécifique à l'application. *