[tutti] branch develop updated (3513ff5 -> aba5af6)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 3513ff5 fixes #5807: [TRAIT] si on décoche trait rectiligne, vider le champ distance de la valeur calculée quand on avait coché trait rectiligne new aba5af6 fixes #5804: [EXPORT] erreur export générique à analyser The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit aba5af662463d1711dc879e541d9610cf3188037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 22 14:27:16 2014 +0200 fixes #5804: [EXPORT] erreur export générique à analyser Summary of changes: .../tutti/persistence/test/DatabaseResource.java | 31 +++++++- .../config/TuttiPersistenceConfigTest.java | 2 +- .../resources/tutti-test-read-dbEmpty.properties | 27 ------- .../src/test/resources/tutti-test-read.properties | 27 ------- .../service/export/generic/CatchExportModel.java | 2 +- .../ifremer/tutti/service/ServiceDbResource.java | 27 ++++++- .../generic/TuttiExportServiceAno5804Test.java | 82 ++++++++++++++++++++++ .../resources/tutti-test-read-dbCGFS.properties | 26 ------- .../resources/tutti-test-read-dbExport.properties | 26 ------- .../resources/tutti-test-read-dbMedits.properties | 25 ------- 10 files changed, 138 insertions(+), 137 deletions(-) delete mode 100644 tutti-persistence/src/test/resources/tutti-test-read-dbEmpty.properties delete mode 100644 tutti-persistence/src/test/resources/tutti-test-read.properties create mode 100644 tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceAno5804Test.java delete mode 100644 tutti-service/src/test/resources/tutti-test-read-dbCGFS.properties delete mode 100644 tutti-service/src/test/resources/tutti-test-read-dbExport.properties delete mode 100644 tutti-service/src/test/resources/tutti-test-read-dbMedits.properties -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit aba5af662463d1711dc879e541d9610cf3188037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 22 14:27:16 2014 +0200 fixes #5804: [EXPORT] erreur export générique à analyser --- .../tutti/persistence/test/DatabaseResource.java | 31 +++++++- .../config/TuttiPersistenceConfigTest.java | 2 +- .../resources/tutti-test-read-dbEmpty.properties | 27 ------- .../src/test/resources/tutti-test-read.properties | 27 ------- .../service/export/generic/CatchExportModel.java | 2 +- .../ifremer/tutti/service/ServiceDbResource.java | 27 ++++++- .../generic/TuttiExportServiceAno5804Test.java | 82 ++++++++++++++++++++++ .../resources/tutti-test-read-dbCGFS.properties | 26 ------- .../resources/tutti-test-read-dbExport.properties | 26 ------- .../resources/tutti-test-read-dbMedits.properties | 25 ------- 10 files changed, 138 insertions(+), 137 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java index 6d6c81f..4b447b5 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/test/DatabaseResource.java @@ -145,6 +145,14 @@ public class DatabaseResource implements TestRule { this.destroyResources = destroyResources; } + public String getDbName() { + return dbName; + } + + public boolean isWriteDb() { + return writeDb; + } + @Override public Statement apply(final Statement base, final Description description) { @@ -164,12 +172,27 @@ public class DatabaseResource implements TestRule { Class<?> testClass; public void prepareConfig(ApplicationConfig applicationConfig, - File resourceDirectory) { + File resourceDirectory, + boolean noConf) { TuttiConfiguration.getDefaultApplicationConfig(applicationConfig); applicationConfig.setDefaultOption(TuttiConfigurationOption.DATA_DIRECTORY.getKey(), new File(resourceDirectory, "data").getAbsolutePath()); + + if (!writeDb && noConf) { + + // set tutti.persistence.db.directory + File dbDirectory = FileUtil.getFileFromPaths(new File("src"), "test", "data", dbName); + + applicationConfig.setDefaultOption(TuttiConfigurationOption.DB_DIRECTORY.getKey(), + dbDirectory.getAbsolutePath()); + + // set tutti.persistence.jdbc.url + applicationConfig.setDefaultOption(TuttiConfigurationOption.JDBC_URL.getKey(), + String.format("jdbc:hsqldb:file:%s/allegro", dbDirectory.getAbsolutePath())); + + } } public File copyClassPathResource(String path, String destinationName) throws IOException { @@ -224,7 +247,9 @@ public class DatabaseResource implements TestRule { ApplicationConfig applicationConfig; - if (resourceAsStream == null) { + boolean noConfig = resourceAsStream == null; + + if (noConfig) { if (log.isWarnEnabled()) { log.warn("No configuration file found in classpath at " + configFilename); } @@ -233,7 +258,7 @@ public class DatabaseResource implements TestRule { applicationConfig = new ApplicationConfig(configFilename); } - prepareConfig(applicationConfig, resourceDirectory); + prepareConfig(applicationConfig, resourceDirectory, noConfig); applicationConfig.parse(); diff --git a/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigTest.java b/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigTest.java index 98e159c..6ded88f 100644 --- a/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigTest.java +++ b/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfigTest.java @@ -178,7 +178,7 @@ public class TuttiPersistenceConfigTest { ApplicationConfig applicationConfig = new ApplicationConfig(configFile.getAbsolutePath()); DatabaseResource databaseResource = DatabaseResource.noDb(); - databaseResource.prepareConfig(applicationConfig, datadirectory); + databaseResource.prepareConfig(applicationConfig, datadirectory, true); applicationConfig.parse(); diff --git a/tutti-persistence/src/test/resources/tutti-test-read-dbEmpty.properties b/tutti-persistence/src/test/resources/tutti-test-read-dbEmpty.properties deleted file mode 100644 index 34566b3..0000000 --- a/tutti-persistence/src/test/resources/tutti-test-read-dbEmpty.properties +++ /dev/null @@ -1,27 +0,0 @@ -### -# #%L -# Tutti :: Persistence -# $Id$ -# $HeadURL$ -# %% -# Copyright (C) 2012 - 2014 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### -tutti.persistence.db.directory=src/test/dbEmpty -tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/dbEmpty/allegro -#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro -#tutti.persistence.jdbc.createScript=src/test/dbEmpty/allegro.script diff --git a/tutti-persistence/src/test/resources/tutti-test-read.properties b/tutti-persistence/src/test/resources/tutti-test-read.properties deleted file mode 100644 index 9481c7b..0000000 --- a/tutti-persistence/src/test/resources/tutti-test-read.properties +++ /dev/null @@ -1,27 +0,0 @@ -### -# #%L -# Tutti :: Persistence -# $Id$ -# $HeadURL$ -# %% -# Copyright (C) 2012 - 2014 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### -tutti.persistence.db.directory=src/test/db -tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro -#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro -#tutti.persistence.jdbc.createScript=src/test/db/allegro.script diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java index 6ecde0a..f2b077f 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/export/generic/CatchExportModel.java @@ -205,7 +205,7 @@ public class CatchExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<Catc exportSampleCategory.getSampleWeight(), exportSampleCategory.getSampleComputedWeight()); - if (totalWeight != null && sampleWeight != null) { + if (totalWeight != null && sampleWeight != null && sampleWeight != 0f) { float currentRate = totalWeight / sampleWeight; diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java index 43f0179..03608ee 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java @@ -46,6 +46,7 @@ import org.junit.runner.Description; import org.nuiton.config.ApplicationConfig; import org.nuiton.i18n.I18n; import org.nuiton.jaxx.application.ApplicationIOUtil; +import org.nuiton.util.FileUtil; import java.io.File; import java.io.IOException; @@ -136,13 +137,28 @@ public class ServiceDbResource extends DatabaseResource { @Override public void prepareConfig(ApplicationConfig applicationConfig, - File resourceDirectory) { + File resourceDirectory, + boolean noConf) { TuttiConfiguration.getDefaultApplicationConfig(applicationConfig); applicationConfig.setDefaultOption( TuttiConfigurationOption.BASEDIR.getKey(), resourceDirectory.getAbsolutePath()); + + if (!isWriteDb() && noConf) { + + // set tutti.persistence.db.directory + File dbDirectory = FileUtil.getFileFromPaths(new File("src"), "test", "data", getDbName()); + + applicationConfig.setDefaultOption(TuttiConfigurationOption.DB_DIRECTORY.getKey(), + dbDirectory.getAbsolutePath()); + + // set tutti.persistence.jdbc.url + applicationConfig.setDefaultOption(TuttiConfigurationOption.JDBC_URL.getKey(), + String.format("jdbc:hsqldb:file:%s/allegro", dbDirectory.getAbsolutePath())); + + } } protected TuttiServiceContext serviceContext; @@ -188,6 +204,15 @@ public class ServiceDbResource extends DatabaseResource { return serviceContext; } + public void loadInternalProtocolFile() { + + File protocolFile = FileUtil.getFileFromPaths(new File("src"), "test", "data", getDbName(), "protocol.tuttiProtocol"); + + getConfig().getApplicationConfig().setOption(TuttiConfigurationOption.DB_PROTOCOL_DIRECTORY.getKey(), protocolFile.getParentFile().getAbsolutePath()); + serviceContext.getDataContext().setProtocolId("protocol"); + + } + public TuttiProtocol loadProtocol(File protocolFile) { Assert.assertTrue(protocolFile.exists()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceAno5804Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceAno5804Test.java new file mode 100644 index 0000000..f7f827a --- /dev/null +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/export/generic/TuttiExportServiceAno5804Test.java @@ -0,0 +1,82 @@ +package fr.ifremer.tutti.service.export.generic; + +import com.google.common.io.Files; +import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.service.PersistenceService; +import fr.ifremer.tutti.service.ServiceDbResource; +import fr.ifremer.tutti.service.TuttiServiceContext; +import org.junit.Assert; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Test; + +import java.io.File; + +/** + * Created on 9/22/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since XXX + */ +public class TuttiExportServiceAno5804Test { + + @ClassRule + public static final ServiceDbResource dbResource = ServiceDbResource.readDb("dbAno5804"); + + + protected TuttiExportService service; + + protected PersistenceService persistenceService; + + protected ServiceDbResource.DataContext dataContext; + + protected ProgressionModel progressionModel; + + protected File dataDirectory; + + public static final String PROGRAM_ID = "CAM-CGFS"; + + public static final String CRUISE_ID = "0"; + + public static final String OPERATION_1_ID = "1"; + + public static final String OPERATION_2_ID = "2"; + + public static final String OPERATION_3_ID = "0"; + + @Before + public void setUp() throws Exception { + + dataDirectory = dbResource.getConfig().getDataDirectory(); + + TuttiServiceContext serviceContext = dbResource.getServiceContext(); + + persistenceService = serviceContext.getService(PersistenceService.class); + + dbResource.loadInternalProtocolFile(); + + dbResource.setCountryInConfig("12"); + dbResource.openDataContext(); + + service = serviceContext.getService(TuttiExportService.class); + + dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, OPERATION_1_ID, OPERATION_2_ID, OPERATION_3_ID); + + progressionModel = new ProgressionModel(); + progressionModel.setTotal(9); + } + + @Test + public void exportCruise() throws Exception { + + File exportFile = new File(dataDirectory, "exportCruise.zip"); + + Files.createParentDirs(exportFile); + + Assert.assertFalse(exportFile.exists()); + + service.exportCruise(dataContext.cruise.getId(), exportFile, progressionModel); + Assert.assertTrue(exportFile.exists()); + } + +} diff --git a/tutti-service/src/test/resources/tutti-test-read-dbCGFS.properties b/tutti-service/src/test/resources/tutti-test-read-dbCGFS.properties deleted file mode 100644 index 80908fa..0000000 --- a/tutti-service/src/test/resources/tutti-test-read-dbCGFS.properties +++ /dev/null @@ -1,26 +0,0 @@ -### -# #%L -# Tutti :: Service -# $Id$ -# $HeadURL$ -# %% -# Copyright (C) 2012 - 2014 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### -tutti.persistence.db.directory=src/test/dbCGFS -tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/dbCGFS/allegro -#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro diff --git a/tutti-service/src/test/resources/tutti-test-read-dbExport.properties b/tutti-service/src/test/resources/tutti-test-read-dbExport.properties deleted file mode 100644 index 537e3c4..0000000 --- a/tutti-service/src/test/resources/tutti-test-read-dbExport.properties +++ /dev/null @@ -1,26 +0,0 @@ -### -# #%L -# Tutti :: Service -# $Id$ -# $HeadURL$ -# %% -# Copyright (C) 2012 - 2014 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### -tutti.persistence.db.directory=src/test/dbExport -tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/dbExport/allegro -#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro diff --git a/tutti-service/src/test/resources/tutti-test-read-dbMedits.properties b/tutti-service/src/test/resources/tutti-test-read-dbMedits.properties deleted file mode 100644 index de1e8d7..0000000 --- a/tutti-service/src/test/resources/tutti-test-read-dbMedits.properties +++ /dev/null @@ -1,25 +0,0 @@ -### -# #%L -# Tutti :: Service -# $Id$ -# $HeadURL$ -# %% -# Copyright (C) 2012 - 2014 Ifremer -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program. If not, see -# <http://www.gnu.org/licenses/gpl-3.0.html>. -# #L% -### -tutti.persistence.db.directory=src/test/dbMedits -tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/dbMedits/allegro -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm