This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit 1df40b68b6166ddd6b45b10e67346d61ebba02a7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 16 19:28:02 2014 +0100 refs #6271 revue de la configuration et des fichiers à charger au démarrage + normalisation des noms de templates --- .../echobase/config/EchoBaseConfiguration.java | 4 +-- .../config/EchoBaseConfigurationOption.java | 42 +++++++++++----------- .../fr/ifremer/echobase/io/EchoBaseIOUtil.java | 7 ++-- .../services/service/spatial/GisService.java | 37 +++++++++++++------ ...late.qgs.cfg => EchoBaseLizmapTemplate.qgs.cfg} | 0 ...seQGisTemplate.qgs => EchoBaseQGisTemplate.qgs} | 4 +-- .../services/service/spatial/GisServiceTest.java | 10 ++++-- .../echobase/ui/EchoBaseApplicationContext.java | 15 ++++++++ 8 files changed, 79 insertions(+), 40 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java b/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java index c289920..0fb43ce 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java @@ -58,9 +58,9 @@ public class EchoBaseConfiguration { public static final String OPTION_AUTO_LOGIN = "autoLogin"; - public static final String QGIS_DEFAULT_TEMPLATE_NAME = "EchobaseQGisTemplate.qgs"; + public static final String QGIS_DEFAULT_TEMPLATE_NAME = "EchoBaseQGisTemplate.qgs"; - public static final String LIZMAP_DEFAULT_TEMPLATE_NAME = "LizmapTemplate.qgs.cfg"; + public static final String LIZMAP_DEFAULT_TEMPLATE_NAME = "EchoBaseLizmapTemplate.qgs.cfg"; /** Delegate application config object containing configuration. */ protected ApplicationConfig applicationConfig; diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java b/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java index 15f7020..86712b6 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java @@ -96,29 +96,29 @@ public enum EchoBaseConfigurationOption implements ConfigOptionDef { "${echobase.data.directory}/gis", File.class), GIS_TEMPLATES_DIRECTORY("echobase.gis.templates.directory", - n("echobase.config.gis.templates.directory.description"), - "${echobase.gis.directory}/templates", - File.class), + n("echobase.config.gis.templates.directory.description"), + "${echobase.gis.directory}/templates", + File.class), QGIS_TEMPLATE_FILE("echobase.qgis.template.file", - n("echobase.config.qgis.template.file.description"), - "${echobase.gis.templates.directory}/QgisTemplate.qgs", - File.class), + n("echobase.config.qgis.template.file.description"), + "${echobase.gis.templates.directory}/" + EchoBaseConfiguration.QGIS_DEFAULT_TEMPLATE_NAME, + File.class), QGIS_RESOURCES_DIRECTORY("echobase.qgis.resources.directory", - n("echobase.config.qgis.resources.directory.description"), - "${echobase.gis.directory}/resources/", - File.class), + n("echobase.config.qgis.resources.directory.description"), + "${echobase.gis.directory}/resources/", + File.class), LIZMAP_TEMPLATE_FILE("echobase.lizmap.template.file", - n("echobase.config.lizmap.template.file.description"), - "${echobase.gis.templates.directory}/LizmapTemplate.qgs.cfg", - File.class), + n("echobase.config.lizmap.template.file.description"), + "${echobase.gis.templates.directory}/" + EchoBaseConfiguration.LIZMAP_DEFAULT_TEMPLATE_NAME, + File.class), LIZMAP_PROJECTS_DIRECTORY("echobase.lizmap.projects.directory", - n("echobase.config.lizmap.projects.directory.description"), - "${echobase.gis.directory}/projects", - File.class), + n("echobase.config.lizmap.projects.directory.description"), + "${echobase.gis.directory}/projects", + File.class), LIZMAP_CONFIG_FILE("echobase.lizmap.config.file", - n("echobase.config.lizmap.config.file.description"), - "/var/www/lizmap-web-client-2.9.4/lizmap/var/config/lizmapConfig.ini.php", - File.class), + n("echobase.config.lizmap.config.file.description"), + "/var/www/lizmap-web-client-2.9.4/lizmap/var/config/lizmapConfig.ini.php", + File.class), LIZMAP_URL("echobase.lizmap.url", n("echobase.config.lizmap.url.description"), "http://localhost/lizmap-web-client-2.9.4/lizmap/www/index.php/view/", @@ -128,9 +128,9 @@ public enum EchoBaseConfigurationOption implements ConfigOptionDef { "jdbc:sqlite:/var/www/lizmap-web-client-2.9.4/lizmap/var/jauth.db", String.class), LIZMAP_REPOSITORY_NAME("echobase.lizmap.repositoryName", - n("echobase.lizmap.repositoryName.description"), - "echobase", - String.class); + n("echobase.lizmap.repositoryName.description"), + "echobase", + String.class); /** Configuration key. */ protected final String key; diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/io/EchoBaseIOUtil.java b/echobase-domain/src/main/java/fr/ifremer/echobase/io/EchoBaseIOUtil.java index d01c4b4..0202b0a 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/io/EchoBaseIOUtil.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/io/EchoBaseIOUtil.java @@ -260,9 +260,12 @@ public class EchoBaseIOUtil { InputStream inputStream = EchoBaseIOUtil.class.getResourceAsStream(resourcePath); Preconditions.checkNotNull(inputStream, "could not find resource " + resourcePath); + + forceMkdir(outputFile.getParentFile()); + try { - if (log.isInfoEnabled()) { - log.info("Copy configuration to " + resourcePath + " to " + outputFile); + if (log.isDebugEnabled()) { + log.debug("Copy file from classpath " + resourcePath + " to " + outputFile); } OutputStreamWriter outputStream = new OutputStreamWriter( new FileOutputStream(outputFile), Charsets.UTF_8); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/GisService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/GisService.java index 722fc10..12e5495 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/GisService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/GisService.java @@ -82,11 +82,16 @@ public class GisService extends EchoBaseServiceSupport { public static void copyQgisDefaultTemplateFileIfNecessary(EchoBaseConfiguration configuration) throws IOException { - if (!configuration.getQgisDefaultTemplateFile().exists()) { + File qgisDefaultTemplateFile = configuration.getQgisDefaultTemplateFile(); - File defaultTemplateFile = configuration.getQgisDefaultTemplateFile(); - String resourcePath = GisService.GIS_INTERNAL_PATH + defaultTemplateFile.getName(); - EchoBaseIOUtil.copyResource(resourcePath, defaultTemplateFile, false); + if (!qgisDefaultTemplateFile.exists()) { + + String resourcePath = GisService.GIS_INTERNAL_PATH + qgisDefaultTemplateFile.getName(); + EchoBaseIOUtil.copyResource(resourcePath, qgisDefaultTemplateFile, false); + + if (log.isInfoEnabled()) { + log.info("Copy qgis default template file to " + qgisDefaultTemplateFile); + } } @@ -94,11 +99,16 @@ public class GisService extends EchoBaseServiceSupport { public static void copyLizmapDefaultTemplateFileIfNecessary(EchoBaseConfiguration configuration) throws IOException { - if (!configuration.getLizmapTemplateFile().exists()) { + File lizmapTemplateFile = configuration.getLizmapDefaultTemplateFile(); + + if (!lizmapTemplateFile.exists()) { + + String resourcePath = GisService.GIS_INTERNAL_PATH + lizmapTemplateFile.getName(); + EchoBaseIOUtil.copyResource(resourcePath, lizmapTemplateFile, false); - File defaultTemplateFile = configuration.getLizmapDefaultTemplateFile(); - String resourcePath = GisService.GIS_INTERNAL_PATH + defaultTemplateFile.getName(); - EchoBaseIOUtil.copyResource(resourcePath, defaultTemplateFile, false); + if (log.isInfoEnabled()) { + log.info("Copy lizmap default template file to " + lizmapTemplateFile); + } } @@ -106,10 +116,17 @@ public class GisService extends EchoBaseServiceSupport { public static void copyQgisResourcesIfNecessary(EchoBaseConfiguration configuration) throws IOException { - if (!configuration.getQgisResourcesDirectory().exists()) { + File qgisResourcesDirectory = configuration.getQgisResourcesDirectory(); + + if (!qgisResourcesDirectory.exists()) { + URL resourcesUrl = GisService.class.getResource(QGIS_RESOURCES); File resources = new File(resourcesUrl.getFile()); - FileUtils.copyDirectory(resources, configuration.getQgisResourcesDirectory()); + FileUtils.copyDirectory(resources, qgisResourcesDirectory); + + if (log.isInfoEnabled()) { + log.info("Copy qgis resources to " + qgisResourcesDirectory); + } } } diff --git a/echobase-services/src/main/resources/gis/templates/LizmapTemplate.qgs.cfg b/echobase-services/src/main/resources/gis/templates/EchoBaseLizmapTemplate.qgs.cfg similarity index 100% rename from echobase-services/src/main/resources/gis/templates/LizmapTemplate.qgs.cfg rename to echobase-services/src/main/resources/gis/templates/EchoBaseLizmapTemplate.qgs.cfg diff --git a/echobase-services/src/main/resources/gis/templates/EchobaseQGisTemplate.qgs b/echobase-services/src/main/resources/gis/templates/EchoBaseQGisTemplate.qgs similarity index 99% rename from echobase-services/src/main/resources/gis/templates/EchobaseQGisTemplate.qgs rename to echobase-services/src/main/resources/gis/templates/EchoBaseQGisTemplate.qgs index 8b3620b..fd87eec 100644 --- a/echobase-services/src/main/resources/gis/templates/EchobaseQGisTemplate.qgs +++ b/echobase-services/src/main/resources/gis/templates/EchoBaseQGisTemplate.qgs @@ -76,9 +76,9 @@ <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="meanmapcellbiomasssardpil{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="meanmapcellbiomassmicrpou{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="meanmapcellbiomassscomsco{{voyageId}}"/> - <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="meanmapcellbiomassengrenc20141105112434476"/> + <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="meanmapcellbiomassengrenc{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="pelgas{{voyageId}}"/> - <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="cellmapview20141209102023696"/> + <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="cellmapview{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="country{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="Sardine_biomass{{voyageId}}"/> <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="Horse_mackerel_biomass{{voyageId}}"/> diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/spatial/GisServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/spatial/GisServiceTest.java index eca3206..63959b1 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/spatial/GisServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/spatial/GisServiceTest.java @@ -63,15 +63,19 @@ public class GisServiceTest extends EchoBaseTestServiceSupport { "echobase", "Secret!"); - File qgisTemplate = new File(getTestDir(), "myTemplate.qgs"); + File qgisTemplate = getConfiguration().getQgisTemplateFile(); - EchoBaseIOUtil.copyResource("/gis/templates/EchobaseQGisTemplate.qgs", qgisTemplate, false); + Assert.assertFalse(qgisTemplate.exists()); + + GisService.copyQgisDefaultTemplateFileIfNecessary(getConfiguration()); + + Assert.assertTrue(qgisTemplate.exists()); Voyage voyage = new VoyageImpl(); voyage.setName("PELGAS-2011"); voyage.setTopiaId("fr.ifremer.echobase.entities.data.Voyage#1418197326119#0.08901075127744962"); - File repository = new File(getTestDir(), "repository"); + File repository = getConfiguration().getLizmapProjectsDirectory(); EchoBaseIOUtil.forceMkdir(repository); diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java index bccda44..c58d1ff 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java @@ -437,6 +437,7 @@ public class EchoBaseApplicationContext { } protected void initGisFiles() { + try { GisService.copyQgisDefaultTemplateFileIfNecessary(configuration); @@ -449,5 +450,19 @@ public class EchoBaseApplicationContext { throw new EchoBaseTechnicalException("Could not create gis support files", e); } + // check templates files are found + + if (!configuration.getQgisTemplateFile().exists()) { + if (log.isWarnEnabled()) { + log.warn("disable gisSupport : Could not found Qgis template at: " + configuration.getQgisTemplateFile()); + } + } + + if (!configuration.getLizmapTemplateFile().exists()) { + if (log.isWarnEnabled()) { + log.warn("disable gisSupport : Could not found Lizmap template at: " + configuration.getLizmapTemplateFile()); + } + } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.