Echobase-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
August 2013
- 2 participants
- 23 discussions
01 Aug '13
Author: tchemit
Date: 2013-08-01 10:24:28 +0200 (Thu, 01 Aug 2013)
New Revision: 827
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/827
Log:
fixes #3029: Import de cartes avec param?\195?\168tres non rattach?\195?\169s ?\195?\160 une esp?\195?\168ce de poissons (physique...)
refs #3028: Permettre l'import s?\195?\169par?\195?\169 des voyages, transits, transects (ajout fichier validation)
Added:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapFishRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapOtherRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java
trunk/echobase-services/src/test/resources/import-data/result/map/mapsFish.csv.gz
trunk/echobase-services/src/test/resources/import-data/result/map/mapsOther.csv.gz
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeTransit-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeVoyage-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapFish-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapOther-validation.xml
Removed:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveDataServiceTest.java
trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMap-validation.xml
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java
trunk/echobase-domain/src/main/resources/META-INF/services/fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion
trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties
trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties
trunk/echobase-domain/src/main/xmi/echobase-internal.properties
trunk/echobase-domain/src/main/xmi/echobase.properties
trunk/echobase-domain/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AcousticRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java
trunk/echobase-services/update-import-data-db.sh
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -79,20 +79,24 @@
RESULT_REGION(n_("echobase.common.importType.resultsRegion"),
n_("echobase.common.importType.resultsRegion.short")),
- /** Import cells Map. */
- RESULT_MAP(n_("echobase.common.importType.resultsMap"),
- n_("echobase.common.importType.resultsMap.short"));
+ /** Import cells Map Fish. */
+ RESULT_MAP_FISH(n_("echobase.common.importType.resultsMapFish"),
+ n_("echobase.common.importType.resultsMapFish.short")),
+ /** Import cells Map Other. */
+ RESULT_MAP_OTHER(n_("echobase.common.importType.resultsMapOther"),
+ n_("echobase.common.importType.resultsMapOther.short"));
+
/**
* All common import types.
*
* @since 1.2
*/
protected static final ImportType[] COMMON_IMPORT_TYPES = new ImportType[]{
- ImportType.COMMON_ALL,
- ImportType.COMMON_VOYAGE,
- ImportType.COMMON_TRANSIT,
- ImportType.COMMON_TRANSECT};
+ COMMON_ALL,
+ COMMON_VOYAGE,
+ COMMON_TRANSIT,
+ COMMON_TRANSECT};
/**
* All result import types.
@@ -100,10 +104,11 @@
* @since 1.2
*/
protected static final ImportType[] RESULT_IMPORT_TYPES = new ImportType[]{
- ImportType.RESULT_VOYAGE,
- ImportType.RESULT_ESDU,
- ImportType.RESULT_REGION,
- ImportType.RESULT_MAP};
+ RESULT_VOYAGE,
+ RESULT_ESDU,
+ RESULT_REGION,
+ RESULT_MAP_FISH,
+ RESULT_MAP_OTHER};
private final String i18nKey;
Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,59 @@
+package fr.ifremer.echobase.persistence.migration.workingDb;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.util.Version;
+
+import java.util.List;
+
+/**
+ * Migrate workgin db to version {@code 2.2}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion {
+ @Override
+ public Version getVersion() {
+ return new Version("2.2");
+ }
+
+ @Override
+ protected void prepareMigrationScript(TopiaContextImplementor tx,
+ List<String> queries,
+ boolean showSql,
+ boolean showProgression) throws TopiaException {
+
+ // remove result category NotNull Constrainst (http://forge.codelutin.com/issues/3029)
+ removeResultCategoryNotNullConstrainst(queries);
+
+ }
+
+ protected void removeResultCategoryNotNullConstrainst(List<String> queries) {
+ queries.add("ALTER TABLE Result ALTER COLUMN category DROP NOT NULL;");
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-domain/src/main/resources/META-INF/services/fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion
===================================================================
--- trunk/echobase-domain/src/main/resources/META-INF/services/fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/resources/META-INF/services/fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1 @@
+fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion2_2
\ No newline at end of file
Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -18,6 +18,10 @@
echobase.common.importType.resultsEsdu.short=R ESDU
echobase.common.importType.resultsMap=Import the “map” cells results
echobase.common.importType.resultsMap.short=Map
+echobase.common.importType.resultsMapFish=
+echobase.common.importType.resultsMapFish.short=
+echobase.common.importType.resultsMapOther=
+echobase.common.importType.resultsMapOther.short=
echobase.common.importType.resultsRegion=Import the “region” cells results
echobase.common.importType.resultsRegion.short=Region
echobase.common.importType.resultsVoyage=Import the voyage-related results
Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -16,8 +16,10 @@
echobase.common.importType.operation.short=Opérations
echobase.common.importType.resultsEsdu=Import des résultats des cellules de type "ESDU"
echobase.common.importType.resultsEsdu.short=R ESDU
-echobase.common.importType.resultsMap=Import des cellules de type Carte
-echobase.common.importType.resultsMap.short=Carte
+echobase.common.importType.resultsMapFish=Import des cellules de type Carte (Poisson)
+echobase.common.importType.resultsMapFish.short=Carte (Poisson)
+echobase.common.importType.resultsMapOther=Import des cellules de type Carte (Autres)
+echobase.common.importType.resultsMapOther.short=Carte (Autres)
echobase.common.importType.resultsRegion=Import des cellules de type Région
echobase.common.importType.resultsRegion.short=Région
echobase.common.importType.resultsVoyage=Import des résultats du voyage
Modified: trunk/echobase-domain/src/main/xmi/echobase-internal.properties
===================================================================
--- trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -71,6 +71,5 @@
fr.ifremer.echobase.entities.ExportQuery.attribute.lastModifiedUser.tagValue.notNull=true
fr.ifremer.echobase.entities.WorkingDbConfiguration.attribute.url.tagValue.notNull=true
-fr.ifremer.echobase.entities.WorkingDbConfiguration.attribute.login.tagValue.notNull=true
fr.ifremer.echobase.entities.WorkingDbConfiguration.attribute.description.tagValue.notNull=true
fr.ifremer.echobase.entities.WorkingDbConfiguration.attribute.driverType.tagValue.notNull=true
Modified: trunk/echobase-domain/src/main/xmi/echobase.properties
===================================================================
--- trunk/echobase-domain/src/main/xmi/echobase.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-domain/src/main/xmi/echobase.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -25,7 +25,7 @@
model.tagValue.generateOperatorForDAOHelper=true
model.tagValue.generateStandaloneEnumForDAOHelper=true
model.tagValue.constantPrefix=PROPERTY_
-model.tagValue.version=1.3
+model.tagValue.version=2.2
model.tagValue.noPCS=true
model.tagValue.doNotGenerateBooleanGetMethods=true
model.tagValue.indexForeignKeys=true
@@ -319,7 +319,6 @@
fr.ifremer.echobase.entities.data.OperationMetadataValue.attribute.operationMetadata.tagValue.notNull=true
fr.ifremer.echobase.entities.data.OperationMetadataValue.attribute.dataValue.tagValue.notNull=true
-fr.ifremer.echobase.entities.data.Result.attribute.category.tagValue.notNull=true
fr.ifremer.echobase.entities.data.Result.attribute.dataMetadata.tagValue.notNull=true
fr.ifremer.echobase.entities.data.Result.attribute.resultLabel.tagValue.notNull=true
fr.ifremer.echobase.entities.data.Result.attribute.resultValue.tagValue.notNull=true
Modified: trunk/echobase-domain/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -212,7 +212,7 @@
header);
EsduResultByEchotypeImportModel csvModel = new EsduResultByEchotypeImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
echotypeMap,
voyage,
@@ -292,7 +292,7 @@
ResultDAO dao = getDAO(Result.class, ResultDAO.class);
EsduResultByEchotypeAndSpeciesCategoryImportModel csvModel = new EsduResultByEchotypeAndSpeciesCategoryImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
echotypeMap,
speciesMap,
@@ -373,7 +373,7 @@
ResultDAO dao = getDAO(Result.class, ResultDAO.class);
EsduResultBySpeciesAndSizeCategoryImportModel csvModel = new EsduResultBySpeciesAndSizeCategoryImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
speciesMap,
voyage,
@@ -476,7 +476,7 @@
ResultDAO dao = getDAO(Result.class, ResultDAO.class);
EsduResultBySpeciesAndAgeCategoryImportModel csvModel = new EsduResultBySpeciesAndAgeCategoryImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
speciesMap,
voyage,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -69,10 +69,15 @@
service = getService(ResultsRegionCellImportService.class);
break;
- case RESULT_MAP:
+ case RESULT_MAP_FISH:
- service = getService(ResultsMapCellImportService.class);
+ service = getService(ResultsMapFishCellImportService.class);
break;
+
+ case RESULT_MAP_OTHER:
+
+ service = getService(ResultsMapOtherCellImportService.class);
+ break;
default:
throw new EchoBaseTechnicalException(
"Can not treate import result of type " + importMode);
Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -1,271 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.services.importdata;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
-import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.data.Category;
-import fr.ifremer.echobase.entities.data.CategoryDAO;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
-import fr.ifremer.echobase.entities.data.Data;
-import fr.ifremer.echobase.entities.data.DataDAO;
-import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.ResultDAO;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.AgeCategory;
-import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.references.DataMetadata;
-import fr.ifremer.echobase.entities.references.DataQuality;
-import fr.ifremer.echobase.entities.references.SizeCategory;
-import fr.ifremer.echobase.entities.references.Species;
-import fr.ifremer.echobase.entities.references.SpeciesCategory;
-import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO;
-import fr.ifremer.echobase.io.InputFile;
-import fr.ifremer.echobase.services.importdata.csv.MapCellImportModel;
-import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.csv.Import;
-import org.nuiton.csv.ImportRuntimeException;
-import org.nuiton.csv.ext.CsvReaders;
-
-import java.io.Reader;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- * To import map results attached to a voyage.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class ResultsMapCellImportService extends AbstractImportDataService<ResultsImportConfiguration> {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ResultsMapCellImportService.class);
-
- @Override
- public void startImport(
- ResultsImportConfiguration configuration,
- EchoBaseUser user) throws ImportException {
-
- // get selected voyage
- Voyage voyage = getEntityById(Voyage.class,
- configuration.getVoyageId());
-
- EchoBaseCsvFileImportResult importResult;
- importResult = importMapFile(configuration, voyage);
- configuration.addResult(importResult);
- }
-
- protected EchoBaseCsvFileImportResult importMapFile(
- ResultsImportConfiguration configuration,
- Voyage voyage) throws ImportException {
-
- InputFile inputFile = configuration.getMapsFile();
-
- if (log.isInfoEnabled()) {
- log.info("Starts import of Map cells from file " +
- inputFile.getFileName());
- }
-
- String resultLabel = configuration.getResultLabel();
-
- CellType cellType = getEntityByProperty(
- CellType.class, CellType.PROPERTY_ID, "Map");
- Preconditions.checkNotNull(cellType);
-
- DataMetadata dataLongitudeMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLongitude");
- Preconditions.checkNotNull(dataLongitudeMeta);
-
- DataMetadata dataLatitudeMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLatitude");
- Preconditions.checkNotNull(dataLatitudeMeta);
-
- DataMetadata dataDepthMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellDepth");
- Preconditions.checkNotNull(dataDepthMeta);
-
- DataMetadata dataLongitudeLagMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLongitudeLag");
- Preconditions.checkNotNull(dataLongitudeLagMeta);
-
- DataMetadata dataLatitudeLagMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLatitudeLag");
- Preconditions.checkNotNull(dataLatitudeLagMeta);
-
- DataMetadata dataDepthLagMeta = getEntityByProperty(
- DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridDepthLag");
- Preconditions.checkNotNull(dataDepthLagMeta);
-
- // authorize only the selected voyage to be imported
- Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
- voyage), EchoBaseFunctions.VOYAGE_NAME);
-
- Map<String, Species> speciesMap = getEntitiesMap(
- Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE);
-
- Map<String, SizeCategory> sizeCategoryMap = Maps.newTreeMap();
- sizeCategoryMap.putAll(getEntitiesMap(
- SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME));
-
- Map<String, AgeCategory> ageCategoryMap = Maps.newTreeMap();
- ageCategoryMap.putAll(getEntitiesMap(
- AgeCategory.class, EchoBaseFunctions.AGE_CATEGORY_NAME));
-
- Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
- DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
-
- Map<String, DataQuality> dataQualityMap = getEntitiesMap(
- DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME);
-
- // first get header of file to detect which results to import
- String[] header = CsvReaders.getHeader(inputFile.getFile(),
- getCsvSeparator());
-
- List<DataMetadata> metas = getMetas(
- MapCellImportModel.COLUMN_NAMES_TO_EXCLUDE,
- dataMetadataMap,
- header);
-
- MapCellImportModel csvModel = new MapCellImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
- cellType,
- voyageMap,
- speciesMap,
- sizeCategoryMap,
- ageCategoryMap,
- metas,
- dataQualityMap);
-
- EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
-
- CellDAO dao = getDAO(Cell.class, CellDAO.class);
- DataDAO dataDao = getDAO(Data.class, DataDAO.class);
- ResultDAO resultDao = getDAO(Result.class, ResultDAO.class);
- SpeciesCategoryDAO speciesCategoryDAO =
- getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
- CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
-
- Reader reader = getInputFileReader(inputFile);
- try {
- Import<MapCellImportRow> importer =
- Import.newImport(csvModel, reader);
-
- configuration.incrementsProgress();
-
- int rowNumber = 0;
- for (MapCellImportRow row : importer) {
-
- doFlushTransaction(++rowNumber, inputFile, configuration);
-
- Cell cell = create(dao, row.getCell());
- voyage.addPostCell(cell);
-
- // collect ids
- importResult.addId(EchoBaseEntityEnum.Cell, cell);
-
- DataQuality dataQuality = row.getDataQuality();
-
- // add gridCellLongitude data
- createCellData(dataDao,
- cell,
- dataLongitudeMeta,
- String.valueOf(row.getGridCellLongitude()),
- dataQuality,
- importResult
- );
-
- // add gridCellLatitude data
- createCellData(dataDao,
- cell,
- dataLatitudeMeta,
- String.valueOf(row.getGridCellLatitude()),
- dataQuality,
- importResult
- );
-
- // add gridCellDepth data
- createCellData(dataDao,
- cell,
- dataDepthMeta,
- String.valueOf(row.getGridCellDepth()),
- dataQuality,
- importResult
- );
-
- // add gridLongitudeLag data
- createCellData(dataDao,
- cell,
- dataLongitudeLagMeta,
- String.valueOf(row.getGridLongitudeLag()),
- dataQuality,
- importResult
- );
-
- // add gridLatitudeLag data
- createCellData(dataDao,
- cell,
- dataLatitudeLagMeta,
- String.valueOf(row.getGridLatitudeLag()),
- dataQuality,
- importResult
- );
-
- // add gridDepthLag data
- createCellData(dataDao,
- cell,
- dataDepthLagMeta,
- String.valueOf(row.getGridDepthLag()),
- dataQuality,
- importResult
- );
-
- Category category = getResultCategory(categoryDAO,
- speciesCategoryDAO,
- null,
- row.getSpecies(),
- row.getSizeCategory(),
- row.getAgeCategory(),
- importResult);
-
- addResults(row, cell, category, resultLabel, resultDao, importResult, false);
- }
-
- return importResult;
- } catch (ImportRuntimeException e) {
- throw new ImportException(getLocale(), inputFile, e);
- } finally {
- closeReader(reader, inputFile);
- }
- }
-
-}
Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportService.java (from rev 824, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java)
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportService.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,271 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.services.importdata;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Maps;
+import fr.ifremer.echobase.EchoBaseFunctions;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Category;
+import fr.ifremer.echobase.entities.data.CategoryDAO;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Data;
+import fr.ifremer.echobase.entities.data.DataDAO;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.AgeCategory;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.DataQuality;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+import fr.ifremer.echobase.entities.references.SpeciesCategory;
+import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO;
+import fr.ifremer.echobase.io.InputFile;
+import fr.ifremer.echobase.services.importdata.csv.MapCellImportModel;
+import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Import;
+import org.nuiton.csv.ImportRuntimeException;
+import org.nuiton.csv.ext.CsvReaders;
+
+import java.io.Reader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * To import map fish results attached to a voyage.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class ResultsMapFishCellImportService extends AbstractImportDataService<ResultsImportConfiguration> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ResultsMapFishCellImportService.class);
+
+ @Override
+ public void startImport(
+ ResultsImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
+
+ // get selected voyage
+ Voyage voyage = getEntityById(Voyage.class,
+ configuration.getVoyageId());
+
+ EchoBaseCsvFileImportResult importResult;
+ importResult = importMapFile(configuration, voyage);
+ configuration.addResult(importResult);
+ }
+
+ protected EchoBaseCsvFileImportResult importMapFile(
+ ResultsImportConfiguration configuration,
+ Voyage voyage) throws ImportException {
+
+ InputFile inputFile = configuration.getMapsFile();
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts import of Map cells from file " +
+ inputFile.getFileName());
+ }
+
+ String resultLabel = configuration.getResultLabel();
+
+ CellType cellType = getEntityByProperty(
+ CellType.class, CellType.PROPERTY_ID, "Map");
+ Preconditions.checkNotNull(cellType);
+
+ DataMetadata dataLongitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLongitude");
+ Preconditions.checkNotNull(dataLongitudeMeta);
+
+ DataMetadata dataLatitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLatitude");
+ Preconditions.checkNotNull(dataLatitudeMeta);
+
+ DataMetadata dataDepthMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellDepth");
+ Preconditions.checkNotNull(dataDepthMeta);
+
+ DataMetadata dataLongitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLongitudeLag");
+ Preconditions.checkNotNull(dataLongitudeLagMeta);
+
+ DataMetadata dataLatitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLatitudeLag");
+ Preconditions.checkNotNull(dataLatitudeLagMeta);
+
+ DataMetadata dataDepthLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridDepthLag");
+ Preconditions.checkNotNull(dataDepthLagMeta);
+
+ // authorize only the selected voyage to be imported
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
+ voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ Map<String, Species> speciesMap = getEntitiesMap(
+ Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE);
+
+ Map<String, SizeCategory> sizeCategoryMap = Maps.newTreeMap();
+ sizeCategoryMap.putAll(getEntitiesMap(
+ SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME));
+
+ Map<String, AgeCategory> ageCategoryMap = Maps.newTreeMap();
+ ageCategoryMap.putAll(getEntitiesMap(
+ AgeCategory.class, EchoBaseFunctions.AGE_CATEGORY_NAME));
+
+ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
+ DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
+
+ Map<String, DataQuality> dataQualityMap = getEntitiesMap(
+ DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME);
+
+ // first get header of file to detect which results to import
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
+
+ List<DataMetadata> metas = getMetas(
+ MapCellImportModel.COLUMN_NAMES_TO_EXCLUDE,
+ dataMetadataMap,
+ header);
+
+ MapCellImportModel csvModel = new MapCellImportModel(
+ getCsvSeparator(),
+ cellType,
+ voyageMap,
+ speciesMap,
+ sizeCategoryMap,
+ ageCategoryMap,
+ metas,
+ dataQualityMap);
+
+ EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
+
+ CellDAO dao = getDAO(Cell.class, CellDAO.class);
+ DataDAO dataDao = getDAO(Data.class, DataDAO.class);
+ ResultDAO resultDao = getDAO(Result.class, ResultDAO.class);
+ SpeciesCategoryDAO speciesCategoryDAO =
+ getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
+ CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
+
+ Reader reader = getInputFileReader(inputFile);
+ try {
+ Import<MapCellImportRow> importer =
+ Import.newImport(csvModel, reader);
+
+ configuration.incrementsProgress();
+
+ int rowNumber = 0;
+ for (MapCellImportRow row : importer) {
+
+ doFlushTransaction(++rowNumber, inputFile, configuration);
+
+ Cell cell = create(dao, row.getCell());
+ voyage.addPostCell(cell);
+
+ // collect ids
+ importResult.addId(EchoBaseEntityEnum.Cell, cell);
+
+ DataQuality dataQuality = row.getDataQuality();
+
+ // add gridCellLongitude data
+ createCellData(dataDao,
+ cell,
+ dataLongitudeMeta,
+ String.valueOf(row.getGridCellLongitude()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridCellLatitude data
+ createCellData(dataDao,
+ cell,
+ dataLatitudeMeta,
+ String.valueOf(row.getGridCellLatitude()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridCellDepth data
+ createCellData(dataDao,
+ cell,
+ dataDepthMeta,
+ String.valueOf(row.getGridCellDepth()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridLongitudeLag data
+ createCellData(dataDao,
+ cell,
+ dataLongitudeLagMeta,
+ String.valueOf(row.getGridLongitudeLag()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridLatitudeLag data
+ createCellData(dataDao,
+ cell,
+ dataLatitudeLagMeta,
+ String.valueOf(row.getGridLatitudeLag()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridDepthLag data
+ createCellData(dataDao,
+ cell,
+ dataDepthLagMeta,
+ String.valueOf(row.getGridDepthLag()),
+ dataQuality,
+ importResult
+ );
+
+ Category category = getResultCategory(categoryDAO,
+ speciesCategoryDAO,
+ null,
+ row.getSpecies(),
+ row.getSizeCategory(),
+ row.getAgeCategory(),
+ importResult);
+
+ addResults(row, cell, category, resultLabel, resultDao, importResult, false);
+ }
+
+ return importResult;
+ } catch (ImportRuntimeException e) {
+ throw new ImportException(getLocale(), inputFile, e);
+ } finally {
+ closeReader(reader, inputFile);
+ }
+ }
+
+}
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportService.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,239 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Maps;
+import fr.ifremer.echobase.EchoBaseFunctions;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Data;
+import fr.ifremer.echobase.entities.data.DataDAO;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.DataQuality;
+import fr.ifremer.echobase.io.InputFile;
+import fr.ifremer.echobase.services.importdata.csv.MapCellImportModel;
+import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Import;
+import org.nuiton.csv.ImportRuntimeException;
+import org.nuiton.csv.ext.CsvReaders;
+
+import java.io.Reader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * To import map other results attached to a voyage.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class ResultsMapOtherCellImportService extends AbstractImportDataService<ResultsImportConfiguration> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ResultsMapOtherCellImportService.class);
+
+ @Override
+ public void startImport(
+ ResultsImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
+
+ // get selected voyage
+ Voyage voyage = getEntityById(Voyage.class,
+ configuration.getVoyageId());
+
+ EchoBaseCsvFileImportResult importResult;
+ importResult = importMapFile(configuration, voyage);
+ configuration.addResult(importResult);
+ }
+
+ protected EchoBaseCsvFileImportResult importMapFile(
+ ResultsImportConfiguration configuration,
+ Voyage voyage) throws ImportException {
+
+ InputFile inputFile = configuration.getMapsFile();
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts import of Map Other cells from file " +
+ inputFile.getFileName());
+ }
+
+ String resultLabel = configuration.getResultLabel();
+
+ CellType cellType = getEntityByProperty(
+ CellType.class, CellType.PROPERTY_ID, "Map");
+ Preconditions.checkNotNull(cellType);
+
+ DataMetadata dataLongitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLongitude");
+ Preconditions.checkNotNull(dataLongitudeMeta);
+
+ DataMetadata dataLatitudeMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellLatitude");
+ Preconditions.checkNotNull(dataLatitudeMeta);
+
+ DataMetadata dataDepthMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridCellDepth");
+ Preconditions.checkNotNull(dataDepthMeta);
+
+ DataMetadata dataLongitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLongitudeLag");
+ Preconditions.checkNotNull(dataLongitudeLagMeta);
+
+ DataMetadata dataLatitudeLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridLatitudeLag");
+ Preconditions.checkNotNull(dataLatitudeLagMeta);
+
+ DataMetadata dataDepthLagMeta = getEntityByProperty(
+ DataMetadata.class, DataMetadata.PROPERTY_NAME, "GridDepthLag");
+ Preconditions.checkNotNull(dataDepthLagMeta);
+
+ // authorize only the selected voyage to be imported
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
+ voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
+ DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
+
+ Map<String, DataQuality> dataQualityMap = getEntitiesMap(
+ DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME);
+
+ // first get header of file to detect which results to import
+ String[] header = CsvReaders.getHeader(inputFile.getFile(),
+ getCsvSeparator());
+
+ List<DataMetadata> metas = getMetas(
+ MapCellImportModel.COLUMN_NAMES_TO_EXCLUDE,
+ dataMetadataMap,
+ header);
+
+ MapCellImportModel csvModel = new MapCellImportModel(
+ getCsvSeparator(),
+ cellType,
+ voyageMap,
+ metas,
+ dataQualityMap);
+
+ EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
+
+ CellDAO dao = getDAO(Cell.class, CellDAO.class);
+ DataDAO dataDao = getDAO(Data.class, DataDAO.class);
+ ResultDAO resultDao = getDAO(Result.class, ResultDAO.class);
+
+ Reader reader = getInputFileReader(inputFile);
+ try {
+ Import<MapCellImportRow> importer =
+ Import.newImport(csvModel, reader);
+
+ configuration.incrementsProgress();
+
+ int rowNumber = 0;
+ for (MapCellImportRow row : importer) {
+
+ doFlushTransaction(++rowNumber, inputFile, configuration);
+
+ Cell cell = create(dao, row.getCell());
+ voyage.addPostCell(cell);
+
+ // collect ids
+ importResult.addId(EchoBaseEntityEnum.Cell, cell);
+
+ DataQuality dataQuality = row.getDataQuality();
+
+ // add gridCellLongitude data
+ createCellData(dataDao,
+ cell,
+ dataLongitudeMeta,
+ String.valueOf(row.getGridCellLongitude()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridCellLatitude data
+ createCellData(dataDao,
+ cell,
+ dataLatitudeMeta,
+ String.valueOf(row.getGridCellLatitude()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridCellDepth data
+ createCellData(dataDao,
+ cell,
+ dataDepthMeta,
+ String.valueOf(row.getGridCellDepth()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridLongitudeLag data
+ createCellData(dataDao,
+ cell,
+ dataLongitudeLagMeta,
+ String.valueOf(row.getGridLongitudeLag()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridLatitudeLag data
+ createCellData(dataDao,
+ cell,
+ dataLatitudeLagMeta,
+ String.valueOf(row.getGridLatitudeLag()),
+ dataQuality,
+ importResult
+ );
+
+ // add gridDepthLag data
+ createCellData(dataDao,
+ cell,
+ dataDepthLagMeta,
+ String.valueOf(row.getGridDepthLag()),
+ dataQuality,
+ importResult
+ );
+
+ addResults(row, cell, null, resultLabel, resultDao, importResult, false);
+ }
+
+ return importResult;
+ } catch (ImportRuntimeException e) {
+ throw new ImportException(getLocale(), inputFile, e);
+ } finally {
+ closeReader(reader, inputFile);
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -133,7 +133,7 @@
EchoBaseFunctions.CELL_TYPE_ID);
RegionCellImportModel csvModel = new RegionCellImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
cellTypeMap,
dataQualityMap
@@ -219,7 +219,7 @@
voyage.getRegionCells(), EchoBaseFunctions.CELL_BY_NAME);
RegionCellAssociationImportModel csvModel = new RegionCellAssociationImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyage,
voyageMap,
regionsMap,
@@ -296,7 +296,7 @@
header);
RegionCellResultImportModel csvModel = new RegionCellResultImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
regionsMap,
echotypeMap,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -153,7 +153,7 @@
EchoBaseFunctions.SIZE_CATEGORY_NAME);
LengthWeightKeyImportModel csvModel = new LengthWeightKeyImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
strataMap,
sizeCategoryMap,
@@ -227,7 +227,7 @@
EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
LengthAgeKeyImportModel csvModel = new LengthAgeKeyImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
strataMap,
speciesMap);
@@ -284,7 +284,7 @@
EchoBaseFunctions.DEPTH_STRATUM_ID);
EchotypeImportModel csvModel = new EchotypeImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
voyageMap,
depthStratumMap,
speciesMap);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -64,6 +64,33 @@
public MapCellImportModel(char separator,
CellType cellType,
Map<String, Voyage> voyageMap,
+ List<DataMetadata> dataMetadatas,
+ Map<String, DataQuality> dataQualityMap) {
+ super(separator);
+ this.cellType = cellType;
+
+ newForeignKeyColumn(MapCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_NAME);
+ newForeignKeyColumn(MapCellImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap);
+
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LONGITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LATITUDE, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_DEPTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_LONGITUDE_LAG, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_LATITUDE_LAG, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+ newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_DEPTH_LAG, EchoBaseCsvUtil.PRIMITIVE_FLOAT);
+
+ for (DataMetadata metadata : dataMetadatas) {
+ newMandatoryColumn(
+ metadata.getName(),
+ EchoBaseCsvUtil.newResultValueParser(metadata, false),
+ EchoBaseCsvUtil.<MapCellImportRow>newResultValueSetter());
+ }
+ }
+
+ public MapCellImportModel(char separator,
+ CellType cellType,
+ Map<String, Voyage> voyageMap,
Map<String, Species> speciesMap,
Map<String, SizeCategory> sizeCategoryMap,
Map<String, AgeCategory> ageCategoryMap,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -44,7 +44,8 @@
import fr.ifremer.echobase.services.removedata.strategy.LegacyVoyageRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.OperationRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.ResultEsduRemoveDataStrategy;
-import fr.ifremer.echobase.services.removedata.strategy.ResultMapRemoveDataStrategy;
+import fr.ifremer.echobase.services.removedata.strategy.ResultMapFishRemoveDataStrategy;
+import fr.ifremer.echobase.services.removedata.strategy.ResultMapOtherRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.ResultRegionRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.ResultVoyageRemoveDataStrategy;
import org.apache.commons.logging.Log;
@@ -256,7 +257,8 @@
strategies.put(ImportType.ACOUSTIC, AcousticRemoveDataStrategy.class);
strategies.put(ImportType.RESULT_VOYAGE, ResultVoyageRemoveDataStrategy.class);
strategies.put(ImportType.RESULT_ESDU, ResultEsduRemoveDataStrategy.class);
- strategies.put(ImportType.RESULT_MAP, ResultMapRemoveDataStrategy.class);
+ strategies.put(ImportType.RESULT_MAP_FISH, ResultMapFishRemoveDataStrategy.class);
+ strategies.put(ImportType.RESULT_MAP_OTHER, ResultMapOtherRemoveDataStrategy.class);
strategies.put(ImportType.RESULT_REGION, ResultRegionRemoveDataStrategy.class);
Preconditions.checkState(
ImportType.values().length == strategies.size(),
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -142,7 +142,8 @@
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_VOYAGE,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -95,7 +95,8 @@
ImportType.ACOUSTIC,
ImportType.RESULT_VOYAGE,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -127,7 +127,8 @@
ImportType.CATCHES,
ImportType.ACOUSTIC,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -129,7 +129,8 @@
ImportType.CATCHES,
ImportType.ACOUSTIC,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -96,7 +96,8 @@
ImportType.ACOUSTIC,
ImportType.RESULT_VOYAGE,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -95,7 +95,8 @@
ImportType.ACOUSTIC,
ImportType.RESULT_VOYAGE,
ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapFishRemoveDataStrategy.java (from rev 823, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java)
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapFishRemoveDataStrategy.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapFishRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,87 @@
+package fr.ifremer.echobase.services.removedata.strategy;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Voyage;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * Remove a {@link ImportType#RESULT_MAP_FISH} import.
+ * <p/>
+ * Can remove only {@link Cell}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.2
+ */
+public class ResultMapFishRemoveDataStrategy extends AbstractRemoveDataStrategy {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ResultMapFishRemoveDataStrategy.class);
+
+ @Override
+ public long computeNbSteps(Voyage voyage, ImportLog importLog) {
+
+ long result = importLog.sizeImportId();
+ return result;
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
+ if (id.startsWith(Cell.class.getName())) {
+
+ // get cell
+ Cell cell = cellDAO.findByTopiaId(id);
+
+ // dettach cell childs, we do not want to delete them from here ?
+ cell.clearChilds();
+
+ // remove it from voyage
+ voyage.removePostCell(cell);
+
+ // remove cell
+ delete(cellDAO, cell);
+ if (log.isDebugEnabled()) {
+ log.debug(cell.getTopiaId() + " was removed");
+ }
+ } else {
+ canNotDealWithId(id);
+ }
+ }
+
+ @Override
+ public Set<ImportType> getPossibleSubImportType() {
+ Set<ImportType> result = Collections.emptySet();
+ return result;
+ }
+}
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapOtherRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapOtherRemoveDataStrategy.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapOtherRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,87 @@
+package fr.ifremer.echobase.services.removedata.strategy;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Voyage;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * Remove a {@link ImportType#RESULT_MAP_OTHER} import.
+ * <p/>
+ * Can remove only {@link Cell}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class ResultMapOtherRemoveDataStrategy extends AbstractRemoveDataStrategy {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ResultMapFishRemoveDataStrategy.class);
+
+ @Override
+ public long computeNbSteps(Voyage voyage, ImportLog importLog) {
+
+ long result = importLog.sizeImportId();
+ return result;
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
+ if (id.startsWith(Cell.class.getName())) {
+
+ // get cell
+ Cell cell = cellDAO.findByTopiaId(id);
+
+ // dettach cell childs, we do not want to delete them from here ?
+ cell.clearChilds();
+
+ // remove it from voyage
+ voyage.removePostCell(cell);
+
+ // remove cell
+ delete(cellDAO, cell);
+ if (log.isDebugEnabled()) {
+ log.debug(cell.getTopiaId() + " was removed");
+ }
+ } else {
+ canNotDealWithId(id);
+ }
+ }
+
+ @Override
+ public Set<ImportType> getPossibleSubImportType() {
+ Set<ImportType> result = Collections.emptySet();
+ return result;
+ }
+}
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapOtherRemoveDataStrategy.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -1,87 +0,0 @@
-package fr.ifremer.echobase.services.removedata.strategy;
-
-/*
- * #%L
- * EchoBase :: Services
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-import fr.ifremer.echobase.entities.ImportLog;
-import fr.ifremer.echobase.entities.ImportType;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.Voyage;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
-
-import java.util.Collections;
-import java.util.Set;
-
-/**
- * Remove a {@link ImportType#RESULT_MAP} import.
- * <p/>
- * Can remove only {@link Cell}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.2
- */
-public class ResultMapRemoveDataStrategy extends AbstractRemoveDataStrategy {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(ResultMapRemoveDataStrategy.class);
-
- @Override
- public long computeNbSteps(Voyage voyage, ImportLog importLog) {
-
- long result = importLog.sizeImportId();
- return result;
- }
-
- @Override
- protected void removeImportData(Voyage voyage, String id) throws TopiaException {
-
- if (id.startsWith(Cell.class.getName())) {
-
- // get cell
- Cell cell = cellDAO.findByTopiaId(id);
-
- // dettach cell childs, we do not want to delete them from here ?
- cell.clearChilds();
-
- // remove it from voyage
- voyage.removePostCell(cell);
-
- // remove cell
- delete(cellDAO, cell);
- if (log.isDebugEnabled()) {
- log.debug(cell.getTopiaId() + " was removed");
- }
- } else {
- canNotDealWithId(id);
- }
- }
-
- @Override
- public Set<ImportType> getPossibleSubImportType() {
- Set<ImportType> result = Collections.emptySet();
- return result;
- }
-}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -142,7 +142,8 @@
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_ESDU,
- ImportType.RESULT_MAP,
+ ImportType.RESULT_MAP_FISH,
+ ImportType.RESULT_MAP_OTHER,
ImportType.RESULT_REGION);
return result;
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -218,7 +218,7 @@
}
ResultEdsuImportMockImportModel csvModel = new ResultEdsuImportMockImportModel(
- serviceContext.getConfiguration().getCsvSeparator(),
+ getCsvSeparator(),
esduColumnName,
inputFile.getFile());
Deleted: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -1,83 +0,0 @@
-/*
- * #%L
- * EchoBase :: Services
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.services.importdata;
-
-import fr.ifremer.echobase.entities.ImportType;
-import fr.ifremer.echobase.entities.data.Category;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.Data;
-import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
-import org.junit.Test;
-
-import java.util.List;
-
-/**
- * To test the {@link ResultsMapCellImportService} service.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class ResultsMapCellImportServiceIT extends AbstractImportDataServiceIT {
-
- protected FakeEchoBaseServiceContext initContext() {
- return new FakeEchoBaseServiceContext(
- fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT());
- }
-
- protected String[] getImportPath(String filename) {
- return new String[]{"/import-data", "result", "map", filename};
- }
-
- @Test
- public void doImportMap() throws Exception {
-
- assertImportCommonData();
- assertImportOperations();
- assertImportSampleDatas();
- assertImportVoyageResult();
-
- assertNoEntities(Result.class, Data.class);
-
- ResultsImportConfiguration conf =
- new ResultsImportConfiguration(getLocale());
-
- conf.setResultLabel("resultLabel");
- conf.setVoyageId(getVoyageId());
- conf.setImportType(ImportType.RESULT_MAP);
-
- prepareInputFile(conf.getMapsFile(), getImportPath("maps.csv.gz"));
-
- List<EchoBaseCsvFileImportResult> result;
- result = doImport(conf, ResultsMapCellImportService.class, 1);
-
- assertNbIDs(result, 0, 380);
-
- assertCsvImportResult(result, 0, Cell.class, 380);
- assertCsvImportResult(result, 0, Data.class, 2280);
- assertCsvImportResult(result, 0, Result.class, 380);
- assertCsvImportResult(result, 0, Category.class, 1);
- }
-
-}
\ No newline at end of file
Copied: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportServiceIT.java (from rev 823, trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java)
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportServiceIT.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapFishCellImportServiceIT.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,83 @@
+/*
+ * #%L
+ * EchoBase :: Services
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.services.importdata;
+
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Category;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Data;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * To test the {@link ResultsMapFishCellImportService} service.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class ResultsMapFishCellImportServiceIT extends AbstractImportDataServiceIT {
+
+ protected FakeEchoBaseServiceContext initContext() {
+ return new FakeEchoBaseServiceContext(
+ fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT());
+ }
+
+ protected String[] getImportPath(String filename) {
+ return new String[]{"/import-data", "result", "map", filename};
+ }
+
+ @Test
+ public void doImportMap() throws Exception {
+
+ assertImportCommonData();
+ assertImportOperations();
+ assertImportSampleDatas();
+ assertImportVoyageResult();
+
+ assertNoEntities(Result.class, Data.class);
+
+ ResultsImportConfiguration conf =
+ new ResultsImportConfiguration(getLocale());
+
+ conf.setResultLabel("resultLabel");
+ conf.setVoyageId(getVoyageId());
+ conf.setImportType(ImportType.RESULT_MAP_FISH);
+
+ prepareInputFile(conf.getMapsFile(), getImportPath("mapsFish.csv.gz"));
+
+ List<EchoBaseCsvFileImportResult> result;
+ result = doImport(conf, ResultsMapFishCellImportService.class, 1);
+
+ assertNbIDs(result, 0, 380);
+
+ assertCsvImportResult(result, 0, Cell.class, 380);
+ assertCsvImportResult(result, 0, Data.class, 2280);
+ assertCsvImportResult(result, 0, Result.class, 380);
+ assertCsvImportResult(result, 0, Category.class, 1);
+ }
+
+}
\ No newline at end of file
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportServiceIT.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportServiceIT.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,81 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Data;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * To test the {@link ResultsMapOtherCellImportService} service.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServiceIT {
+
+ protected FakeEchoBaseServiceContext initContext() {
+ return new FakeEchoBaseServiceContext(
+ fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT());
+ }
+
+ protected String[] getImportPath(String filename) {
+ return new String[]{"/import-data", "result", "map", filename};
+ }
+
+ @Test
+ public void doImportMap() throws Exception {
+
+ assertImportCommonData();
+ assertImportOperations();
+ assertImportSampleDatas();
+ assertImportVoyageResult();
+
+ assertNoEntities(Result.class, Data.class);
+
+ ResultsImportConfiguration conf =
+ new ResultsImportConfiguration(getLocale());
+
+ conf.setResultLabel("resultLabel");
+ conf.setVoyageId(getVoyageId());
+ conf.setImportType(ImportType.RESULT_MAP_OTHER);
+
+ prepareInputFile(conf.getMapsFile(), getImportPath("mapsOther.csv.gz"));
+
+ List<EchoBaseCsvFileImportResult> result;
+ result = doImport(conf, ResultsMapOtherCellImportService.class, 1);
+
+ assertNbIDs(result, 0, 380);
+
+ assertCsvImportResult(result, 0, Cell.class, 380);
+ assertCsvImportResult(result, 0, Data.class, 2280);
+ assertCsvImportResult(result, 0, Result.class, 380);
+ }
+
+}
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapOtherCellImportServiceIT.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -88,7 +88,8 @@
import fr.ifremer.echobase.services.importdata.OperationImportService;
import fr.ifremer.echobase.services.importdata.ResultsEsduCellImportService;
import fr.ifremer.echobase.services.importdata.ResultsImportConfiguration;
-import fr.ifremer.echobase.services.importdata.ResultsMapCellImportService;
+import fr.ifremer.echobase.services.importdata.ResultsMapFishCellImportService;
+import fr.ifremer.echobase.services.importdata.ResultsMapOtherCellImportService;
import fr.ifremer.echobase.services.importdata.ResultsRegionCellImportService;
import fr.ifremer.echobase.services.importdata.ResultsVoyageImportService;
import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration;
@@ -136,8 +137,10 @@
protected String importResultRegion1Id;
- protected String importResultMap1Id;
+ protected String importResultMapFish1Id;
+ protected String importResultMapOther1Id;
+
protected static final String voyage1Id = "fr.ifremer.echobase.entities.data.Voyage#1#1";
protected static final String transit1Id = "fr.ifremer.echobase.entities.data.Transit#1#1";
@@ -158,8 +161,10 @@
protected static final String cellEsdu1Id = "fr.ifremer.echobase.entities.data.Cell#1#esdu1";
- protected static final String cellMap1Id = "fr.ifremer.echobase.entities.data.Cell#1#map1";
+ protected static final String cellMapFish1Id = "fr.ifremer.echobase.entities.data.Cell#1#mapfish1";
+ protected static final String cellMapOther1Id = "fr.ifremer.echobase.entities.data.Cell#1#mapOther1";
+
protected static final String cellRegion1Id = "fr.ifremer.echobase.entities.data.Cell#1#region1";
protected static final String cellElementary1Id = "fr.ifremer.echobase.entities.data.Cell#1#elementary1";
@@ -170,8 +175,10 @@
protected static final String resultEsdu1Id = "fr.ifremer.echobase.entities.data.Result#1#esdu1";
- protected static final String resultMap1Id = "fr.ifremer.echobase.entities.data.Result#1#map1";
+ protected static final String resultMapFish1Id = "fr.ifremer.echobase.entities.data.Result#1#mapFish1";
+ protected static final String resultMapOther1Id = "fr.ifremer.echobase.entities.data.Result#1#mapOther1";
+
protected static final String resultRegion1Id = "fr.ifremer.echobase.entities.data.Result#1#region1";
protected static final String resultEsdu1_2Id = "fr.ifremer.echobase.entities.data.Result#1#esdu2";
@@ -270,7 +277,8 @@
createResultVoyageImportV1();
createResultEsduImportV1();
createResultRegionImportV1();
- createResultMapImportV1();
+ createResultMapFishImportV1();
+ createResultMapOtherImportV1();
// create imports for voyage 2
createCommonVoyageImportV2();
@@ -297,7 +305,8 @@
importResultVoyage1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id,
+ importResultMapFish1Id,
+ importResultMapOther1Id,
importCommonVoyage2Id,
importCommonTransit2Id,
importCommonTransect2Id,
@@ -306,7 +315,8 @@
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
- cellMap1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
voyage2Id, transit2Id, transect2Id, transect2_2Id
);
@@ -798,11 +808,11 @@
region);
}
- private void createResultMapImportV1() throws TopiaException {
+ private void createResultMapFishImportV1() throws TopiaException {
// create map
Cell map = create(cellDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, cellMap1Id,
+ TopiaEntity.PROPERTY_TOPIA_ID, cellMapFish1Id,
Cell.PROPERTY_CELL_TYPE, getFirstEntity(CellType.class),
Cell.PROPERTY_NAME, "cellMap1");
@@ -812,23 +822,53 @@
// create result (on map)
Category category = create(categoryDAO);
Result result = create(resultDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, resultMap1Id,
+ TopiaEntity.PROPERTY_TOPIA_ID, resultMapFish1Id,
Result.PROPERTY_CATEGORY, category,
Result.PROPERTY_DATA_METADATA, getFirstEntity(DataMetadata.class),
- Result.PROPERTY_RESULT_VALUE, "resultValueMap1",
- Result.PROPERTY_RESULT_LABEL, "resultLabelMap1"
+ Result.PROPERTY_RESULT_VALUE, "resultValueMapFish1",
+ Result.PROPERTY_RESULT_LABEL, "resultLabelMapFish1"
);
map.addResult(result);
- importResultMap1Id = createImport(
- ResultsMapCellImportService.class,
+ importResultMapFish1Id = createImport(
+ ResultsMapFishCellImportService.class,
new ResultsImportConfiguration(getLocale()),
- ImportType.RESULT_MAP,
- "ResultsMap1",
+ ImportType.RESULT_MAP_FISH,
+ "ResultsMapFish1",
voyage1Id,
map);
}
+ private void createResultMapOtherImportV1() throws TopiaException {
+
+ // create map
+ Cell map = create(cellDAO,
+ TopiaEntity.PROPERTY_TOPIA_ID, cellMapOther1Id,
+ Cell.PROPERTY_CELL_TYPE, getFirstEntity(CellType.class),
+ Cell.PROPERTY_NAME, "cellMapOther1");
+
+ Voyage voyage = getEntity(voyage1Id);
+ voyage.addPostCell(map);
+
+ // create result (on map)
+ Result result = create(resultDAO,
+ TopiaEntity.PROPERTY_TOPIA_ID, resultMapOther1Id,
+ Result.PROPERTY_CATEGORY, null,
+ Result.PROPERTY_DATA_METADATA, getFirstEntity(DataMetadata.class),
+ Result.PROPERTY_RESULT_VALUE, "resultValueMapOther1",
+ Result.PROPERTY_RESULT_LABEL, "resultLabelMapOther1"
+ );
+ map.addResult(result);
+
+ importResultMapOther1Id = createImport(
+ ResultsMapOtherCellImportService.class,
+ new ResultsImportConfiguration(getLocale()),
+ ImportType.RESULT_MAP_OTHER,
+ "ResultsMapOther1",
+ voyage1Id,
+ map);
+ }
+
private <C extends AbstractImportConfiguration, S extends AbstractImportDataService<C>> String createImport(
Class<S> serviceType,
C importConf,
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AcousticRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AcousticRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AcousticRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -42,13 +42,16 @@
importAcoustic1Id,
// data that should be removed
dataAcquisition1Id, cellEsdu1Id, cellElementary1Id,
- cellRegion1Id, cellMap1Id,
- resultEsdu1Id, resultRegion1Id, resultMap1Id,
+ cellRegion1Id, resultRegion1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
+ resultEsdu1Id,
// importLog that should be removed
importAcoustic1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id
+ importResultMapFish1Id,
+ importResultMapOther1Id
);
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -42,11 +42,12 @@
removeImport(// import to remove
importCommonVoyage1Id,
// data that should be removed
- voyage1Id, transit1Id , transect1Id, operation1Id, transect1_2Id,
+ voyage1Id, transit1Id, transect1Id, operation1Id, transect1_2Id,
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
- cellMap1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
// importLog that should be removed
importCommonVoyage1Id,
@@ -58,7 +59,9 @@
importResultVoyage1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id);
+ importResultMapFish1Id,
+ importResultMapOther1Id
+ );
}
@Test
@@ -67,7 +70,7 @@
removeImport(// import to remove
importCommonVoyage2Id,
// data that should be removed
- voyage2Id, transit2Id , transect2Id, transect2_2Id,
+ voyage2Id, transit2Id, transect2Id, transect2_2Id,
// importLog that should be removed
importCommonVoyage2Id,
importCommonTransit2Id,
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -46,14 +46,16 @@
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
- cellMap1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
// importLog that should be removed
importCommonTransect1Id,
importOperation1Id,
importCatches1Id,
importAcoustic1Id,
importResultEsdu1Id,
- importResultMap1Id,
+ importResultMapFish1Id,
+ importResultMapOther1Id,
importResultRegion1Id);
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -48,7 +48,8 @@
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
- cellMap1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
// importLog that should be removed
importCommonTransit1Id,
importCommonTransect1Id,
@@ -57,7 +58,9 @@
importAcoustic1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id);
+ importResultMapFish1Id,
+ importResultMapOther1Id
+ );
}
@Test
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -46,7 +46,8 @@
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
- cellMap1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
// importLog that should be removed
importCommonVoyage1Id,
@@ -58,7 +59,9 @@
importResultVoyage1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id);
+ importResultMapFish1Id,
+ importResultMapOther1Id
+ );
}
@Test
Deleted: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -1,49 +0,0 @@
-package fr.ifremer.echobase.ui.actions.removedata;
-
-/*
- * #%L
- * EchoBase :: Services
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-import fr.ifremer.echobase.services.removedata.RemoveDataService;
-import fr.ifremer.echobase.services.removedata.strategy.ResultMapRemoveDataStrategy;
-import org.junit.Test;
-import org.nuiton.topia.TopiaException;
-
-/**
- * Test{@link RemoveDataService} with {@link ResultMapRemoveDataStrategy}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.3
- */
-public class ResultMapRemoveDataServiceTest extends AbstractRemoveDataServiceTest {
-
- @Test
- public void removeImport() throws TopiaException {
-
- removeImport(// import to remove
- importResultMap1Id,
- // data that should be removed
- cellMap1Id, resultMap1Id,
- // importLog that should be removed
- importResultMap1Id);
- }
-}
Copied: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java (from rev 823, trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveDataServiceTest.java)
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,49 @@
+package fr.ifremer.echobase.ui.actions.removedata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.services.removedata.RemoveDataService;
+import fr.ifremer.echobase.services.removedata.strategy.ResultMapFishRemoveDataStrategy;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * Test {@link RemoveDataService} with {@link ResultMapFishRemoveDataStrategy}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.3
+ */
+public class ResultMapRemoveFishDataServiceTest extends AbstractRemoveDataServiceTest {
+
+ @Test
+ public void removeImport() throws TopiaException {
+
+ removeImport(// import to remove
+ importResultMapFish1Id,
+ // data that should be removed
+ cellMapFish1Id, resultMapFish1Id,
+ // importLog that should be removed
+ importResultMapFish1Id);
+ }
+}
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,49 @@
+package fr.ifremer.echobase.ui.actions.removedata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.services.removedata.RemoveDataService;
+import fr.ifremer.echobase.services.removedata.strategy.ResultMapOtherRemoveDataStrategy;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * Test {@link RemoveDataService} with {@link ResultMapOtherRemoveDataStrategy}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class ResultMapRemoveOtherDataServiceTest extends AbstractRemoveDataServiceTest {
+
+ @Test
+ public void removeImport() throws TopiaException {
+
+ removeImport(// import to remove
+ importResultMapOther1Id,
+ // data that should be removed
+ cellMapOther1Id, resultMapOther1Id,
+ // importLog that should be removed
+ importResultMapOther1Id);
+ }
+}
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -43,12 +43,14 @@
importResultVoyage1Id,
// data that should be removed
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
- cellRegion1Id, cellMap1Id,
- resultEsdu1Id, resultRegion1Id, resultMap1Id,
+ cellMapFish1Id, resultMapFish1Id,
+ cellMapOther1Id, resultMapOther1Id,
+ cellRegion1Id, resultEsdu1Id, resultRegion1Id,
// importLog that should be removed
importResultVoyage1Id,
importResultEsdu1Id,
importResultRegion1Id,
- importResultMap1Id);
+ importResultMapFish1Id,
+ importResultMapOther1Id);
}
}
Deleted: trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
===================================================================
(Binary files differ)
Copied: trunk/echobase-services/src/test/resources/import-data/result/map/mapsFish.csv.gz (from rev 823, trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz)
===================================================================
(Binary files differ)
Copied: trunk/echobase-services/src/test/resources/import-data/result/map/mapsOther.csv.gz (from rev 823, trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz)
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/update-import-data-db.sh
===================================================================
--- trunk/echobase-services/update-import-data-db.sh 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-services/update-import-data-db.sh 2013-08-01 08:24:28 UTC (rev 827)
@@ -52,4 +52,4 @@
#executeMaven fr.ifremer.echobase.services.importdata.ResultsRegionCellImportServiceIT
-#executeMaven fr.ifremer.echobase.services.importdata.ResultsMapCellImportServiceIT
+#executeMaven fr.ifremer.echobase.services.importdata.ResultsMapFishCellImportServiceIT
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java 2013-08-01 08:24:28 UTC (rev 827)
@@ -93,11 +93,17 @@
}
@InputConfig(methodName = "input")
- public String modeMap() throws Exception {
+ public String modeMapFish() throws Exception {
return execute();
}
+ @InputConfig(methodName = "input")
+ public String modeMapOther() throws Exception {
+
+ return execute();
+ }
+
public Map<String, String> getVoyages() {
return voyages;
}
Copied: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeTransit-validation.xml (from rev 823, trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeAll-validation.xml)
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeTransit-validation.xml (rev 0)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeTransit-validation.xml 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,47 @@
+<!--
+ #%L
+ EchoBase :: UI
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2011 Ifremer, Codelutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="model.voyageId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.voyage.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.transitRelatedActivity">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.transitRelatedActivity.required"/>
+ </field-validator>
+ </field>
+
+ <field name="transitFile">
+ <field-validator type="nfieldexpression">
+ <param name="expression">model.transitFile.file!=null</param>
+ <message key="echobase.error.import.transitFile.required"/>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Copied: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeVoyage-validation.xml (from rev 823, trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeAll-validation.xml)
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeVoyage-validation.xml (rev 0)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport-configureCommon-modeVoyage-validation.xml 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,59 @@
+<!--
+ #%L
+ EchoBase :: UI
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2011 Ifremer, Codelutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="model.missionId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.mission.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.areaOfOperationId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.areaOfOperation.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.voyageDescription">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.voyageDescription.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.datum">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.datum.required"/>
+ </field-validator>
+ </field>
+
+ <field name="voyageFile">
+ <field-validator type="nfieldexpression">
+ <param name="expression">model.voyageFile.file!=null</param>
+ <message key="echobase.error.import.voyageFile.required"/>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Deleted: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMap-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMap-validation.xml 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMap-validation.xml 2013-08-01 08:24:28 UTC (rev 827)
@@ -1,47 +0,0 @@
-<!--
- #%L
- EchoBase :: UI
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2011 Ifremer, Codelutin
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero 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 Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- -->
-<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
- "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
-<validators>
-
- <field name="model.voyageId">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.voyage.required"/>
- </field-validator>
- </field>
-
- <field name="model.resultLabel">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.resultLabel.required"/>
- </field-validator>
- </field>
-
- <field name="mapsFile">
- <field-validator type="nfieldexpression">
- <param name="expression">model.mapsFile.file!=null</param>
- <message key="echobase.error.import.mapsFile.required"/>
- </field-validator>
- </field>
-
-</validators>
\ No newline at end of file
Copied: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapFish-validation.xml (from rev 823, trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMap-validation.xml)
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapFish-validation.xml (rev 0)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapFish-validation.xml 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,47 @@
+<!--
+ #%L
+ EchoBase :: UI
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2011 Ifremer, Codelutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="model.voyageId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.voyage.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.resultLabel">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.resultLabel.required"/>
+ </field-validator>
+ </field>
+
+ <field name="mapsFile">
+ <field-validator type="nfieldexpression">
+ <param name="expression">model.mapsFile.file!=null</param>
+ <message key="echobase.error.import.mapsFile.required"/>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Added: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapOther-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapOther-validation.xml (rev 0)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapOther-validation.xml 2013-08-01 08:24:28 UTC (rev 827)
@@ -0,0 +1,47 @@
+<!--
+ #%L
+ EchoBase :: UI
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2011 Ifremer, Codelutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero 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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ -->
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="model.voyageId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.voyage.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.resultLabel">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.resultLabel.required"/>
+ </field-validator>
+ </field>
+
+ <field name="mapsFile">
+ <field-validator type="nfieldexpression">
+ <param name="expression">model.mapsFile.file!=null</param>
+ <message key="echobase.error.import.mapsFile.required"/>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Property changes on: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport-configureResults-modeMapOther-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -51,7 +51,8 @@
echobase.common.author=Author
echobase.common.authorEmail=Author email
echobase.common.biometrySampleFile=
-echobase.common.cellMapsFile=
+echobase.common.cellMapsFishFile=Map cells file (Fishes)
+echobase.common.cellMapsOtherFile=Map cells file (Other)
echobase.common.cellPositionReference=cellPositionReference
echobase.common.cellRegionAssociationFile=
echobase.common.cellRegionResultFile=
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2013-08-01 08:24:28 UTC (rev 827)
@@ -52,6 +52,8 @@
echobase.common.authorEmail=Courriel de l'auteur
echobase.common.biometrySampleFile=
echobase.common.cellMapsFile=
+echobase.common.cellMapsFishFile=Fichier des cellules Cartes (Poisson)
+echobase.common.cellMapsOtherFile=Fichier des cellules Cartes (Autre)
echobase.common.cellPositionReference=Référentiel géographique des cellules des cartes
echobase.common.cellRegionAssociationFile=
echobase.common.cellRegionResultFile=
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp 2013-08-01 08:24:28 UTC (rev 827)
@@ -190,7 +190,7 @@
<s:submit action="configureResults-modeRegion" key='echobase.action.import'/>
</s:form>
-<s:form id="RESULT_MAP" namespace="/importData" method="POST"
+<s:form id="RESULT_MAP_FISH" namespace="/importData" method="POST"
enctype="multipart/form-data" cssClass="hidden importType">
<fieldset>
@@ -205,7 +205,7 @@
</div>
<br/>
- <s:hidden key="model.importType" value="RESULT_MAP" label=''/>
+ <s:hidden key="model.importType" value="RESULT_MAP_FISH" label=''/>
<s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
@@ -215,11 +215,45 @@
label='%{getText("echobase.common.resultLabel")}'/>
<s:file key="mapsFile" requiredLabel="true"
- label='%{getText("echobase.common.cellMapsFile")}'/>
+ label='%{getText("echobase.common.cellMapsFishFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
label='%{getText("echobase.common.importNotes")}'/>
</fieldset>
<br/>
- <s:submit action="configureResults-modeMap" key='echobase.action.import'/>
+ <s:submit action="configureResults-modeMapFish" key='echobase.action.import'/>
</s:form>
+
+<s:form id="RESULT_MAP_OTHER" namespace="/importData" method="POST"
+ enctype="multipart/form-data" cssClass="hidden importType">
+
+ <fieldset>
+ <legend>
+ <s:text name="echobase.legend.importData.configure"/>
+ </legend>
+
+ <div class="cleanBoth help">
+ <s:a href="%{getDocumentation('importData.html', null)}" target="doc">
+ <s:text name="echobase.action.show.import.documentation"/>
+ </s:a>
+ </div>
+ <br/>
+
+ <s:hidden key="model.importType" value="RESULT_MAP_OTHER" label=''/>
+
+ <s:select key="model.voyageId" requiredLabel="true"
+ label='%{getText("echobase.common.voyage")}'
+ list="voyages" headerKey="" headerValue=""/>
+
+ <s:textfield key="model.resultLabel" size="40" requiredLabel="true"
+ label='%{getText("echobase.common.resultLabel")}'/>
+
+ <s:file key="mapsFile" requiredLabel="true"
+ label='%{getText("echobase.common.cellMapsOtherFile")}'/>
+
+ <s:textarea key="model.importNotes" cols="80" rows="5"
+ label='%{getText("echobase.common.importNotes")}'/>
+ </fieldset>
+ <br/>
+ <s:submit action="configureResults-modeMapOther" key='echobase.action.import'/>
+</s:form>
\ No newline at end of file
1
0
01 Aug '13
Author: tchemit
Date: 2013-08-01 08:26:47 +0200 (Thu, 01 Aug 2013)
New Revision: 826
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/826
Log:
fixes #2245: Pouvoir se connecter ?\195?\160 la base de travail avec un autre utilisateur
fixes do not use html5 tags required (use struts requiredLabel instead)
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java
trunk/echobase-domain/src/main/xmi/echobase-internal.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/workingDb/WorkingDbConfigurationService.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Create.java
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/configure.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/confirmDelete.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQuery.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQueryResult.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/newLibreOfficeQuery.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureOperationImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMission.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/Create.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/login.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/confirmDelete.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/manage.jsp
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java 2013-08-01 06:26:47 UTC (rev 826)
@@ -38,10 +38,10 @@
import java.util.List;
/**
- * TODO
+ * Migrate internal db to version {@code 2.2}.
*
* @author tchemit <chemit(a)codelutin.com>
- * @since TODO
+ * @since 2.2
*/
public class MigrationCallBackForVersion2_2 extends MigrationCallBackForVersion {
@Override
@@ -57,10 +57,18 @@
List<String> queries,
boolean showSql,
boolean showProgression) throws TopiaException {
- // normalize queries names
+
+ // normalize queries names (http://forge.codelutin.com/issues/2875)
normalizeExportQueryNames(tx, queries);
+
+ // remove login from workingdbconfiguration (http://forge.codelutin.com/issues/2245)
+ removeLoginField(queries);
}
+ protected void removeLoginField(List<String> queries) {
+ queries.add("ALTER TABLE WorkingDbConfiguration DROP COLUMN login");
+ }
+
protected void normalizeExportQueryNames(TopiaContextImplementor tx, List<String> queries) {
TopiaSQLQuery<ExportQuery> query = new TopiaSQLQuery<ExportQuery>() {
Modified: trunk/echobase-domain/src/main/xmi/echobase-internal.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DecoratorService.java 2013-08-01 06:26:47 UTC (rev 826)
@@ -190,7 +190,7 @@
// WorkingDbConfiguration decorator
- registerJXPathDecorator(locale, WorkingDbConfiguration.class, "${url}$s - ${login}$s (${description}$s)");
+ registerJXPathDecorator(locale, WorkingDbConfiguration.class, "${url}$s - (${description}$s)");
// AcousticInstrument decorator
registerJXPathDecorator(locale, AcousticInstrument.class, "${id}$s");
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/workingDb/WorkingDbConfigurationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/workingDb/WorkingDbConfigurationService.java 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/workingDb/WorkingDbConfigurationService.java 2013-08-01 06:26:47 UTC (rev 826)
@@ -56,7 +56,6 @@
result.setTopiaId(entity.getTopiaId());
result.setDescription(entity.getDescription());
result.setDriverType(entity.getDriverType());
- result.setLogin(entity.getLogin());
String url = entity.getUrl();
if (url.contains("${echobase.data.directory}")) {
@@ -119,7 +118,6 @@
if (!isUrlAlreadyUsed(url)) {
WorkingDbConfiguration conf = newConfiguration();
conf.setDriverType(DriverType.H2);
- conf.setLogin("sa");
conf.setDescription("Embedded working db");
conf.setUrl(url);
try {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java 2013-08-01 06:26:47 UTC (rev 826)
@@ -41,10 +41,20 @@
private static final long serialVersionUID = 1L;
+ protected String login;
+
protected String password;
protected JdbcConfiguration jdbcConf;
+ public String getLogin() {
+ return login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
public String getPassword() {
return password;
}
@@ -69,6 +79,10 @@
} catch (SQLException e) {
jdbcConf = null;
addFieldError(
+ "login",
+ _("echobase.error.workingDbConfiguration.couldNotConnect",
+ e.getMessage()));
+ addFieldError(
"password",
_("echobase.error.workingDbConfiguration.couldNotConnect",
e.getMessage()));
@@ -82,7 +96,7 @@
jdbcConf = JdbcConfiguration.newConfig(
getConf().getDriverType(), getConf().getUrl(),
- getConf().getLogin(), password);
+ login, password);
// check connexion is ok
try {
@@ -90,6 +104,10 @@
} catch (SQLException e) {
jdbcConf = null;
addFieldError(
+ "login",
+ _("echobase.error.workingDbConfiguration.couldNotConnect",
+ e.getMessage()));
+ addFieldError(
"password",
_("echobase.error.workingDbConfiguration.couldNotConnect",
e.getMessage()));
@@ -104,6 +122,9 @@
if (DriverType.H2.equals(conf.getDriverType()) &&
StringUtils.isBlank(getPassword())) {
+ // use default h2 login
+ setLogin("sa");
+
// use a default h2 password
setPassword("sa");
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Create.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Create.java 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Create.java 2013-08-01 06:26:47 UTC (rev 826)
@@ -95,12 +95,6 @@
}
}
- if (StringUtils.isBlank(getConf().getLogin())) {
- addFieldError(
- "conf.login",
- _("echobase.error.workingDbConfiguration.login.required"));
- }
-
if (StringUtils.isBlank(getConf().getDescription())) {
addFieldError(
"conf.description",
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -217,7 +217,7 @@
enctype="multipart/form-data">
<s:hidden key="entityType" label=''/>
- <s:file key="importFile" required="true"
+ <s:file key="importFile" requiredLabel="true"
label="%{getText('echobase.label.importFile')}"/>
<s:checkbox key='createIfNotFound' value='true'
@@ -232,7 +232,7 @@
<s:form id="exportForm" namespace="/dbeditor" method="post">
<s:hidden key="entityType" label=''/>
- <s:textfield key="exportFileName" required="true" size="100"
+ <s:textfield key="exportFileName" requiredLabel="true" size="100"
label="%{getText('echobase.label.exportFileName')}"/>
<s:checkbox key='exportAsSeen' value='false'
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/configure.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/configure.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/configure.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -38,7 +38,7 @@
template="mycheckboxlist"
label="%{getText('echobase.label.voyageToSelect')}"/>
- <s:textfield key="model.fileName" required="true" size="100"
+ <s:textfield key="model.fileName" requiredLabel="true" size="100"
label="%{getText('echobase.label.embeddedApplicationFileName')} (*)"/>
<s:label value="%{model.warLocation.name}" readonly="true" disabled="true"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -62,12 +62,12 @@
<br/>
<s:radio id='mode' key='model.exportDbMode' list="modes"
- cssClass="cleanBoth" required="true" template="myradiomap"
+ cssClass="cleanBoth" requiredLabel="true" template="myradiomap"
label='%{getText("echobase.common.exportDbMode")}'/>
<div class="cleanBoth"></div>
<br/>
- <s:textfield key="model.fileName" required="true" size="100"
+ <s:textfield key="model.fileName" requiredLabel="true" size="100"
label="%{getText('echobase.label.exportDbFileName')} (*)"/>
<div class="cleanBoth"></div>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/confirmDelete.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/confirmDelete.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/confirmDelete.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -42,15 +42,15 @@
- <s:textarea name="query.name" required="true" cols="160" rows="1"
+ <s:textarea name="query.name" requiredLabel="true" cols="160" rows="1"
readonly="true"
label="%{getText('echobase.label.query.name')}"/>
- <s:textarea name="query.description" required="true" cols="160" rows="2"
+ <s:textarea name="query.description" requiredLabel="true" cols="160" rows="2"
readonly="true"
label="%{getText('echobase.label.query.description')}"/>
- <s:textarea name="query.sqlQuery" required="true" cols="160" rows="4"
+ <s:textarea name="query.sqlQuery" requiredLabel="true" cols="160" rows="4"
label="%{getText('echobase.label.query.sql')}"/>
<br/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQuery.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQuery.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQuery.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -97,15 +97,15 @@
<fieldset>
<legend><s:text name="echobase.legend.sqlQuery.configuration"/></legend>
- <s:textarea key="query.name" required="true" cols="160" rows="1"
+ <s:textarea key="query.name" requiredLabel="true" cols="160" rows="1"
readonly="%{queryExists and !canUpdateQuery}"
label="%{getText('echobase.label.query.name')}"/>
- <s:textarea key="query.description" required="true" cols="160" rows="2"
+ <s:textarea key="query.description" requiredLabel="true" cols="160" rows="2"
readonly="%{queryExists and !canUpdateQuery}"
label="%{getText('echobase.label.query.description')}"/>
- <s:textarea key="query.sqlQuery" required="true" cols="160" rows="4"
+ <s:textarea key="query.sqlQuery" requiredLabel="true" cols="160" rows="4"
readonly="%{queryExists and !canUpdateQuery}"
label="%{getText('echobase.label.query.sql')}"/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQueryResult.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQueryResult.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/exportQueryResult.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -56,7 +56,7 @@
<legend><s:text name="echobase.legend.sqlQuery.result"/></legend>
<s:hidden key="queryId" label=""/>
- <s:textfield key="fileName" required="true" size="100"
+ <s:textfield key="fileName" requiredLabel="true" size="100"
label="%{getText('echobase.label.exportFileName')}"/>
<s:submit value="%{getText('echobase.action.exportSqlData')}" align="left"/>
<br/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/newLibreOfficeQuery.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/newLibreOfficeQuery.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportQuery/newLibreOfficeQuery.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -67,7 +67,7 @@
<fieldset class="ui-corner-all">
<legend><s:text name="echobase.legend.libreOfficeQuery"/></legend>
- <s:textarea name="libreOfficeQuery" required="true" cols="500" rows="8"
+ <s:textarea name="libreOfficeQuery" requiredLabel="true" cols="500" rows="8"
theme="simple" value=""/>
<ul class="toolbar floatRight">
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -59,14 +59,14 @@
</div>
<br/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <sj:select key="model.vesselId" required="true"
+ <sj:select key="model.vesselId" requiredLabel="true"
label='%{getText("echobase.common.vessel")}'/>
- <s:select key="model.cellPositionReference" required="true"
+ <s:select key="model.cellPositionReference" requiredLabel="true"
label='%{getText("echobase.common.cellPositionReference")}'
list="cellPositionReferences" headerKey="" headerValue=""/>
@@ -74,53 +74,53 @@
label='%{getText("echobase.common.addDataAcquisition")}'/>
<s:textfield key="model.transceiverAcquisitionAbsorptionDescription"
- size="80" required="true"
+ size="80" requiredLabel="true"
label='%{getText("echobase.common.transceiverAcquisitionAbsorptionDescription")}'/>
<s:textfield key="model.acquisitionSoftwareVersionER60" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.acquisitionSoftwareVersionER60")}'/>
<s:textfield key="model.acquisitionSoftwareVersionME70" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.acquisitionSoftwareVersionME70")}'/>
- <s:textfield key="model.loggedDataFormat" size="80" required="true"
+ <s:textfield key="model.loggedDataFormat" size="80" requiredLabel="true"
label='%{getText("echobase.common.loggedDataFormat")}'/>
- <s:textfield key="model.loggedDataDatatype" size="80" required="true"
+ <s:textfield key="model.loggedDataDatatype" size="80" requiredLabel="true"
label='%{getText("echobase.common.loggedDataDatatype")}'/>
- <s:textfield key="model.pingDutyCycle" size="80" required="true"
+ <s:textfield key="model.pingDutyCycle" size="80" requiredLabel="true"
label='%{getText("echobase.common.pingDutyCycle")}'/>
<s:textfield key="model.soundSpeedCalculationsER60" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.soundSpeedCalculationsER60")}'/>
<s:textfield key="model.soundSpeedCalculationsME70" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.soundSpeedCalculationsME70")}'/>
- <s:textfield key="model.sounderConstant" size="80" required="true"
+ <s:textfield key="model.sounderConstant" size="80" requiredLabel="true"
label='%{getText("echobase.common.sounderConstant")}'/>
- <s:textfield key="model.processingTemplate" size="80" required="true"
+ <s:textfield key="model.processingTemplate" size="80" requiredLabel="true"
label='%{getText("echobase.common.processingTemplate")}'/>
- <s:textfield key="model.processingDescription" size="80" required="true"
+ <s:textfield key="model.processingDescription" size="80" requiredLabel="true"
label='%{getText("echobase.common.processingDescription")}'/>
- <s:textfield key="model.digitThreshold" size="80" required="true"
+ <s:textfield key="model.digitThreshold" size="80" requiredLabel="true"
label='%{getText("echobase.common.digitThreshold")}'/>
- <s:textfield key="model.acousticDensityUnit" size="80" required="true"
+ <s:textfield key="model.acousticDensityUnit" size="80" requiredLabel="true"
label='%{getText("echobase.common.acousticDensityUnit")}'/>
- <s:textfield key="model.notes" size="80" required="true"
+ <s:textfield key="model.notes" size="80" requiredLabel="true"
label='%{getText("echobase.common.dataProcessingNotes")}'/>
- <s:file key="moviesFile" required="true"
+ <s:file key="moviesFile" requiredLabel="true"
label='%{getText("echobase.common.moviesFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -52,11 +52,11 @@
</div>
<br/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:label key="echobase.information.one.file.required" required="true"
+ <s:label key="echobase.information.one.file.required" requiredLabel="true"
value=''/>
<s:file key="totalSampleFile"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -46,7 +46,7 @@
<s:radio id='mode' key='model.importType' list="importTypes"
cssClass="cleanBoth" label='%{getText("echobase.common.importType")}'
- required="true" template="myradiomap"/>
+ requiredLabel="true" template="myradiomap"/>
<hr/>
@@ -67,43 +67,43 @@
</div>
<br/>
- <s:select key="model.missionId" required="true"
+ <s:select key="model.missionId" requiredLabel="true"
label='%{getText("echobase.common.mission")}'
list="missions" headerKey="" headerValue=""/>
<br/>
<s:hidden key="model.importType" value="COMMON_ALL" label=''/>
- <s:select key="model.areaOfOperationId" required="true"
+ <s:select key="model.areaOfOperationId" requiredLabel="true"
label='%{getText("echobase.common.areaOfOperation")}'
list="areaOfOperations" headerKey="" headerValue=""/>
- <s:textfield key="model.voyageDescription" size="80" required="true"
+ <s:textfield key="model.voyageDescription" size="80" requiredLabel="true"
label='%{getText("echobase.common.voyageDescription")}'/>
- <s:textfield key="model.datum" size="80" required="true"
+ <s:textfield key="model.datum" size="80" requiredLabel="true"
label='%{getText("echobase.common.datum")}'/>
- <s:textfield key="model.transitRelatedActivity" size="80" required="true"
+ <s:textfield key="model.transitRelatedActivity" size="80" requiredLabel="true"
label='%{getText("echobase.common.transitRelatedActivity")}'/>
- <s:textfield key="model.transectLicence" size="80" required="true"
+ <s:textfield key="model.transectLicence" size="80" requiredLabel="true"
label='%{getText("echobase.common.transectLicence")}'/>
<s:textfield key="model.transectGeospatialVerticalPositive" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.transectGeospatialVerticalPositive")}'/>
- <s:textfield key="model.transectBinUnitsPingAxis" size="80" required="true"
+ <s:textfield key="model.transectBinUnitsPingAxis" size="80" requiredLabel="true"
label='%{getText("echobase.common.transectBinUnitsPingAxis")}'/>
- <s:file key="voyageFile" required="true"
+ <s:file key="voyageFile" requiredLabel="true"
label='%{getText("echobase.common.voyageFile")}'/>
- <s:file key="transitFile" required="true"
+ <s:file key="transitFile" requiredLabel="true"
label='%{getText("echobase.common.transitFile")}'/>
- <s:file key="transectFile" required="true"
+ <s:file key="transectFile" requiredLabel="true"
label='%{getText("echobase.common.transectFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
@@ -133,24 +133,24 @@
</div>
<br/>
- <s:select key="model.missionId" required="true"
+ <s:select key="model.missionId" requiredLabel="true"
label='%{getText("echobase.common.mission")}'
list="missions" headerKey="" headerValue=""/>
<br/>
<s:hidden key="model.importType" value="COMMON_VOYAGE" label=''/>
- <s:select key="model.areaOfOperationId" required="true"
+ <s:select key="model.areaOfOperationId" requiredLabel="true"
label='%{getText("echobase.common.areaOfOperation")}'
list="areaOfOperations" headerKey="" headerValue=""/>
- <s:textfield key="model.voyageDescription" size="80" required="true"
+ <s:textfield key="model.voyageDescription" size="80" requiredLabel="true"
label='%{getText("echobase.common.voyageDescription")}'/>
- <s:textfield key="model.datum" size="80" required="true"
+ <s:textfield key="model.datum" size="80" requiredLabel="true"
label='%{getText("echobase.common.datum")}'/>
- <s:file key="voyageFile" required="true"
+ <s:file key="voyageFile" requiredLabel="true"
label='%{getText("echobase.common.voyageFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
@@ -182,14 +182,14 @@
<s:hidden key="model.importType" value="COMMON_TRANSIT" label=''/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:textfield key="model.transitRelatedActivity" size="80" required="true"
+ <s:textfield key="model.transitRelatedActivity" size="80" requiredLabel="true"
label='%{getText("echobase.common.transitRelatedActivity")}'/>
- <s:file key="transitFile" required="true"
+ <s:file key="transitFile" requiredLabel="true"
label='%{getText("echobase.common.transitFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
@@ -221,24 +221,24 @@
</div>
<br/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:textfield key="model.datum" size="80" required="true"
+ <s:textfield key="model.datum" size="80" requiredLabel="true"
label='%{getText("echobase.common.datum")}'/>
- <s:textfield key="model.transectLicence" size="80" required="true"
+ <s:textfield key="model.transectLicence" size="80" requiredLabel="true"
label='%{getText("echobase.common.transectLicence")}'/>
<s:textfield key="model.transectGeospatialVerticalPositive" size="80"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.transectGeospatialVerticalPositive")}'/>
- <s:textfield key="model.transectBinUnitsPingAxis" size="80" required="true"
+ <s:textfield key="model.transectBinUnitsPingAxis" size="80" requiredLabel="true"
label='%{getText("echobase.common.transectBinUnitsPingAxis")}'/>
- <s:file key="transectFile" required="true"
+ <s:file key="transectFile" requiredLabel="true"
label='%{getText("echobase.common.transectFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureOperationImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureOperationImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureOperationImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -46,17 +46,17 @@
</div>
<br/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:file key="operationFile" required="true"
+ <s:file key="operationFile" requiredLabel="true"
label='%{getText("echobase.common.operationFile")}'/>
- <s:file key="operationMetadataFile" required="true"
+ <s:file key="operationMetadataFile" requiredLabel="true"
label='%{getText("echobase.common.operationMetadataFile")}'/>
- <s:file key="gearMetadataFile" required="true"
+ <s:file key="gearMetadataFile" requiredLabel="true"
label='%{getText("echobase.common.gearMetadataFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -57,7 +57,7 @@
</script>
<s:radio id='mode' key='model.importType' list="importTypes"
- cssClass="cleanBoth" required="true" template="myradiomap"
+ cssClass="cleanBoth" requiredLabel="true" template="myradiomap"
label='%{getText("echobase.common.importType")}' />
<s:form id="RESULT_VOYAGE" namespace="/importData" method="POST"
@@ -77,11 +77,11 @@
<s:hidden key="model.importType" value="RESULT_VOYAGE" label=''/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:label key="echobase.information.one.file.required" required="true"
+ <s:label key="echobase.information.one.file.required" requiredLabel="true"
value=''/>
<s:file key="lengthAgeKeyFile"
@@ -117,18 +117,18 @@
<s:hidden key="model.importType" value="RESULT_ESDU" label=''/>
- <s:select id='voyageSelectBox' key="model.voyageId" required="true"
+ <s:select id='voyageSelectBox' key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
<sj:select id='dataProcessingSelectBox' key="model.dataProcessingId"
- required="true"
+ requiredLabel="true"
label='%{getText("echobase.common.dataProcessing")}'/>
- <s:textfield key="model.resultLabel" size="40" required="true"
+ <s:textfield key="model.resultLabel" size="40" requiredLabel="true"
label='%{getText("echobase.common.resultLabel")}'/>
- <s:label key="echobase.information.one.file.required" required="true"
+ <s:label key="echobase.information.one.file.required" requiredLabel="true"
value=''/>
<s:file key="esduByEchotypeFile"
@@ -167,20 +167,20 @@
<s:hidden key="model.importType" value="RESULT_REGION" label=''/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:textfield key="model.resultLabel" size="40" required="true"
+ <s:textfield key="model.resultLabel" size="40" requiredLabel="true"
label='%{getText("echobase.common.resultLabel")}'/>
- <s:file key="regionsFile" required="true"
+ <s:file key="regionsFile" requiredLabel="true"
label='%{getText("echobase.common.cellRegionsFile")}'/>
- <s:file key="regionAssociationFile" required="true"
+ <s:file key="regionAssociationFile" requiredLabel="true"
label='%{getText("echobase.common.cellRegionAssociationFile")}'/>
- <s:file key="regionResultFile" required="true"
+ <s:file key="regionResultFile" requiredLabel="true"
label='%{getText("echobase.common.cellRegionResultFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
@@ -207,14 +207,14 @@
<s:hidden key="model.importType" value="RESULT_MAP" label=''/>
- <s:select key="model.voyageId" required="true"
+ <s:select key="model.voyageId" requiredLabel="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
- <s:textfield key="model.resultLabel" size="40" required="true"
+ <s:textfield key="model.resultLabel" size="40" requiredLabel="true"
label='%{getText("echobase.common.resultLabel")}'/>
- <s:file key="mapsFile" required="true"
+ <s:file key="mapsFile" requiredLabel="true"
label='%{getText("echobase.common.cellMapsFile")}'/>
<s:textarea key="model.importNotes" cols="80" rows="5"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMission.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMission.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/createMission.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -33,10 +33,10 @@
<s:text name="echobase.legend.importData.createMission"/>
</legend>
- <s:textfield key="mission.name" size="40" required="true"
+ <s:textfield key="mission.name" size="40" requiredLabel="true"
label='%{getText("echobase.common.name")}'/>
- <s:textfield key="mission.missionAbstract" size="40" required="true"
+ <s:textfield key="mission.missionAbstract" size="40" requiredLabel="true"
label='%{getText("echobase.common.missionAbstract")}'/>
<s:textfield key="mission.litteratureReferences" size="40"
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -54,7 +54,7 @@
</legend>
<s:radio key='mode' list="modes" cssClass="cleanBoth"
label='%{getText("echobase.common.importDataMode")}'
- required="true" template="myradiomap"/>
+ requiredLabel="true" template="myradiomap"/>
</fieldset>
<s:submit action="selectImportType" key='echobase.action.configureImport'
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -39,11 +39,11 @@
</div>
<br/>
<s:radio id='mode' key='model.importDbMode' list="modes"
- cssClass="cleanBoth" required="true" template="myradiomap"
+ cssClass="cleanBoth" requiredLabel="true" template="myradiomap"
label='%{getText("echobase.common.importDbMode")}'/>
<div class="cleanBoth"></div>
<br/>
- <s:file name="input" required="true" key="echobase.common.importDbFile"/>
+ <s:file name="input" requiredLabel="true" key="echobase.common.importDbFile"/>
</fieldset>
<br/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/Create.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/Create.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/Create.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -33,10 +33,10 @@
<s:text name="echobase.common.user"/>
</legend>
<s:textfield key="user.email" label="%{getText('echobase.common.email')}"
- size="40" required="true"/>
+ size="40" requiredLabel="true"/>
<s:password key="user.password"
label="%{getText('echobase.common.password')}"
- size="40" required="true"/>
+ size="40" requiredLabel="true"/>
<s:checkbox key="user.admin" label="%{getText('echobase.common.admin')}"/>
</fieldset>
<ul class="toolbar floatRight">
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/login.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/login.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/login.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -60,9 +60,9 @@
<fieldset class="ui-corner-all">
<s:hidden key="redirectAction" label=""/>
<s:textfield name="email" key="echobase.common.email"
- required="true" size="60"/>
+ requiredLabel="true" size="60"/>
<s:password name="password" key="echobase.common.password"
- required="true" size="60"/>
+ requiredLabel="true" size="60"/>
</fieldset>
<br/>
<s:submit action="login" key="echobase.action.login" align="right"/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/confirmDelete.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/confirmDelete.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/confirmDelete.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -48,9 +48,6 @@
<s:textarea name="conf.description" cols="160" rows="2" readonly="true"
label="%{getText('echobase.label.workingDbConfiguration.description')}"/>
- <s:textarea name="conf.login" readonly="true" cols="160" rows="4"
- label="%{getText('echobase.label.workingDbConfiguration.login')}"/>
-
<br/>
<s:form namespace="/workingDb">
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/manage.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/manage.jsp 2013-08-01 00:12:52 UTC (rev 825)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/manage.jsp 2013-08-01 06:26:47 UTC (rev 826)
@@ -79,23 +79,23 @@
</legend>
<s:select key="conf.driverType" cssStyle="font-size: 140%"
- label="%{getText('echobase.label.driverType')}" required="true"
+ label="%{getText('echobase.label.driverType')}" requiredLabel="true"
list="driverTypes" disabled="%{confExists}"/>
- <s:textfield key="conf.url" required="true" size="80"
+ <s:textfield key="conf.url" requiredLabel="true" size="80"
readonly="%{confExists}"
label="%{getText('echobase.label.workingDbConfiguration.url')}"/>
- <s:textarea key="conf.description" required="true" cols="160" rows="4"
+ <s:textarea key="conf.description" requiredLabel="true" cols="160" rows="4"
readonly="%{confExists}"
label="%{getText('echobase.label.workingDbConfiguration.description')}"/>
- <s:textfield key="conf.login" required="true" size="80"
- readonly="%{confExists}"
- label="%{getText('echobase.label.workingDbConfiguration.login')}"/>
+ <s:if test="confExists">
- <s:if test="confExists">
- <s:password key="password" required="true" size="80"
+ <s:textfield key="login" requiredLabel="true" size="80"
+ label="%{getText('echobase.label.workingDbConfiguration.login')}"/>
+
+ <s:password key="password" requiredLabel="true" size="80"
label="%{getText('echobase.label.workingDbConfiguration.password')}"/>
</s:if>
1
0
01 Aug '13
Author: tchemit
Date: 2013-08-01 02:12:52 +0200 (Thu, 01 Aug 2013)
New Revision: 825
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/825
Log:
fixes #3028: Permettre l'import s?\195?\169par?\195?\169 des voyages, transits, transects
Added:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransitImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransitImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
Removed:
trunk/echobase-domain/src/test/java/fr/ifremer/echobase/entities/
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java
trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties
trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ImportType.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -43,15 +43,23 @@
COMMON_ALL(n_("echobase.common.importType.commonDataAll"),
n_("echobase.common.importType.commonDataAll.short")),
- /** Import all common data from Transect to Operation. */
+ /** Import Voyage. */
+ COMMON_VOYAGE(n_("echobase.common.importType.commonDataVoyage"),
+ n_("echobase.common.importType.commonDataVoyage.short")),
+
+ /** Import Transit. */
+ COMMON_TRANSIT(n_("echobase.common.importType.commonDataTransit"),
+ n_("echobase.common.importType.commonDataTransit.short")),
+
+ /** Import Transect. */
COMMON_TRANSECT(n_("echobase.common.importType.commonDataTransect"),
n_("echobase.common.importType.commonDataTransect.short")),
- /** Import operations common data. */
+ /** Import Operations. */
OPERATION(n_("echobase.common.importType.operation"),
n_("echobase.common.importType.operation.short")),
- /** Import catches data (unsorted, total, but no individual ones). */
+ /** Import Catches (unsorted, total, but no individual ones). */
CATCHES(n_("echobase.common.importType.catches"),
n_("echobase.common.importType.catches.short")),
@@ -82,6 +90,8 @@
*/
protected static final ImportType[] COMMON_IMPORT_TYPES = new ImportType[]{
ImportType.COMMON_ALL,
+ ImportType.COMMON_VOYAGE,
+ ImportType.COMMON_TRANSIT,
ImportType.COMMON_TRANSECT};
/**
Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-08-01 00:12:52 UTC (rev 825)
@@ -8,6 +8,10 @@
echobase.common.importType.commonDataAll.short=V/T/T
echobase.common.importType.commonDataTransect=Transects import
echobase.common.importType.commonDataTransect.short=Transect
+echobase.common.importType.commonDataTransit=
+echobase.common.importType.commonDataTransit.short=
+echobase.common.importType.commonDataVoyage=
+echobase.common.importType.commonDataVoyage.short=
echobase.common.importType.operation=Operations data import
echobase.common.importType.operation.short=Operation
echobase.common.importType.resultsEsdu=Import the “ESDU” cells results
Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-08-01 00:12:52 UTC (rev 825)
@@ -8,6 +8,10 @@
echobase.common.importType.commonDataAll.short=V/T/T
echobase.common.importType.commonDataTransect=Import Transects
echobase.common.importType.commonDataTransect.short=Transects
+echobase.common.importType.commonDataTransit=Import Transits
+echobase.common.importType.commonDataTransit.short=Transits
+echobase.common.importType.commonDataVoyage=Import Voyage
+echobase.common.importType.commonDataVoyage.short=Voyage
echobase.common.importType.operation=Import des opérations
echobase.common.importType.operation.short=Opérations
echobase.common.importType.resultsEsdu=Import des résultats des cellules de type "ESDU"
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -23,34 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata;
-import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.data.Transit;
-import fr.ifremer.echobase.entities.data.TransitDAO;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.data.VoyageDAO;
-import fr.ifremer.echobase.entities.references.AreaOfOperation;
-import fr.ifremer.echobase.entities.references.Mission;
import fr.ifremer.echobase.entities.references.Vessel;
-import fr.ifremer.echobase.io.InputFile;
-import fr.ifremer.echobase.services.importdata.csv.TransitImportModel;
-import fr.ifremer.echobase.services.importdata.csv.TransitImportRow;
-import fr.ifremer.echobase.services.importdata.csv.VoyageImportModel;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.csv.Import;
-import org.nuiton.csv.ImportModel;
-import org.nuiton.csv.ImportRuntimeException;
-import java.io.Reader;
-import java.util.Arrays;
-import java.util.Locale;
import java.util.Map;
-import static org.nuiton.i18n.I18n.l_;
-
/**
* Service to launch a "common all data" import.
*
@@ -59,10 +37,6 @@
*/
public class CommonAllImportService extends AbstractImportDataService<CommonImportConfiguration> {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(CommonAllImportService.class);
-
@Override
protected void startImport(CommonImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
@@ -73,141 +47,14 @@
EchoBaseCsvFileImportResult importResult;
- importResult = importVoyageFile(configuration);
+ importResult = getService(CommonVoyageImportService.class).importFile(configuration);
configuration.addResult(importResult);
- importResult = importTransitFile(configuration);
+ importResult = getService(CommonTransitImportService.class).importFile(configuration, false);
configuration.addResult(importResult);
- CommonImportService service = getService(CommonImportService.class);
-
- importResult = service.importTransectFile(vesselMap, configuration, false);
+ importResult = getService(CommonTransectImportService.class).importFile(vesselMap, configuration, false);
configuration.addResult(importResult);
}
- protected EchoBaseCsvFileImportResult importVoyageFile(
- CommonImportConfiguration configuration) throws ImportException {
-
- InputFile inputFile = configuration.getVoyageFile();
-
- if (log.isInfoEnabled()) {
- log.info("Starts import of voyages from file " +
- inputFile.getFileName());
- }
-
- Mission mission = getEntityById(Mission.class,
- configuration.getMissionId());
- AreaOfOperation areaOfOperation =
- getEntityById(AreaOfOperation.class,
- configuration.getAreaOfOperationId());
-
- EchoBaseCsvFileImportResult result = newImportResult(inputFile);
-
- String voyageDescription = configuration.getVoyageDescription();
- String datum = configuration.getDatum();
-
- VoyageDAO dao = getDAO(Voyage.class, VoyageDAO.class);
-
- ImportModel<Voyage> csvModel = new VoyageImportModel(getCsvSeparator());
-
- Voyage newVoyage = null;
- Locale locale = getLocale();
- Reader reader = getInputFileReader(inputFile);
- try {
- Import<Voyage> importer = Import.newImport(csvModel, reader);
-
- configuration.incrementsProgress();
- for (Voyage voyage : importer) {
-
- configuration.incrementsProgress();
-
- voyage.setMission(mission);
- voyage.setAreaOfOperation(areaOfOperation);
- voyage.setDescription(voyageDescription);
- voyage.setDatum(datum);
-
- Voyage createdVoyage = create(dao, voyage);
- if (newVoyage == null) {
- newVoyage = createdVoyage;
- } else {
- // this means a voyage file with more than one row not possible...
-
- throw new ImportException(
- l_(locale, "echobase.importError.can.only.import.one.voyage.atime"));
- }
-
- // collect id of the import
- result.addId(EchoBaseEntityEnum.Voyage, voyage);
- }
-
- if (newVoyage == null) {
- throw new ImportException(
- l_(locale, "echobase.importError.no.voyage.imported"));
- }
-
- // push back to id of the voyage in configuration for next imports
- configuration.setVoyageId(newVoyage.getTopiaId());
-
- return result;
- } catch (ImportRuntimeException e) {
- throw new ImportException(locale, inputFile, e);
- } finally {
- closeReader(reader, inputFile);
- }
- }
-
- protected EchoBaseCsvFileImportResult importTransitFile(
- CommonImportConfiguration configuration) throws ImportException {
-
- InputFile inputFile = configuration.getTransitFile();
-
- if (log.isInfoEnabled()) {
- log.info("Starts import of transits from file " +
- inputFile.getFileName());
- }
- EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
-
- // get voyage
- Voyage voyage = getEntityById(Voyage.class,
- configuration.getVoyageId());
-
- // restrict voyage to use to this voyage
- Map<String, Voyage> voyageMap = Maps.uniqueIndex(
- Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME);
-
- String relatedActivity = configuration.getTransitRelatedActivity();
-
- TransitImportModel csvModel =
- new TransitImportModel(getCsvSeparator(), voyageMap);
-
- TransitDAO dao = getDAO(Transit.class, TransitDAO.class);
-
- Reader reader = getInputFileReader(inputFile);
- try {
- Import<TransitImportRow> importer =
- Import.newImport(csvModel, reader);
-
- configuration.incrementsProgress();
- for (TransitImportRow row : importer) {
-
- configuration.incrementsProgress();
- Transit transit = row.getTransit();
-
- transit.setRelatedActivity(relatedActivity);
-
- Transit createdTransit = create(dao, transit);
-
- voyage.addTransit(createdTransit);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transit);
- }
- return importResult;
- } catch (ImportRuntimeException e) {
- throw new ImportException(getLocale(), inputFile, e);
- } finally {
- closeReader(reader, inputFile);
- }
- }
-
-
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -24,35 +24,13 @@
package fr.ifremer.echobase.services.importdata;
import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
-import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ImportType;
-import fr.ifremer.echobase.entities.data.Transect;
-import fr.ifremer.echobase.entities.data.TransectDAO;
-import fr.ifremer.echobase.entities.data.Transit;
-import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Mission;
import fr.ifremer.echobase.entities.references.MissionDAO;
-import fr.ifremer.echobase.entities.references.Vessel;
-import fr.ifremer.echobase.io.InputFile;
-import fr.ifremer.echobase.services.importdata.csv.TransectImportModel;
-import fr.ifremer.echobase.services.importdata.csv.TransectImportRow;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.csv.Import;
-import org.nuiton.csv.ImportRuntimeException;
-import java.io.Reader;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Map;
-
-import static org.nuiton.i18n.I18n.l_;
-
/**
* Service to launch a "common data" import.
*
@@ -61,9 +39,6 @@
*/
public class CommonImportService extends AbstractImportDataService<CommonImportConfiguration> {
- /** Logger. */
- private static final Log log = LogFactory.getLog(CommonImportService.class);
-
@Override
public void startImport(CommonImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
@@ -78,8 +53,15 @@
service = getService(CommonAllImportService.class);
break;
- case COMMON_TRANSECT:
+ case COMMON_VOYAGE:
+ service = getService(CommonVoyageImportService.class);
+ break;
+ case COMMON_TRANSIT:
+ service = getService(CommonTransitImportService.class);
+ break;
+
+ case COMMON_TRANSECT:
service = getService(CommonTransectImportService.class);
break;
@@ -111,93 +93,4 @@
throw new EchoBaseTechnicalException(eee);
}
}
-
- protected EchoBaseCsvFileImportResult importTransectFile(
- Map<String, Vessel> vesselMap,
- CommonImportConfiguration configuration,
- boolean collectIds) throws ImportException {
-
- InputFile inputFile = configuration.getTransectFile();
-
- if (log.isInfoEnabled()) {
- log.info("Starts import of transects from file " +
- inputFile.getFileName());
- }
-
- EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
-
- // get voyage
- Voyage voyage = getEntityById(Voyage.class,
- configuration.getVoyageId());
-
- // restrict voyage to use to this voyage
- Map<String, Voyage> voyageMap = Maps.uniqueIndex(
- Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME);
-
- String datum = configuration.getDatum();
- String license = configuration.getTransectLicence();
- String geospatialVerticalPositive =
- configuration.getTransectGeospatialVerticalPositive();
- String binUnitsPingAxis = configuration.getTransectBinUnitsPingAxis();
-
- TransectImportModel csvModel =
- new TransectImportModel(getCsvSeparator(),
- voyageMap,
- vesselMap);
-
- TransectDAO dao = getDAO(Transect.class, TransectDAO.class);
-
- Reader reader = getInputFileReader(inputFile);
- try {
- Import<TransectImportRow> importer =
- Import.newImport(csvModel, reader);
-
- configuration.incrementsProgress();
- for (TransectImportRow row : importer) {
-
- configuration.incrementsProgress();
- Transect transect = row.getTransect();
-
- Date timeCoverageStart = transect.getTimeCoverageStart();
- Date timeCoverageEnd = transect.getTimeCoverageEnd();
-
- Transit transit = voyage.getTransit(timeCoverageStart,
- timeCoverageEnd);
- if (transit == null) {
- throw new ImportException(
- l_(getLocale(), "echobase.importError.no.transit.between.date",
- voyage.getName(), timeCoverageStart, timeCoverageEnd));
- }
-
- transect.setDatum(datum);
- transect.setLicence(license);
- transect.setGeospatialVerticalPositive(
- geospatialVerticalPositive);
- transect.setBinUnitsPingAxis(binUnitsPingAxis);
-
- Transect createdTransect = create(dao, transect);
-
- transit.addTransect(createdTransect);
-
- if (collectIds) {
-
- // collect id of the import
- importResult.addId(EchoBaseEntityEnum.Transect,
- createdTransect);
- } else {
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transect);
- }
- }
-
- return importResult;
-
- } catch (ImportRuntimeException e) {
- throw new ImportException(getLocale(), inputFile, e);
- } finally {
- closeReader(reader, inputFile);
- }
- }
-
-
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -23,12 +23,30 @@
*/
package fr.ifremer.echobase.services.importdata;
+import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.TransectDAO;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Vessel;
+import fr.ifremer.echobase.io.InputFile;
+import fr.ifremer.echobase.services.importdata.csv.TransectImportModel;
+import fr.ifremer.echobase.services.importdata.csv.TransectImportRow;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Import;
+import org.nuiton.csv.ImportRuntimeException;
+import java.io.Reader;
+import java.util.Arrays;
+import java.util.Date;
import java.util.Map;
+import static org.nuiton.i18n.I18n.l_;
+
/**
* Service to launch a "common transect data" import.
*
@@ -37,6 +55,9 @@
*/
public class CommonTransectImportService extends AbstractImportDataService<CommonImportConfiguration> {
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(CommonTransectImportService.class);
@Override
protected void startImport(
@@ -49,9 +70,94 @@
EchoBaseCsvFileImportResult importResult;
- CommonImportService service = getService(CommonImportService.class);
-
- importResult = service.importTransectFile(vesselMap, configuration, true);
+ importResult = importFile(vesselMap, configuration, true);
configuration.addResult(importResult);
}
+
+ protected EchoBaseCsvFileImportResult importFile(
+ Map<String, Vessel> vesselMap,
+ CommonImportConfiguration configuration,
+ boolean collectIds) throws ImportException {
+
+ InputFile inputFile = configuration.getTransectFile();
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts import of transects from file " +
+ inputFile.getFileName());
+ }
+
+ EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
+
+ // get voyage
+ Voyage voyage = getEntityById(Voyage.class,
+ configuration.getVoyageId());
+
+ // restrict voyage to use to this voyage
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(
+ Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ String datum = configuration.getDatum();
+ String license = configuration.getTransectLicence();
+ String geospatialVerticalPositive =
+ configuration.getTransectGeospatialVerticalPositive();
+ String binUnitsPingAxis = configuration.getTransectBinUnitsPingAxis();
+
+ TransectImportModel csvModel =
+ new TransectImportModel(getCsvSeparator(),
+ voyageMap,
+ vesselMap);
+
+ TransectDAO dao = getDAO(Transect.class, TransectDAO.class);
+
+ Reader reader = getInputFileReader(inputFile);
+ try {
+ Import<TransectImportRow> importer =
+ Import.newImport(csvModel, reader);
+
+ configuration.incrementsProgress();
+ for (TransectImportRow row : importer) {
+
+ configuration.incrementsProgress();
+ Transect transect = row.getTransect();
+
+ Date timeCoverageStart = transect.getTimeCoverageStart();
+ Date timeCoverageEnd = transect.getTimeCoverageEnd();
+
+ Transit transit = voyage.getTransit(timeCoverageStart,
+ timeCoverageEnd);
+ if (transit == null) {
+ throw new ImportException(
+ l_(getLocale(), "echobase.importError.no.transit.between.date",
+ voyage.getName(), timeCoverageStart, timeCoverageEnd));
+ }
+
+ transect.setDatum(datum);
+ transect.setLicence(license);
+ transect.setGeospatialVerticalPositive(
+ geospatialVerticalPositive);
+ transect.setBinUnitsPingAxis(binUnitsPingAxis);
+
+ Transect createdTransect = create(dao, transect);
+
+ transit.addTransect(createdTransect);
+
+ if (collectIds) {
+
+ // collect id of the import
+ importResult.addId(EchoBaseEntityEnum.Transect,
+ createdTransect);
+ } else {
+
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transect);
+ }
+ }
+
+ return importResult;
+
+ } catch (ImportRuntimeException e) {
+ throw new ImportException(getLocale(), inputFile, e);
+ } finally {
+ closeReader(reader, inputFile);
+ }
+ }
}
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransitImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransitImportService.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransitImportService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,128 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import com.google.common.collect.Maps;
+import fr.ifremer.echobase.EchoBaseFunctions;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.TransitDAO;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.io.InputFile;
+import fr.ifremer.echobase.services.importdata.csv.TransitImportModel;
+import fr.ifremer.echobase.services.importdata.csv.TransitImportRow;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Import;
+import org.nuiton.csv.ImportRuntimeException;
+
+import java.io.Reader;
+import java.util.Arrays;
+import java.util.Map;
+
+/**
+ * Service to launch a "common transit data" import.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonTransitImportService extends AbstractImportDataService<CommonImportConfiguration> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(CommonTransitImportService.class);
+
+ @Override
+ protected void startImport(
+ CommonImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
+
+ EchoBaseCsvFileImportResult importResult =
+ importFile(configuration, true);
+ configuration.addResult(importResult);
+ }
+
+ protected EchoBaseCsvFileImportResult importFile(
+ CommonImportConfiguration configuration,
+ boolean collectIds) throws ImportException {
+
+ InputFile inputFile = configuration.getTransitFile();
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts import of transits from file " +
+ inputFile.getFileName());
+ }
+ EchoBaseCsvFileImportResult importResult = newImportResult(inputFile);
+
+ // get voyage
+ Voyage voyage = getEntityById(Voyage.class,
+ configuration.getVoyageId());
+
+ // restrict voyage to use to this voyage
+ Map<String, Voyage> voyageMap = Maps.uniqueIndex(
+ Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME);
+
+ String relatedActivity = configuration.getTransitRelatedActivity();
+
+ TransitImportModel csvModel =
+ new TransitImportModel(getCsvSeparator(), voyageMap);
+
+ TransitDAO dao = getDAO(Transit.class, TransitDAO.class);
+
+ Reader reader = getInputFileReader(inputFile);
+ try {
+ Import<TransitImportRow> importer =
+ Import.newImport(csvModel, reader);
+
+ configuration.incrementsProgress();
+ for (TransitImportRow row : importer) {
+
+ configuration.incrementsProgress();
+ Transit transit = row.getTransit();
+
+ transit.setRelatedActivity(relatedActivity);
+
+ Transit createdTransit = create(dao, transit);
+
+ voyage.addTransit(createdTransit);
+
+ if (collectIds) {
+
+ // collect id of the import
+ importResult.addId(EchoBaseEntityEnum.Transit,
+ createdTransit);
+ } else {
+
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transit);
+ }
+ }
+ return importResult;
+ } catch (ImportRuntimeException e) {
+ throw new ImportException(getLocale(), inputFile, e);
+ } finally {
+ closeReader(reader, inputFile);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransitImportService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportService.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,138 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.data.VoyageDAO;
+import fr.ifremer.echobase.entities.references.AreaOfOperation;
+import fr.ifremer.echobase.entities.references.Mission;
+import fr.ifremer.echobase.io.InputFile;
+import fr.ifremer.echobase.services.importdata.csv.VoyageImportModel;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.csv.Import;
+import org.nuiton.csv.ImportModel;
+import org.nuiton.csv.ImportRuntimeException;
+
+import java.io.Reader;
+import java.util.Locale;
+
+import static org.nuiton.i18n.I18n.l_;
+
+/**
+ * Service to launch a "common voyage data" import.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonVoyageImportService extends AbstractImportDataService<CommonImportConfiguration> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(CommonVoyageImportService.class);
+
+ @Override
+ protected void startImport(
+ CommonImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
+
+ EchoBaseCsvFileImportResult importResult;
+
+ importResult = importFile(configuration);
+ configuration.addResult(importResult);
+ }
+
+ protected EchoBaseCsvFileImportResult importFile(
+ CommonImportConfiguration configuration) throws ImportException {
+
+ InputFile inputFile = configuration.getVoyageFile();
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts import of voyages from file " +
+ inputFile.getFileName());
+ }
+
+ Mission mission = getEntityById(Mission.class,
+ configuration.getMissionId());
+ AreaOfOperation areaOfOperation =
+ getEntityById(AreaOfOperation.class,
+ configuration.getAreaOfOperationId());
+
+ EchoBaseCsvFileImportResult result = newImportResult(inputFile);
+
+ String voyageDescription = configuration.getVoyageDescription();
+ String datum = configuration.getDatum();
+
+ VoyageDAO dao = getDAO(Voyage.class, VoyageDAO.class);
+
+ ImportModel<Voyage> csvModel = new VoyageImportModel(getCsvSeparator());
+
+ Voyage newVoyage = null;
+ Locale locale = getLocale();
+ Reader reader = getInputFileReader(inputFile);
+ try {
+ Import<Voyage> importer = Import.newImport(csvModel, reader);
+
+ configuration.incrementsProgress();
+ for (Voyage voyage : importer) {
+
+ configuration.incrementsProgress();
+
+ voyage.setMission(mission);
+ voyage.setAreaOfOperation(areaOfOperation);
+ voyage.setDescription(voyageDescription);
+ voyage.setDatum(datum);
+
+ Voyage createdVoyage = create(dao, voyage);
+ if (newVoyage == null) {
+ newVoyage = createdVoyage;
+ } else {
+ // this means a voyage file with more than one row not possible...
+
+ throw new ImportException(
+ l_(locale, "echobase.importError.can.only.import.one.voyage.atime"));
+ }
+
+ // collect id of the import
+ result.addId(EchoBaseEntityEnum.Voyage, voyage);
+ }
+
+ if (newVoyage == null) {
+ throw new ImportException(
+ l_(locale, "echobase.importError.no.voyage.imported"));
+ }
+
+ // push back to id of the voyage in configuration for next imports
+ configuration.setVoyageId(newVoyage.getTopiaId());
+
+ return result;
+ } catch (ImportRuntimeException e) {
+ throw new ImportException(locale, inputFile, e);
+ } finally {
+ closeReader(reader, inputFile);
+ }
+ }
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -39,6 +39,8 @@
import fr.ifremer.echobase.services.removedata.strategy.CatchesRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.CommonAllRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.CommonTransectRemoveDataStrategy;
+import fr.ifremer.echobase.services.removedata.strategy.CommonTransitRemoveDataStrategy;
+import fr.ifremer.echobase.services.removedata.strategy.CommonVoyageRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.LegacyVoyageRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.OperationRemoveDataStrategy;
import fr.ifremer.echobase.services.removedata.strategy.ResultEsduRemoveDataStrategy;
@@ -47,6 +49,7 @@
import fr.ifremer.echobase.services.removedata.strategy.ResultVoyageRemoveDataStrategy;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.decorator.Decorator;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaNotFoundException;
import org.nuiton.topia.framework.TopiaContextImplementor;
@@ -54,7 +57,6 @@
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaIdFactory;
import org.nuiton.util.TimeLog;
-import org.nuiton.decorator.Decorator;
import java.util.Comparator;
import java.util.List;
@@ -227,7 +229,7 @@
if (log.isInfoEnabled()) {
log.info("Will remove obsolete importLog " +
- importLog.getTopiaId());
+ logEntry.getImportType() + ": " + logEntry.getTopiaId());
}
delete(dao, logEntry);
@@ -246,6 +248,8 @@
strategies = Maps.newEnumMap(ImportType.class);
strategies.put(ImportType.VOYAGE, LegacyVoyageRemoveDataStrategy.class);
strategies.put(ImportType.COMMON_ALL, CommonAllRemoveDataStrategy.class);
+ strategies.put(ImportType.COMMON_VOYAGE, CommonVoyageRemoveDataStrategy.class);
+ strategies.put(ImportType.COMMON_TRANSIT, CommonTransitRemoveDataStrategy.class);
strategies.put(ImportType.COMMON_TRANSECT, CommonTransectRemoveDataStrategy.class);
strategies.put(ImportType.OPERATION, OperationRemoveDataStrategy.class);
strategies.put(ImportType.CATCHES, CatchesRemoveDataStrategy.class);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -88,7 +88,8 @@
@Override
public Set<ImportType> getPossibleSubImportType() {
- Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT,
+ Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSIT,
+ ImportType.COMMON_TRANSECT,
ImportType.OPERATION,
ImportType.CATCHES,
ImportType.ACOUSTIC,
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,136 @@
+package fr.ifremer.echobase.services.removedata.strategy;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.TransectDAO;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.TransitDAO;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.EchoBaseServiceContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+
+import java.util.Set;
+
+/**
+ * Remove a {@link ImportType#COMMON_TRANSIT} import.
+ * <p/>
+ * Can remove only {@link Transit}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonTransitRemoveDataStrategy extends AbstractRemoveDataStrategy {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(CommonTransectRemoveDataStrategy.class);
+
+ protected TransectDAO transectDAO;
+
+ protected TransitDAO transitDAO;
+
+ @Override
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+
+ transectDAO = getDAO(Transect.class, TransectDAO.class);
+ transitDAO = getDAO(Transit.class, TransitDAO.class);
+ }
+
+ @Override
+ public long computeNbSteps(Voyage voyage, ImportLog importLog) {
+
+ long result = importLog.sizeImportId();
+
+ // add all cell results
+ result += countVoyageCellResults(voyage);
+
+ // add all postCell
+ result += voyage.sizePostCell();
+
+ // add all orphan cells
+ result += countVoyageOrphanCells(voyage);
+ return result;
+ }
+
+ @Override
+ protected void removePreDataInVoyage(Voyage voyage) throws TopiaException {
+
+ // remove all cell results
+ removeVoyageCellResults(voyage);
+
+ // remove postCell from voyage
+ removeVoyagePostCell(voyage);
+ }
+
+ @Override
+ protected void removePostDataInVoyage(Voyage voyage) throws TopiaException {
+
+ // remove orphans cells
+ removeVoyageOrphanCells();
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
+ if (id.startsWith(Transit.class.getName())) {
+
+ // remove transit
+ Transit transit = transitDAO.findByTopiaId(id);
+
+ // remove it from voyage
+ Voyage entity = voyageDao.findByTopiaId(voyage.getTopiaId());
+
+ entity.removeTransit(transit);
+
+ // delete it
+ delete(transitDAO, transit);
+
+ if (log.isDebugEnabled()) {
+ log.debug(transit.getTopiaId() + " was removed");
+ }
+
+ } else {
+ canNotDealWithId(id);
+ }
+ }
+
+ @Override
+ public Set<ImportType> getPossibleSubImportType() {
+ Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT,
+ ImportType.OPERATION,
+ ImportType.CATCHES,
+ ImportType.ACOUSTIC,
+ ImportType.RESULT_ESDU,
+ ImportType.RESULT_MAP,
+ ImportType.RESULT_REGION);
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransitRemoveDataStrategy.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,103 @@
+package fr.ifremer.echobase.services.removedata.strategy;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+
+import java.util.Set;
+
+/**
+ * Remove a {@link ImportType#COMMON_VOYAGE} import.
+ * <p/>
+ * Can remove only {@link Transit}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonVoyageRemoveDataStrategy extends AbstractRemoveDataStrategy {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(CommonTransectRemoveDataStrategy.class);
+
+ @Override
+ protected void removePostDataInVoyage(Voyage voyage) throws TopiaException {
+
+ // remove orphans cells
+ removeVoyageOrphanCells();
+ }
+
+ @Override
+ public long computeNbSteps(Voyage voyage, ImportLog importLog) {
+
+ long result = importLog.sizeImportId();
+
+ // add all categories to be removed after
+ result += countCategoryUsingEchotype(voyage);
+
+ // add all orphan cells
+ result += countVoyageOrphanCells(voyage);
+ return result;
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
+ if (id.startsWith(Voyage.class.getName())) {
+
+ // get entity to delete
+ Voyage entity = voyageDao.findByTopiaId(id);
+
+ // delete it
+ removeVoyage(entity);
+
+ if (log.isDebugEnabled()) {
+ log.debug(entity.getTopiaId() + " was removed");
+ }
+ } else {
+ canNotDealWithId(id);
+ }
+ }
+
+ @Override
+ public Set<ImportType> getPossibleSubImportType() {
+ Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSIT,
+ ImportType.COMMON_TRANSECT,
+ ImportType.OPERATION,
+ ImportType.CATCHES,
+ ImportType.ACOUSTIC,
+ ImportType.RESULT_VOYAGE,
+ ImportType.RESULT_ESDU,
+ ImportType.RESULT_MAP,
+ ImportType.RESULT_REGION);
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonVoyageRemoveDataStrategy.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -88,7 +88,8 @@
@Override
public Set<ImportType> getPossibleSubImportType() {
- Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT,
+ Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSIT,
+ ImportType.COMMON_TRANSECT,
ImportType.OPERATION,
ImportType.CATCHES,
ImportType.ACOUSTIC,
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -71,6 +71,10 @@
return "/echobase-importDb-referentiel.zip";
}
+ public String DATUM() {
+ return "datum";
+ }
+
public int NB_VOYAGE() {
return 1;
}
@@ -155,4 +159,23 @@
return 8;
}
+ public String TRANSECT_BIN_UNITS_PING_AXIS() {
+ return "transectBinUnitsPingAxis";
+ }
+
+ public String TRANSIT_RELATED_ACTIVITY() {
+ return "transitRelatedActivity";
+ }
+
+ public String VOYAGE_DESCRIPTION() {
+ return "voyageDescription";
+ }
+
+ public String TRANSECT_GEOSPATIAL_VERTICLA_POSITIVE() {
+ return "transectGeospatialVerticalPositive";
+ }
+
+ public String TRANSECT_LICENSE() {
+ return "transectLicence";
+ }
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -28,6 +28,7 @@
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
import fr.ifremer.echobase.entities.data.DataProcessing;
+import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.io.InputFile;
import fr.ifremer.echobase.services.exportdb.ExportDbConfiguration;
@@ -228,6 +229,15 @@
return voyage.getTopiaId();
}
+ protected String getTransitId(String voyageId) {
+ Preconditions.checkNotNull(voyageId);
+ Voyage voyage = getEntityById(Voyage.class, voyageId);
+ Preconditions.checkArgument(!voyage.isTransitEmpty());
+ List<Transit> transits = voyage.getTransit();
+ Transit transit = transits.get(0);
+ return transit.getTopiaId();
+ }
+
protected String getDataProcessingId() {
DataProcessing dataProcessing = getEntities(DataProcessing.class).get(0);
Preconditions.checkNotNull(dataProcessing);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -63,13 +63,13 @@
new CommonImportConfiguration(getLocale());
conf.setAreaOfOperationId(fixtures.AREA_OF_OPERATION_ID());
- conf.setDatum("datum");
+ conf.setDatum(fixtures.DATUM());
conf.setMissionId(fixtures.MISSION_ID());
- conf.setTransectBinUnitsPingAxis("transectBinUnitsPingAxis");
- conf.setTransectGeospatialVerticalPositive("transectGeospatialVerticalPositive");
- conf.setTransectLicence("transectLicence");
- conf.setTransitRelatedActivity("transitRelatedActivity");
- conf.setVoyageDescription("voyageDescription");
+ conf.setTransectBinUnitsPingAxis(fixtures.TRANSECT_BIN_UNITS_PING_AXIS());
+ conf.setTransectGeospatialVerticalPositive(fixtures.TRANSECT_GEOSPATIAL_VERTICLA_POSITIVE());
+ conf.setTransectLicence(fixtures.TRANSECT_LICENSE());
+ conf.setTransitRelatedActivity(fixtures.TRANSIT_RELATED_ACTIVITY());
+ conf.setVoyageDescription(fixtures.VOYAGE_DESCRIPTION());
prepareInputFile(conf.getVoyageFile(), getImportPath("voyage.csv.gz"));
prepareInputFile(conf.getTransitFile(), getImportPath("transit.csv.gz"));
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -51,19 +51,18 @@
@Test
public void doImport() throws Exception {
- // import with mode transect
+ // import common data with mode transect
assertImportCommonData();
CommonImportConfiguration conf =
new CommonImportConfiguration(getLocale());
- conf.setAreaOfOperationId(fixtures.AREA_OF_OPERATION_ID());
- conf.setDatum("datum");
+ conf.setDatum(fixtures.DATUM());
conf.setVoyageId(getVoyageId());
- conf.setTransectBinUnitsPingAxis("transectBinUnitsPingAxis");
- conf.setTransectGeospatialVerticalPositive("transectGeospatialVerticalPositive");
- conf.setTransectLicence("transectLicence");
+ conf.setTransectBinUnitsPingAxis(fixtures.TRANSECT_BIN_UNITS_PING_AXIS());
+ conf.setTransectGeospatialVerticalPositive(fixtures.TRANSECT_GEOSPATIAL_VERTICLA_POSITIVE());
+ conf.setTransectLicence(fixtures.TRANSECT_LICENSE());
prepareInputFile(conf.getTransectFile(), getImportPath("transect.csv.gz"));
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransitImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransitImportServiceIT.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransitImportServiceIT.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,89 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * Tests {@link CommonImportService} with {@link ImportType#COMMON_TRANSIT} mode.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonTransitImportServiceIT extends AbstractImportDataServiceIT {
+
+ @Override
+ protected FakeEchoBaseServiceContext initContext() {
+ return new FakeEchoBaseServiceContext(
+ fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA());
+ }
+
+ protected String[] getImportPath(String filename) {
+ return new String[]{"/import-data", "common", filename};
+ }
+
+ @Test
+ public void doImport() throws Exception {
+
+ // import common data with mode transit
+
+ assertImportCommonData();
+
+ // let's delete every transits
+ for (Voyage voyage : getEntities(Voyage.class)) {
+ voyage.clearTransit();
+ }
+
+ // import common data with mode transit
+
+ CommonImportConfiguration conf =
+ new CommonImportConfiguration(getLocale());
+
+ conf.setVoyageId(getVoyageId());
+ conf.setTransitRelatedActivity(fixtures.TRANSIT_RELATED_ACTIVITY());
+
+ prepareInputFile(conf.getTransitFile(), getImportPath("transit.csv.gz"));
+
+ conf.setImportType(ImportType.COMMON_TRANSIT);
+
+ List<EchoBaseCsvFileImportResult> result;
+ result = doImport(conf, CommonTransitImportService.class, 1);
+
+ assertNbIDs(result, 0, fixtures.NB_TRANSIT());
+ assertCsvImportResult(result, 0, Transit.class, fixtures.NB_TRANSIT());
+
+
+ assertNbEntities(Voyage.class, fixtures.NB_VOYAGE());
+ assertNbEntities(Transit.class, fixtures.NB_TRANSIT());
+ assertNbEntities(Transect.class, 0);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransitImportServiceIT.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportServiceIT.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportServiceIT.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,85 @@
+package fr.ifremer.echobase.services.importdata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * Tests {@link CommonImportService} with {@link ImportType#COMMON_VOYAGE} mode.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonVoyageImportServiceIT extends AbstractImportDataServiceIT {
+
+ @Override
+ protected FakeEchoBaseServiceContext initContext() {
+ return new FakeEchoBaseServiceContext(
+ fixtures.IMPORT_DATA_ECHOBASE_NO_DATA());
+ }
+
+ protected String[] getImportPath(String filename) {
+ return new String[]{"/import-data", "common", filename};
+ }
+
+ @Test
+ public void doImport() throws Exception {
+
+ // no data in db
+
+ assertNoEntities(Voyage.class, Transit.class, Transect.class);
+
+ // import with mode voyage
+
+ CommonImportConfiguration conf =
+ new CommonImportConfiguration(getLocale());
+
+ conf.setAreaOfOperationId(fixtures.AREA_OF_OPERATION_ID());
+ conf.setDatum(fixtures.DATUM());
+ conf.setMissionId(fixtures.MISSION_ID());
+ conf.setVoyageDescription(fixtures.VOYAGE_DESCRIPTION());
+
+ prepareInputFile(conf.getVoyageFile(), getImportPath("voyage.csv.gz"));
+
+ conf.setImportType(ImportType.COMMON_VOYAGE);
+
+ List<EchoBaseCsvFileImportResult> result;
+ result = doImport(conf, CommonVoyageImportService.class, 1);
+
+ assertNbIDs(result, 0, fixtures.NB_VOYAGE());
+ assertCsvImportResult(result, 0, Voyage.class, fixtures.NB_VOYAGE());
+
+ assertNbEntities(Voyage.class, fixtures.NB_VOYAGE());
+ assertNbEntities(Transit.class, 0);
+ assertNbEntities(Transect.class, 0);
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonVoyageImportServiceIT.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -94,6 +94,8 @@
import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration;
import fr.ifremer.echobase.services.removedata.RemoveDataService;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
import org.nuiton.topia.TopiaException;
@@ -112,8 +114,14 @@
*/
public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceSupport {
- protected String importCommonAll1Id;
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(AbstractRemoveDataServiceTest.class);
+ protected String importCommonVoyage1Id;
+
+ protected String importCommonTransit1Id;
+
protected String importCommonTransect1Id;
protected String importOperation1Id;
@@ -174,10 +182,12 @@
protected static final String lengthWeightKey1Id = "fr.ifremer.echobase.entities.data.LengthWeightKey#1#1";
- protected String importCommonAll2Id;
+ protected String importCommonVoyage2Id;
protected String importCommonTransect2Id;
+ protected String importCommonTransit2Id;
+
protected static final String voyage2Id = "fr.ifremer.echobase.entities.data.Voyage#2#1";
protected static final String transit2Id = "fr.ifremer.echobase.entities.data.Transit#2#1";
@@ -251,7 +261,8 @@
resultDAO = getDAO(Result.class, ResultDAO.class);
//create imports for voyage 1
- createCommonAllImportV1();
+ createCommonVoyageImportV1();
+ createCommonTransitImportV1();
createCommonTransectImportV1();
createOperationImportV1();
createCatchesImportV1();
@@ -262,7 +273,8 @@
createResultMapImportV1();
// create imports for voyage 2
- createCommonAllImportV2();
+ createCommonVoyageImportV2();
+ createCommonTransitImportV2();
createCommonTransectImportV2();
// createOperationImportV2();
// createCatchesImportV2();
@@ -276,7 +288,8 @@
protected void removeImport(String importId, String... shoudDeleteIds) throws TopiaException {
List<String> existingId = Lists.newArrayList(
- importCommonAll1Id,
+ importCommonVoyage1Id,
+ importCommonTransit1Id,
importCommonTransect1Id,
importOperation1Id,
importCatches1Id,
@@ -285,16 +298,17 @@
importResultEsdu1Id,
importResultRegion1Id,
importResultMap1Id,
- importCommonAll2Id,
+ importCommonVoyage2Id,
+ importCommonTransit2Id,
importCommonTransect2Id,
- voyage1Id, transect1Id, transect1_2Id, operation1Id,
+ voyage1Id, transit1Id, transect1Id, transect1_2Id, operation1Id,
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
cellMap1Id, resultMap1Id,
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
- voyage2Id, transect2Id, transect2_2Id
+ voyage2Id, transit2Id, transect2Id, transect2_2Id
);
List<String> deletedId = Lists.newArrayList();
@@ -346,7 +360,7 @@
return entity;
}
- private void createCommonAllImportV1() {
+ private void createCommonVoyageImportV1() {
// create voyage
Voyage voyage = create(voyageDao,
@@ -361,39 +375,18 @@
Voyage.PROPERTY_DATUM, "voyage1Datum"
);
- // create transit
- Transit transit = create(transitDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, transit1Id,
- Transit.PROPERTY_START_TIME, newDate(),
- Transit.PROPERTY_END_TIME, newDate(),
- Transit.PROPERTY_START_LOCALITY, "transit1tartLocality",
- Transit.PROPERTY_END_LOCALITY, "transit1EndLocality",
- Transit.PROPERTY_DESCRIPTION, "transit1Description",
- Transit.PROPERTY_RELATED_ACTIVITY, "transit1RelatedActivity"
- );
- voyage.addTransit(transit);
-
- // create transect
- Transect transect = create(transectDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, transect1Id,
- Transect.PROPERTY_TITLE, "transect1Title",
- Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
- Transect.PROPERTY_STRATUM, "transect1Stratum"
- );
- transit.addTransect(transect);
-
commitTransaction("ImportError!");
- importCommonAll1Id = createImport(
+ importCommonVoyage1Id = createImport(
CommonAllImportService.class,
new CommonImportConfiguration(getLocale()),
- ImportType.COMMON_ALL,
- "Common/Voyage/Transit/Transect1",
+ ImportType.COMMON_VOYAGE,
+ "Common/Voyage1",
voyage1Id,
voyage);
}
- private void createCommonAllImportV2() {
+ private void createCommonVoyageImportV2() {
// create voyage
Voyage voyage = create(voyageDao,
@@ -408,8 +401,52 @@
Voyage.PROPERTY_DATUM, "voyage2Datum"
);
+ commitTransaction("ImportError!");
+
+ importCommonVoyage2Id = createImport(
+ CommonAllImportService.class,
+ new CommonImportConfiguration(getLocale()),
+ ImportType.COMMON_VOYAGE,
+ "Common/Voyage2",
+ voyage2Id,
+ voyage);
+ }
+
+ private void createCommonTransitImportV1() {
+
+ // get voyage
+ Voyage voyage = getEntity(voyage1Id);
+
// create transit
Transit transit = create(transitDAO,
+ TopiaEntity.PROPERTY_TOPIA_ID, transit1Id,
+ Transit.PROPERTY_START_TIME, newDate(),
+ Transit.PROPERTY_END_TIME, newDate(),
+ Transit.PROPERTY_START_LOCALITY, "transit1tartLocality",
+ Transit.PROPERTY_END_LOCALITY, "transit1EndLocality",
+ Transit.PROPERTY_DESCRIPTION, "transit1Description",
+ Transit.PROPERTY_RELATED_ACTIVITY, "transit1RelatedActivity"
+ );
+ voyage.addTransit(transit);
+
+ commitTransaction("ImportError!");
+
+ importCommonTransit1Id = createImport(
+ CommonAllImportService.class,
+ new CommonImportConfiguration(getLocale()),
+ ImportType.COMMON_TRANSIT,
+ "Common/Transit1",
+ voyage1Id,
+ transit);
+ }
+
+ private void createCommonTransitImportV2() {
+
+ // get voyage
+ Voyage voyage = getEntity(voyage2Id);
+
+ // create transit
+ Transit transit = create(transitDAO,
TopiaEntity.PROPERTY_TOPIA_ID, transit2Id,
Transit.PROPERTY_START_TIME, newDate(),
Transit.PROPERTY_END_TIME, newDate(),
@@ -420,39 +457,42 @@
);
voyage.addTransit(transit);
- // create transect
- Transect transect = create(transectDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, transect2Id,
- Transect.PROPERTY_TITLE, "transect2Title",
- Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
- Transect.PROPERTY_STRATUM, "transect2Stratum"
- );
- transit.addTransect(transect);
-
commitTransaction("ImportError!");
- importCommonAll2Id = createImport(
+ importCommonTransit2Id = createImport(
CommonAllImportService.class,
new CommonImportConfiguration(getLocale()),
- ImportType.COMMON_ALL,
- "Common/Voyage/Transit/Transect2",
+ ImportType.COMMON_TRANSIT,
+ "Common/Transit2",
voyage2Id,
- voyage);
+ transit);
}
+
private void createCommonTransectImportV1() throws TopiaException {
Voyage voyage = getEntity(voyage1Id);
+ Transit transit = voyage.getTransitByTopiaId(transit1Id);
+
// create transect
Transect transect = create(transectDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, transect1_2Id,
- Transect.PROPERTY_TITLE, "transect12Title",
+ TopiaEntity.PROPERTY_TOPIA_ID, transect1Id,
+ Transect.PROPERTY_TITLE, "transect1Title",
Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
- Transect.PROPERTY_STRATUM, "transect12Stratum"
+ Transect.PROPERTY_STRATUM, "transect1Stratum"
);
- voyage.getTransit().get(0).addTransect(transect);
+ transit.addTransect(transect);
+ // create transect2
+ Transect transect2 = create(transectDAO,
+ TopiaEntity.PROPERTY_TOPIA_ID, transect1_2Id,
+ Transect.PROPERTY_TITLE, "transect12Title",
+ Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
+ Transect.PROPERTY_STRATUM, "transect12Stratum"
+ );
+ transit.addTransect(transect2);
+
commitTransaction("ImportError!");
importCommonTransect1Id = createImport(
@@ -461,22 +501,33 @@
ImportType.COMMON_TRANSECT,
"Common/Transect1",
voyage1Id,
- transect);
+ transect, transect2);
}
private void createCommonTransectImportV2() throws TopiaException {
Voyage voyage = getEntity(voyage2Id);
+ Transit transit = voyage.getTransitByTopiaId(transit2Id);
+
// create transect
Transect transect = create(transectDAO,
- TopiaEntity.PROPERTY_TOPIA_ID, transect2_2Id,
- Transect.PROPERTY_TITLE, "transect22Title",
+ TopiaEntity.PROPERTY_TOPIA_ID, transect2Id,
+ Transect.PROPERTY_TITLE, "transect2Title",
Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
- Transect.PROPERTY_STRATUM, "transect22Stratum"
+ Transect.PROPERTY_STRATUM, "transect22tratum"
);
- voyage.getTransit().get(0).addTransect(transect);
+ transit.addTransect(transect);
+ // create transect2
+ Transect transect2 = create(transectDAO,
+ TopiaEntity.PROPERTY_TOPIA_ID, transect2_2Id,
+ Transect.PROPERTY_TITLE, "transect22Title",
+ Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class),
+ Transect.PROPERTY_STRATUM, "transect22Stratum"
+ );
+ transit.addTransect(transect2);
+
commitTransaction("ImportError!");
importCommonTransect2Id = createImport(
@@ -485,7 +536,7 @@
ImportType.COMMON_TRANSECT,
"Common/Transect2",
voyage2Id,
- transect);
+ transect, transect2);
}
private void createOperationImportV1() throws TopiaException {
@@ -801,6 +852,10 @@
commitTransaction("ImportLogError!");
String importId = importLog.getTopiaId();
+
+ if (log.isInfoEnabled()) {
+ log.info("Created importdata " + importType + ": " + importId);
+ }
return importId;
}
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -40,16 +40,17 @@
public void removeImport1() throws TopiaException {
removeImport(// import to remove
- importCommonAll1Id,
+ importCommonVoyage1Id,
// data that should be removed
- voyage1Id, transect1Id, operation1Id, transect1_2Id,
+ voyage1Id, transit1Id , transect1Id, operation1Id, transect1_2Id,
totalSample1Id, subSample1Id, biometrySample1Id,
cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
cellMap1Id, resultMap1Id,
echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
// importLog that should be removed
- importCommonAll1Id,
+ importCommonVoyage1Id,
+ importCommonTransit1Id,
importCommonTransect1Id,
importOperation1Id,
importCatches1Id,
@@ -64,11 +65,12 @@
public void removeImport2() throws TopiaException {
removeImport(// import to remove
- importCommonAll2Id,
+ importCommonVoyage2Id,
// data that should be removed
- voyage2Id, transect2Id, transect2_2Id,
+ voyage2Id, transit2Id , transect2Id, transect2_2Id,
// importLog that should be removed
- importCommonAll2Id,
+ importCommonVoyage2Id,
+ importCommonTransit2Id,
importCommonTransect2Id);
}
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -42,11 +42,16 @@
removeImport(// import to remove
importCommonTransect1Id,
// data that should be removed
- transect1_2Id, resultEsdu1Id,
+ transect1Id, operation1Id, transect1_2Id,
+ totalSample1Id, subSample1Id, biometrySample1Id,
+ cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
cellRegion1Id, resultRegion1Id,
cellMap1Id, resultMap1Id,
// importLog that should be removed
importCommonTransect1Id,
+ importOperation1Id,
+ importCatches1Id,
+ importAcoustic1Id,
importResultEsdu1Id,
importResultMap1Id,
importResultRegion1Id);
@@ -58,7 +63,7 @@
removeImport(// import to remove
importCommonTransect2Id,
// data that should be removed
- transect2_2Id,
+ transect2Id, transect2_2Id,
// importLog that should be removed
importCommonTransect2Id);
}
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,77 @@
+package fr.ifremer.echobase.ui.actions.removedata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.services.removedata.RemoveDataService;
+import fr.ifremer.echobase.services.removedata.strategy.CommonTransitRemoveDataStrategy;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * Test{@link RemoveDataService} with {@link CommonTransitRemoveDataStrategy}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonTransitRemoveDataServiceTest
+
+ extends AbstractRemoveDataServiceTest {
+
+ @Test
+ public void removeImport1() throws TopiaException {
+
+ removeImport(// import to remove
+ importCommonTransit1Id,
+ // data that should be removed
+ transit1Id , transect1Id, operation1Id, transect1_2Id,
+ totalSample1Id, subSample1Id, biometrySample1Id,
+ cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
+ cellRegion1Id, resultRegion1Id,
+ cellMap1Id, resultMap1Id,
+ // importLog that should be removed
+ importCommonTransit1Id,
+ importCommonTransect1Id,
+ importOperation1Id,
+ importCatches1Id,
+ importAcoustic1Id,
+ importResultEsdu1Id,
+ importResultRegion1Id,
+ importResultMap1Id);
+ }
+
+ @Test
+ public void removeImport2() throws TopiaException {
+
+ removeImport(// import to remove
+ importCommonTransit2Id,
+ // data that should be removed
+ transit2Id , transect2Id, transect2_2Id,
+ // importLog that should be removed
+ importCommonTransit2Id,
+ importCommonTransect2Id);
+ }
+}
+
+
+
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -0,0 +1,79 @@
+package fr.ifremer.echobase.ui.actions.removedata;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import fr.ifremer.echobase.services.removedata.RemoveDataService;
+import fr.ifremer.echobase.services.removedata.strategy.CommonVoyageRemoveDataStrategy;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+
+/**
+ * Test{@link RemoveDataService} with {@link CommonVoyageRemoveDataStrategy}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class CommonVoyageRemoveDataServiceTest extends AbstractRemoveDataServiceTest {
+
+ @Test
+ public void removeImport1() throws TopiaException {
+
+ removeImport(// import to remove
+ importCommonVoyage1Id,
+ // data that should be removed
+ voyage1Id, transit1Id, transect1Id, operation1Id, transect1_2Id,
+ totalSample1Id, subSample1Id, biometrySample1Id,
+ cellEsdu1Id, cellElementary1Id, resultEsdu1Id,
+ cellRegion1Id, resultRegion1Id,
+ cellMap1Id, resultMap1Id,
+ echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id,
+ // importLog that should be removed
+ importCommonVoyage1Id,
+ importCommonTransit1Id,
+ importCommonTransect1Id,
+ importOperation1Id,
+ importCatches1Id,
+ importAcoustic1Id,
+ importResultVoyage1Id,
+ importResultEsdu1Id,
+ importResultRegion1Id,
+ importResultMap1Id);
+ }
+
+ @Test
+ public void removeImport2() throws TopiaException {
+
+ removeImport(// import to remove
+ importCommonVoyage2Id,
+ // data that should be removed
+ voyage2Id, transit2Id, transect2Id, transect2_2Id,
+ // importLog that should be removed
+ importCommonVoyage2Id,
+ importCommonTransit2Id,
+ importCommonTransect2Id);
+ }
+}
+
+
+
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java 2013-08-01 00:12:52 UTC (rev 825)
@@ -84,6 +84,18 @@
}
@InputConfig(methodName = "input")
+ public String modeVoyage() throws Exception {
+
+ return execute();
+ }
+
+ @InputConfig(methodName = "input")
+ public String modeTransit() throws Exception {
+
+ return execute();
+ }
+
+ @InputConfig(methodName = "input")
public String modeTransect() throws Exception {
return execute();
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp 2013-07-25 17:08:39 UTC (rev 824)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonImport.jsp 2013-08-01 00:12:52 UTC (rev 825)
@@ -116,6 +116,92 @@
</s:form>
+<%--Import mode = COMMON_VOYAGE --%>
+
+<s:form id="COMMON_VOYAGE" namespace="/importData" method="POST"
+ enctype="multipart/form-data" cssClass="hidden importMode">
+
+ <fieldset>
+ <legend>
+ <s:text name="echobase.legend.importData.configure"/>
+ </legend>
+
+ <div class="cleanBoth help">
+ <s:a href="%{getDocumentation('importData.html', null)}" target="doc">
+ <s:text name="echobase.action.show.import.documentation"/>
+ </s:a>
+ </div>
+ <br/>
+
+ <s:select key="model.missionId" required="true"
+ label='%{getText("echobase.common.mission")}'
+ list="missions" headerKey="" headerValue=""/>
+ <br/>
+
+ <s:hidden key="model.importType" value="COMMON_VOYAGE" label=''/>
+
+ <s:select key="model.areaOfOperationId" required="true"
+ label='%{getText("echobase.common.areaOfOperation")}'
+ list="areaOfOperations" headerKey="" headerValue=""/>
+
+ <s:textfield key="model.voyageDescription" size="80" required="true"
+ label='%{getText("echobase.common.voyageDescription")}'/>
+
+ <s:textfield key="model.datum" size="80" required="true"
+ label='%{getText("echobase.common.datum")}'/>
+
+ <s:file key="voyageFile" required="true"
+ label='%{getText("echobase.common.voyageFile")}'/>
+
+ <s:textarea key="model.importNotes" cols="80" rows="5"
+ label='%{getText("echobase.common.importNotes")}'/>
+
+ </fieldset>
+
+ <br/>
+ <s:submit action="configureCommon-modeVoyage" key='echobase.action.import'/>
+
+</s:form>
+
+<%--Import mode = COMMON_TRANSIT --%>
+
+<s:form id="COMMON_TRANSIT" namespace="/importData" method="POST"
+ enctype="multipart/form-data" cssClass="hidden importMode">
+
+ <fieldset>
+ <legend>
+ <s:text name="echobase.legend.importData.configure"/>
+ </legend>
+
+ <div class="cleanBoth help">
+ <s:a href="%{getDocumentation('importData.html', null)}" target="doc">
+ <s:text name="echobase.action.show.import.documentation"/>
+ </s:a>
+ </div>
+ <br/>
+
+ <s:hidden key="model.importType" value="COMMON_TRANSIT" label=''/>
+
+ <s:select key="model.voyageId" required="true"
+ label='%{getText("echobase.common.voyage")}'
+ list="voyages" headerKey="" headerValue=""/>
+
+ <s:textfield key="model.transitRelatedActivity" size="80" required="true"
+ label='%{getText("echobase.common.transitRelatedActivity")}'/>
+
+ <s:file key="transitFile" required="true"
+ label='%{getText("echobase.common.transitFile")}'/>
+
+ <s:textarea key="model.importNotes" cols="80" rows="5"
+ label='%{getText("echobase.common.importNotes")}'/>
+
+ </fieldset>
+
+ <br/>
+ <s:submit action="configureCommon-modeTransit" key='echobase.action.import'/>
+
+</s:form>
+
<%--Import mode = COMMON_TRANSECT --%>
<s:form id='COMMON_TRANSECT' namespace="/importData" method="POST"
1
0