r391 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase echobase-entities/src/main/resources echobase-services/src/main/java/fr/ifremer/echobase/services/configurations echobase-services/src/main/resources/embedded echobase-services/src/test/java/fr/ifremer/echobase/services echobase-ui/src/main/resources
Author: tchemit Date: 2012-03-22 21:17:54 +0100 (Thu, 22 Mar 2012) New Revision: 391 Url: http://forge.codelutin.com/repositories/revision/echobase/391 Log: fixes #1014 : Am?\195?\169lioration de a cr?\195?\169ation de base embarqu?\195?\169e Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java trunk/echobase-entities/src/main/resources/topia-h2.properties trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java trunk/echobase-services/src/main/resources/embedded/echobase.properties trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java trunk/echobase-ui/src/main/resources/echobase.properties Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java 2012-03-22 20:17:54 UTC (rev 391) @@ -32,7 +32,6 @@ import org.nuiton.util.ArgumentsParserException; import org.nuiton.util.FileUtil; import org.nuiton.util.Version; -import org.nuiton.util.VersionUtil; import java.io.File; import java.io.IOException; @@ -86,6 +85,25 @@ } applicationConfig.parse(); + File dataDirectory = getDataDirectory(); + String dataDirectoryPath = dataDirectory.getAbsolutePath(); + if (log.isInfoEnabled()) { + log.info("Data directory = "+dataDirectoryPath); + } + if (dataDirectoryPath.endsWith(".")) { + dataDirectoryPath = dataDirectory.getParentFile().getAbsolutePath(); + if (log.isInfoEnabled()) { + log.info("Not absolute data directory " + dataDirectory + " will use " + dataDirectoryPath); + } + + // always use the absolue path (in cas of embedded db, + // we wants to have it. + applicationConfig.setOption( + EchoBaseConfigurationOption.DATA_DIRECTORY.key, + dataDirectoryPath + ); + } + } catch (ArgumentsParserException e) { throw new EchoBaseTechnicalException( "Could not parse configuration", e); @@ -94,7 +112,8 @@ createDirectory(EchoBaseConfigurationOption.DATA_DIRECTORY); if (log.isDebugEnabled()) { - log.debug("parsed options in config file" + applicationConfig.getOptions()); + log.debug("parsed options in config file" + + applicationConfig.getOptions()); } } @@ -109,51 +128,61 @@ } public File getDataDirectory() { - File file = applicationConfig.getOptionAsFile(EchoBaseConfigurationOption.DATA_DIRECTORY.key); + File file = applicationConfig.getOptionAsFile( + EchoBaseConfigurationOption.DATA_DIRECTORY.key); Preconditions.checkNotNull(file); return file; } public File getWarDirectory() { - File file = applicationConfig.getOptionAsFile(EchoBaseConfigurationOption.WAR_DIRECTORY.key); + File file = applicationConfig.getOptionAsFile( + EchoBaseConfigurationOption.WAR_DIRECTORY.key); Preconditions.checkNotNull(file); return file; } public File getWarLocation() { - File file = applicationConfig.getOptionAsFile(EchoBaseConfigurationOption.WAR_LOCATION.key); + File file = applicationConfig.getOptionAsFile( + EchoBaseConfigurationOption.WAR_LOCATION.key); Preconditions.checkNotNull(file); return file; } public char getCsvSeparator() { - char csvSeparator = applicationConfig.getOption(char.class, EchoBaseConfigurationOption.CSV_SEPARATOR.key); + char csvSeparator = applicationConfig.getOption( + char.class, EchoBaseConfigurationOption.CSV_SEPARATOR.key); Preconditions.checkNotNull(csvSeparator); return csvSeparator; } public Version getApplicationVersion() { -// String versionStr = -// applicationConfig.getOption(EchoBaseConfigurationOption.VERSION.key); -// String s = VersionUtil.removeSnapshot(versionStr); -// Version v = VersionUtil.valueOf(s); - Version v = applicationConfig.getOptionAsVersion(EchoBaseConfigurationOption.VERSION.key); + Version v = applicationConfig.getOptionAsVersion( + EchoBaseConfigurationOption.VERSION.key); Preconditions.checkNotNull(v); return v; } public URL getApplicationSite() { - URL url = applicationConfig.getOptionAsURL(EchoBaseConfigurationOption.SITE_URL.key); + URL url = applicationConfig.getOptionAsURL( + EchoBaseConfigurationOption.SITE_URL.key); Preconditions.checkNotNull(url); return url; } public Class<?> getDriverClass() { - Class<?> klass = applicationConfig.getOptionAsClass(TopiaContextFactory.CONFIG_DRIVER); + Class<?> klass = applicationConfig.getOptionAsClass( + TopiaContextFactory.CONFIG_DRIVER); Preconditions.checkNotNull(klass); return klass; } + public String getJdbcUrl() { + String jdbcUrl = applicationConfig.getOption( + TopiaContextFactory.CONFIG_URL); + Preconditions.checkNotNull(jdbcUrl); + return jdbcUrl; + } + public boolean isEmbedded() { Class<?> driverClass = getDriverClass(); return driverClass.getName().toLowerCase().contains("h2"); Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java 2012-03-22 20:17:54 UTC (rev 391) @@ -69,6 +69,7 @@ Preconditions.checkNotNull(input, "Could not find resource " + configPath); properties.load(input); + input.close(); } catch (IOException e) { throw new RuntimeException(e); } finally { @@ -102,6 +103,21 @@ public TopiaContext newDatabaseFromConfig(EchoBaseConfiguration config) { + +// String jdbcUrl = config.getJdbcUrl(); +// if (config.isEmbedded() && jdbcUrl.contains("{data.directory}")) { +// +// // make sure that datadirectory is a absolute path +// +// File dataDirectory = config.getDataDirectory(); +// if (log.isInfoEnabled()) { +// log.info("Will use data directory "); +// } +// properties.setProperty( +// EchoBaseConfigurationOption.DATA_DIRECTORY.getKey(), +// dataDirectory.getAbsolutePath()); +// } + Properties properties = config.getProperties(); return newDatabaseFromProperties(properties); @@ -112,10 +128,11 @@ if (log.isDebugEnabled()) { log.debug("Database settings are :"); Set<String> keysToDisplay = Sets.newHashSet( - "hibernate.dialect", - "hibernate.connection.driver_class", - "hibernate.connection.url", - "hibernate.connection.username"); + TopiaContextFactory.CONFIG_DRIVER, + TopiaContextFactory.CONFIG_DIALECT, + TopiaContextFactory.CONFIG_URL, + TopiaContextFactory.CONFIG_USER + ); for (String key : keysToDisplay) { log.debug(String.format("%s=%s", key, properties.getProperty(key))); } Modified: trunk/echobase-entities/src/main/resources/topia-h2.properties =================================================================== --- trunk/echobase-entities/src/main/resources/topia-h2.properties 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-entities/src/main/resources/topia-h2.properties 2012-03-22 20:17:54 UTC (rev 391) @@ -25,6 +25,7 @@ hibernate.show_sql=false hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.connection.driver_class=org.h2.Driver hibernate.connection.username=sa hibernate.connection.password=sa -hibernate.connection.driver_class=org.h2.Driver \ No newline at end of file +hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProvider Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java 2012-03-22 20:17:54 UTC (rev 391) @@ -82,7 +82,7 @@ return voyageIds; } - public void setVoyageIds(String... voyageIds) { + public void setVoyageIds(String[] voyageIds) { this.voyageIds = Arrays.copyOf(voyageIds, voyageIds.length); } Modified: trunk/echobase-services/src/main/resources/embedded/echobase.properties =================================================================== --- trunk/echobase-services/src/main/resources/embedded/echobase.properties 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-services/src/main/resources/embedded/echobase.properties 2012-03-22 20:17:54 UTC (rev 391) @@ -27,6 +27,8 @@ data.directory=. +war.directory=${data.directory} + hibernate.dialect=org.hibernate.dialect.H2Dialect hibernate.connection.username=sa hibernate.connection.password=sa Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java 2012-03-22 20:17:54 UTC (rev 391) @@ -41,7 +41,7 @@ protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext( - AbstractImportDataServiceIT.IMPORT_DATA_ECHOBASE_CATCHES_AND_ACOUSTIC_AND_VOYAGE_RESULT); + AbstractImportDataServiceIT.IMPORT_DATA_ECHOBASE_COMMON_DATA); } @Test Modified: trunk/echobase-ui/src/main/resources/echobase.properties =================================================================== --- trunk/echobase-ui/src/main/resources/echobase.properties 2012-03-22 18:11:04 UTC (rev 390) +++ trunk/echobase-ui/src/main/resources/echobase.properties 2012-03-22 20:17:54 UTC (rev 391) @@ -24,7 +24,6 @@ project.version=${project.version} project.site.url=${project.url} -topia.service.replication=org.nuiton.topia.replication.TopiaReplicationServiceImpl hibernate.hbm2ddl.auto=none hibernate.show_sql=false
participants (1)
-
tchemit@users.forge.codelutin.com