r654 - in trunk: echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb echobase-domain/src/main/java/fr/ifremer/echobase/services echobase-domain/src/main/xmi echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy echobase-services/src/main/java/fr/ifremer/echobase/services/importdata echo
Author: tchemit Date: 2012-09-12 17:57:54 +0200 (Wed, 12 Sep 2012) New Revision: 654 Url: http://forge.codelutin.com/repositories/revision/echobase/654 Log: use ProgressModel instead of ProgressionModel refs #1437: Suppression des imports (add voyageId in ImportLog, should be nearly ok now...) Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java Removed: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 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/embeddedapplication/EmbeddedApplicationService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.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/OperationImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.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/importdb/ImportDbConfiguration.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/AbstractRemoveDataStrategy.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/CatchesRemoveDataStrategy.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/LegacyVoyageRemoveDataStrategy.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java 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/ResultRegionRemoveDataStrategy.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/EchoBaseTestServiceSupport.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java trunk/src/site/rst/removeimports.rst Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java 2012-09-12 15:57:54 UTC (rev 654) @@ -53,8 +53,6 @@ boolean showSql, boolean showProgression) throws TopiaException { - - // create new table import log (http://forge.codelutin.com/issues/1437) createImportLogTable(tx, queries); } @@ -69,9 +67,10 @@ "topiaid character varying(255) NOT NULL,\n" + "topiaversion bigint NOT NULL,\n" + "topiacreatedate date,\n" + - "importdate date,\n" + - "importtext character varying(1024),\n" + - "importuser character varying(255)\n" + + "importdate date NOT NULL,\n" + + "importtext character varying(1024) NOT NULL,\n" + + "importuser character varying(255) NOT NULL,\n" + + "voyageid character varying(255) NOT NULL\n" + ");"); queries.add("ALTER TABLE importlog ADD CONSTRAINT PRIMARY_KEY_99A PRIMARY KEY(topiaid);"); @@ -87,10 +86,11 @@ queries.add("CREATE TABLE importlog (\n" + "topiaid VARCHAR(255) NOT NULL,\n" + "topiaversion BIGINT NOT NULL,\n" + - "topiacreatedate DATE,\n" + - "importdate DATE,\n" + - "importtext VARCHAR(1024),\n" + - "importuser VARCHAR(255)\n" + + "topiacreatedate DATE NOT NULL ,\n" + + "importdate DATE NOT NULL ,\n" + + "importtext VARCHAR(1024) NOT NULL,\n" + + "importuser VARCHAR(255) NOT NULL,\n" + + "voyageid VARCHAR(255) NOT NULL\n" + ");"); queries.add("ALTER TABLE importlog ADD CONSTRAINT PRIMARY_KEY_99A PRIMARY KEY(topiaid);"); Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -33,67 +33,67 @@ * @author tchemit <chemit@codelutin.com> * @since 0.2 */ -public abstract class AbstractEchobaseActionConfiguration implements Serializable, ProgressionModel { +public abstract class AbstractEchobaseActionConfiguration implements Serializable, ProgressModel { private static final long serialVersionUID = 1L; - private final ProgressionModel progressionModel; + private final ProgressModel progressModel; private Exception error; private String resultMessage; protected AbstractEchobaseActionConfiguration() { - progressionModel = new DefaultProgressionModel(); + progressModel = new DefaultProgressModel(); } - protected AbstractEchobaseActionConfiguration(ProgressionModel progressionModel) { - this.progressionModel = progressionModel; + protected AbstractEchobaseActionConfiguration(ProgressModel progressModel) { + this.progressModel = progressModel; } @Override public final long getNbSteps() { - return progressionModel.getNbSteps(); + return progressModel.getNbSteps(); } @Override - public final float getProgression() { - return progressionModel.getProgression(); + public final float getProgress() { + return progressModel.getProgress(); } @Override - public final void setProgression(float progression) { - progressionModel.setProgression(progression); + public final void setProgress(float progress) { + progressModel.setProgress(progress); } @Override - public final void incrementsProgression() { - progressionModel.incrementsProgression(); + public final void incrementsProgress() { + progressModel.incrementsProgress(); } @Override public final void setNbSteps(long nbSteps) { - progressionModel.setNbSteps(nbSteps); + progressModel.setNbSteps(nbSteps); } @Override public final long getStartTime() { - return progressionModel.getStartTime(); + return progressModel.getStartTime(); } @Override public final void setStartTime(long startTime) { - progressionModel.setStartTime(startTime); + progressModel.setStartTime(startTime); } @Override public final long getEndTime() { - return progressionModel.getEndTime(); + return progressModel.getEndTime(); } @Override public final void setEndTime(long endTime) { - progressionModel.setEndTime(endTime); + progressModel.setEndTime(endTime); } public Exception getError() { @@ -118,7 +118,7 @@ @Override public String getActionTime() { - return progressionModel.getActionTime(); + return progressModel.getActionTime(); } public void beginAction() { @@ -138,7 +138,7 @@ * @author tchemit <chemit@codelutin.com> * @since 0.3 */ - public static class DefaultProgressionModel implements ProgressionModel { + public static class DefaultProgressModel implements ProgressModel { private static final long serialVersionUID = 1L; @@ -158,13 +158,13 @@ } @Override - public float getProgression() { + public float getProgress() { return progression; } @Override - public void setProgression(float progression) { - this.progression = progression; + public void setProgress(float progress) { + this.progression = progress; } @Override @@ -188,15 +188,15 @@ } @Override - public final void incrementsProgression() { - setProgression(progression + stepIncrement); + public final void incrementsProgress() { + setProgress(progression + stepIncrement); } @Override public final void setNbSteps(long nbSteps) { this.nbSteps = nbSteps; - stepIncrement = 100f / nbSteps; + this.stepIncrement = 100f / nbSteps; } @Override Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java (from rev 650, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java) =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java (rev 0) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java 2012-09-12 15:57:54 UTC (rev 654) @@ -0,0 +1,46 @@ +/* + * #%L + * EchoBase :: Domain + * $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; + +import org.nuiton.topia.persistence.csv.CsvProgressModel; + +import java.io.Serializable; + +/** + * Contract for a progression model while long service actions. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public interface ProgressModel extends CsvProgressModel, Serializable { + + long getStartTime(); + + void setStartTime(long startTime); + + long getEndTime(); + + void setEndTime(long endTime); + + String getActionTime(); +} Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-09-12 15:57:54 UTC (rev 654) @@ -1,46 +0,0 @@ -/* - * #%L - * EchoBase :: Domain - * $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; - -import org.nuiton.topia.persistence.csv.CsvProgressionModel; - -import java.io.Serializable; - -/** - * Contract for a progression model while long service actions. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.3 - */ -public interface ProgressionModel extends CsvProgressionModel, Serializable { - - long getStartTime(); - - void setStartTime(long startTime); - - long getEndTime(); - - void setEndTime(long endTime); - - String getActionTime(); -} Modified: trunk/echobase-domain/src/main/xmi/echobase.properties =================================================================== --- trunk/echobase-domain/src/main/xmi/echobase.properties 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-domain/src/main/xmi/echobase.properties 2012-09-12 15:57:54 UTC (rev 654) @@ -53,8 +53,19 @@ ############################################################################### fr.ifremer.echobase.entities.EntityModificationLog.attribute.modificationText.tagvalue.type=text +fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagvalue.type=text ############################################################################### +### Not null for transverse ################################################### +############################################################################### + +fr.ifremer.echobase.entities.ImportLog.attribute.importDate.tagValue.notNull=true +fr.ifremer.echobase.entities.ImportLog.attribute.importUser.tagValue.notNull=true +fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagValue.notNull=true +fr.ifremer.echobase.entities.ImportLog.attribute.importType.tagValue.notNull=true +fr.ifremer.echobase.entities.ImportLog.attribute.voyageId.tagValue.notNull=true + +############################################################################### ### Natural id for references ################################################ ############################################################################### Modified: trunk/echobase-domain/src/main/xmi/echobase.zargo =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -103,7 +103,7 @@ // create static archive structure createStaticArchiveStructure(model, dir); - model.incrementsProgression(); + model.incrementsProgress(); // create new service context EchoBaseServiceContext newServiceContext = @@ -166,7 +166,7 @@ EchoBaseUser admin = userService.getUserByEmail( UserService.DEFAULT_ADMIN_EMAIL); - model.incrementsProgression(); + model.incrementsProgress(); // get all export queries from application List<ExportQuery> queries = getEntities(ExportQuery.class); @@ -187,7 +187,7 @@ exportQueryService.createOrUpdate(query, admin); } - model.incrementsProgression(); + model.incrementsProgress(); // get all working db configuration from application @@ -198,7 +198,7 @@ getInternalTransaction().replicateEntities( newServiceContext.getInternalTransaction(), confs); - model.incrementsProgression(); + model.incrementsProgress(); return admin; @@ -222,7 +222,7 @@ // inject a new transaction in service context newServiceContext.setTransaction(rootContext.beginTransaction()); - model.incrementsProgression(); + model.incrementsProgress(); // prepare import configuration ImportDbConfiguration importConfiguration = Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -24,7 +24,7 @@ package fr.ifremer.echobase.services.exportdb; import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; -import fr.ifremer.echobase.services.ProgressionModel; +import fr.ifremer.echobase.services.ProgressModel; import org.apache.commons.io.FileUtils; import java.io.File; @@ -56,8 +56,8 @@ public ExportDbConfiguration() { } - public ExportDbConfiguration(ProgressionModel progressionModel) { - super(progressionModel); + public ExportDbConfiguration(ProgressModel progressModel) { + super(progressModel); } public String getFileName() { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -106,7 +106,7 @@ ExportService exportService) { for (TableMeta<EchoBaseEntityEnum> meta : tablesToExport) { - model.incrementsProgression(); + model.incrementsProgress(); File entryFile = new File(dir, meta.getFilename()); exportService.exportData(meta, entryFile); @@ -119,7 +119,7 @@ ExportService exportService) { for (AssociationMeta<EchoBaseEntityEnum> associationMeta : associationsToExport) { - model.incrementsProgression(); + model.incrementsProgress(); File entryFile = new File(dir, associationMeta.getFilename()); exportService.exportData(associationMeta, entryFile); @@ -144,7 +144,7 @@ try { for (String voyageId : model.getVoyageIds()) { - model.incrementsProgression(); + model.incrementsProgress(); Voyage voyage = getEntityById(Voyage.class, voyageId); visitor.export(voyage); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -44,6 +44,9 @@ private static final long serialVersionUID = 1L; + /** Selected voyage id where to import datas. */ + protected String voyageId; + /** Directory where to store temporary files. */ protected File workingDirectory; @@ -63,6 +66,14 @@ protected final List<EchoBaseCsvFileImportResult> importResults = Lists.newArrayList(); + public final String getVoyageId() { + return voyageId; + } + + public final void setVoyageId(String voyageId) { + this.voyageId = voyageId; + } + public File getWorkingDirectory() { return workingDirectory; } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -57,7 +57,6 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.StringUtil; import org.nuiton.util.TimeLog; import org.nuiton.util.csv.ImportRuntimeException; @@ -105,18 +104,22 @@ log.info("Nb lines to import " + nbSteps); } - TIME_LOG.log(s0, "computeNbSteps"); + s0 = TIME_LOG.log(s0, "computeNbSteps"); try { startImport(configuration, user); + s0 = TIME_LOG.log(s0, "importDone"); + // add result in log book and compute resume to show in result - String result = computeResultAndLogBookEntry(configuration, - user, - TimeLog.getTime() - s0); + String result = computeResultAndLogBookEntry(configuration, user); // do commit - commitTransaction("Could not execute import " + getImportLabel(configuration)); + commitTransaction("Could not execute import " + + getImportLabel(configuration)); + + TIME_LOG.log(s0, "importCommited"); + return result; } catch (EchoBaseTechnicalException e) { throw new ImportException(e.getMessage(), e); @@ -128,13 +131,13 @@ } protected String computeResultAndLogBookEntry(M configuration, - EchoBaseUser user, - long time) { + EchoBaseUser user) { Date importDate = newDate(); String importUser = user.getEmail(); ImportLog importLog = create(getDAO(ImportLog.class), + ImportLog.PROPERTY_VOYAGE_ID, configuration.getVoyageId(), ImportLog.PROPERTY_IMPORT_TYPE, configuration.getImportType(), ImportLog.PROPERTY_IMPORT_USER, importUser, ImportLog.PROPERTY_IMPORT_DATE, importDate, @@ -149,9 +152,6 @@ if (StringUtils.isNotEmpty(configuration.getImportNotes())) { buffer.append("\nNotes :").append(configuration.getImportNotes()); } - buffer.append('\n'); - buffer.append("Import réalisé en "); - buffer.append(StringUtil.convertTime(time)); for (EchoBaseCsvFileImportResult importResult : configuration.getImportResults()) { @@ -278,7 +278,7 @@ protected final void doFlushTransaction(int rowNumber, InputFile inputFile, M configuration) { - configuration.incrementsProgression(); + configuration.incrementsProgress(); if (rowNumber % 1000 == 0) { // flush each 1000 imported rows String message = getImportMessage(configuration, inputFile); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -40,9 +40,6 @@ private static final long serialVersionUID = 1L; - /** Selected voyage id where to import datas. */ - protected String voyageId; - /** Selected vessel id to find out transect where to import datas. */ protected String vesselId; @@ -103,14 +100,6 @@ importType = ImportType.ACOUSTIC; } - public String getVoyageId() { - return voyageId; - } - - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; - } - public String getVesselId() { return vesselId; } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -186,7 +186,7 @@ Cell elementaryCell; int rowNumber = 0; - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (AcousticImportRow row : importer) { doFlushTransaction(++rowNumber, inputFile, configuration); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -40,9 +40,6 @@ private static final long serialVersionUID = 1L; - /** Selected voyage id where to import datas. */ - protected String voyageId; - /** Sample file to import. */ protected final InputFile totalSampleFile; @@ -62,14 +59,6 @@ importType = ImportType.CATCHES; } - public String getVoyageId() { - return voyageId; - } - - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; - } - public InputFile getTotalSampleFile() { return totalSampleFile; } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -186,7 +186,7 @@ Import.newImport(csvModel, reader); int rowNumber = 0; - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (TotalSampleImportRow row : importer) { doFlushTransaction(++rowNumber, inputFile, configuration); @@ -348,7 +348,7 @@ Import<SubSampleImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (SubSampleImportRow row : importer) { @@ -464,7 +464,7 @@ Import<BiometrySampleImportRow> importer = Import.newImport( csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (BiometrySampleImportRow row : importer) { 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -116,10 +116,10 @@ try { Import<Voyage> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (Voyage voyage : importer) { - configuration.incrementsProgression(); + configuration.incrementsProgress(); voyage.setMission(mission); voyage.setAreaOfOperation(areaOfOperation); @@ -187,10 +187,10 @@ Import<TransitImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (TransitImportRow row : importer) { - configuration.incrementsProgression(); + configuration.incrementsProgress(); Transit transit = row.getTransit(); transit.setRelatedActivity(relatedActivity); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -43,9 +43,6 @@ /** Selected mission id to use in voyage. */ protected String missionId; - /** Selected voyage id to use (in mode 2). */ - protected String voyageId; - /** Selected area of operation to use for voyage. */ protected String areaOfOperationId; @@ -105,14 +102,6 @@ this.areaOfOperationId = areaOfOperationId; } - public String getVoyageId() { - return voyageId; - } - - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; - } - public String getVoyageDescription() { return voyageDescription; } 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -152,10 +152,10 @@ Import<TransectImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (TransectImportRow row : importer) { - configuration.incrementsProgression(); + configuration.incrementsProgress(); Transect transect = row.getTransect(); Date timeCoverageStart = transect.getTimeCoverageStart(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -40,9 +40,6 @@ private static final long serialVersionUID = 1L; - /** Selected voyage id where to import datas. */ - protected String voyageId; - /** operation file to import. */ protected final InputFile operationFile; @@ -62,14 +59,6 @@ importType = ImportType.OPERATION; } - public String getVoyageId() { - return voyageId; - } - - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; - } - public InputFile getOperationFile() { return operationFile; } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -146,7 +146,7 @@ Import<OperationImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (OperationImportRow row : importer) { @@ -213,7 +213,7 @@ Import.newImport(csvModel, reader); int rowNumber = 0; - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (OperationMetadataValueImportRow row : importer) { doFlushTransaction(++rowNumber, inputFile, configuration); @@ -270,7 +270,7 @@ Import.newImport(csvModel, reader); int rowNumber = 0; - configuration.incrementsProgression(); + configuration.incrementsProgress(); for (GearMetadataValueImportRow row : importer) { doFlushTransaction(++rowNumber, inputFile, configuration); 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -230,7 +230,7 @@ Import<EsduResultByEchotypeImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (EsduResultByEchotypeImportRow row : importer) { @@ -309,7 +309,7 @@ Import<EsduResultByEchotypeAndSpeciesCategoryImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (EsduResultByEchotypeAndSpeciesCategoryImportRow row : importer) { @@ -390,7 +390,7 @@ Import<EsduResultBySpeciesAndSizeCategoryImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (EsduResultBySpeciesAndSizeCategoryImportRow row : importer) { @@ -491,7 +491,7 @@ Import<EsduResultBySpeciesAndAgeCategoryImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (EsduResultBySpeciesAndAgeCategoryImportRow row : importer) { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -40,9 +40,6 @@ private static final long serialVersionUID = 1L; - /** Selected voyage id where to import datas. */ - protected String voyageId; - /** Selected dataProcessing id where to search esdu or elementary cells. */ protected String dataProcessingId; @@ -110,14 +107,6 @@ l_(locale, "echobase.common.esduBySpeciesAndAgeCategoryFile")); } - public String getVoyageId() { - return voyageId; - } - - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; - } - public String getVesselId() { return vesselId; } Modified: 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -180,7 +180,7 @@ Import<MapCellImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (MapCellImportRow row : importer) { 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -156,7 +156,7 @@ Cell cell = null; - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (RegionCellImportRow row : importer) { @@ -232,7 +232,7 @@ Import<RegionCellAssociationImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (RegionCellAssociationImportRow row : importer) { @@ -319,7 +319,7 @@ Import<RegionCellResultImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (RegionCellResultImportRow row : importer) { 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -171,7 +171,7 @@ Import<LengthWeightKeyImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (LengthWeightKeyImportRow row : importer) { @@ -239,7 +239,7 @@ Import<LengthAgeKeyImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (LengthAgeKeyImportRow row : importer) { @@ -296,7 +296,7 @@ Import<EchotypeImportRow> importer = Import.newImport(csvModel, reader); - configuration.incrementsProgression(); + configuration.incrementsProgress(); int rowNumber = 0; for (EchotypeImportRow row : importer) { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java 2012-09-12 15:57:54 UTC (rev 654) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; -import fr.ifremer.echobase.services.ProgressionModel; +import fr.ifremer.echobase.services.ProgressModel; import org.apache.commons.io.FileUtils; import java.io.File; @@ -54,9 +54,9 @@ protected boolean commitAfterEachFile; - public ImportDbConfiguration(ProgressionModel progressionModel, + public ImportDbConfiguration(ProgressModel progressModel, Locale locale) { - super(progressionModel); + super(progressModel); input = InputFile.newFile(l_(locale, "echobase.common.importDbFile")); } 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2012-09-12 15:57:54 UTC (rev 654) @@ -109,14 +109,18 @@ long s0 = TimeLog.getTime(); AbstractRemoveDataStrategy strategy = getService(strategyType); - strategy.doRemove(model, importLog); + try { + strategy.doRemove(model, importLog); + } catch (TopiaException e) { + throw new EchoBaseTechnicalException("Could not remove data", e); + } s0 = TIME_LOG.log(s0, "removeData"); List<ImportLog> removedImportLog = removeObsoleteImportLogs(strategy, importLog); - model.incrementsProgression(); + model.incrementsProgress(); s0 = TIME_LOG.log(s0, "removeObsoleteImportLogs"); // add result in log book and compute resume to show in result @@ -125,12 +129,12 @@ user, TimeLog.getTime() - s0); - model.incrementsProgression(); + model.incrementsProgress(); // do commit commitTransaction("Could not remove import " + strategy.getImportLabel()); - model.incrementsProgression(); + model.incrementsProgress(); return result; } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -23,24 +23,29 @@ * #L% */ -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.ImportType; 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.Echotype; +import fr.ifremer.echobase.entities.data.EchotypeDAO; import fr.ifremer.echobase.entities.data.LengthAgeKey; +import fr.ifremer.echobase.entities.data.LengthAgeKeyDAO; import fr.ifremer.echobase.entities.data.LengthWeightKey; +import fr.ifremer.echobase.entities.data.LengthWeightKeyDAO; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.data.VoyageDAO; +import fr.ifremer.echobase.services.EchoBaseServiceContext; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration; import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; -import java.util.Collection; import java.util.List; import java.util.Set; @@ -58,12 +63,41 @@ return importLabel; } - protected abstract void removeData(String id) throws TopiaException; + protected VoyageDAO voyageDao; + protected CellDAO cellDAO; + + protected CategoryDAO categoryDAO; + + protected EchotypeDAO echotypeDAO; + + protected LengthAgeKeyDAO lengthAgeKeyDAO; + + protected LengthWeightKeyDAO lengthWeightKeyDAO; + + @Override + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + + cellDAO = getDAO(Cell.class, CellDAO.class); + echotypeDAO = getDAO(Echotype.class, EchotypeDAO.class); + voyageDao = getDAO(Voyage.class, VoyageDAO.class); + lengthAgeKeyDAO = getDAO(LengthAgeKey.class, LengthAgeKeyDAO.class); + lengthWeightKeyDAO = getDAO(LengthWeightKey.class, LengthWeightKeyDAO.class); + categoryDAO = getDAO(Category.class, CategoryDAO.class); + } + + protected abstract void removeImportData(Voyage voyage, + String id) throws TopiaException; + public abstract Set<ImportType> getPossibleSubImportType(); - public void doRemove(RemoveDataConfiguration model, ImportLog importLog) { + public void doRemove(RemoveDataConfiguration model, ImportLog importLog) throws TopiaException { + Voyage voyage = voyageDao.findByTopiaId(importLog.getTopiaId()); + + removeDataInVoyage(voyage); + int currentIndex = 0; for (String importId : importLog.getImportId()) { @@ -72,33 +106,23 @@ if (currentIndex % 1000 == 0) { flushTransaction("Could not flush transaction"); } - model.incrementsProgression(); + model.incrementsProgress(); try { - removeData(importId); + removeImportData(voyage, importId); } catch (TopiaException e) { throw new EchoBaseTechnicalException(e); } } } - protected <E extends TopiaEntity> E findById(TopiaDAO<E> dao, String id) { + protected abstract void removeDataInVoyage(Voyage voyage) throws TopiaException; - try { - E result = dao.findByTopiaId(id); - return result; - } catch (TopiaException e) { - throw new EchoBaseTechnicalException("Could not find entity with id " + id, e); - } - } + protected <E extends TopiaEntity> E removeEntity(TopiaDAO<E> dao, + String id) throws TopiaException { - protected <E extends TopiaEntity> E removeEntity(String id) { - - // get dao - TopiaDAO<E> dao = getDAOFromId(id); - // get entity to delete - E entity = findById(dao, id); + E entity = dao.findByTopiaId(id); // delete it delete(dao, entity); @@ -112,11 +136,11 @@ " from service " + this); } - protected void removeLengthWeightKey(LengthWeightKey lengthWeightKey, - Voyage entity) throws TopiaException { - TopiaDAO<LengthWeightKey> dao = getDAO(LengthWeightKey.class); - dao.delete(lengthWeightKey); + protected void removeLengthWeightKey(Voyage entity, + LengthWeightKey lengthWeightKey) throws TopiaException { + lengthWeightKeyDAO.delete(lengthWeightKey); + if (entity != null) { // remove it from the voyage @@ -124,10 +148,9 @@ } } - protected void removeLengthAgeKey(LengthAgeKey lengthAgeKey, - Voyage entity) throws TopiaException { - TopiaDAO<LengthAgeKey> dao = getDAO(LengthAgeKey.class); - dao.delete(lengthAgeKey); + protected void removeLengthAgeKey(Voyage entity, + LengthAgeKey lengthAgeKey) throws TopiaException { + lengthAgeKeyDAO.delete(lengthAgeKey); if (entity != null) { @@ -136,17 +159,15 @@ } } - protected void removeEchotype(Echotype echotype, - Voyage entity) throws TopiaException { + protected void removeEchotype(Voyage entity, + Echotype echotype) throws TopiaException { // delete all category - CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class); List<Category> allByEchotype = categoryDAO.findAllByEchotype(echotype); categoryDAO.deleteAll(allByEchotype); // delete echotype - TopiaDAO<Echotype> dao = getDAO(Echotype.class); - dao.delete(echotype); + echotypeDAO.delete(echotype); if (entity != null) { @@ -155,36 +176,46 @@ } } - protected void removeVoyage(TopiaDAO<Voyage> dao, Voyage entity) throws TopiaException { + protected void removePostCell(Voyage entity, + Cell cell) throws TopiaException { - Collection<LengthWeightKey> lengthWeightKeys = Lists.newArrayList(entity.getLengthWeightKey()); - Collection<LengthAgeKey> lengthAgeKeys = Lists.newArrayList(entity.getLengthAgeKey()); + // delete postcell + cellDAO.delete(cell); + + if (entity != null) { + + // remove it from the voyage + entity.removePostCell(cell); + } + } + + protected void removeVoyage(Voyage entity) throws TopiaException { + Set<Echotype> echotypes = Sets.newHashSet(entity.getEchotype()); // clean this data - entity.clearLengthWeightKey(); - entity.clearLengthAgeKey(); entity.clearEchotype(); // delete voyage - delete(dao, entity); + delete(voyageDao, entity); flushTransaction("Could not flush voyage deletion"); - // delete all lengthWeightKeys - for (LengthWeightKey lengthWeightKey : lengthWeightKeys) { - removeLengthWeightKey(lengthWeightKey, null); + // delete all echotypes + for (Echotype echotype : echotypes) { + removeEchotype(null, echotype); } + } - // delete all lengthAgeKeys - for (LengthAgeKey lengthAgeKey : lengthAgeKeys) { - removeLengthAgeKey(lengthAgeKey, null); + protected void removeVoyagePostCell(Voyage entity) throws TopiaException { + + for (Cell postCell : entity.getPostCell()) { + removePostCell(null, postCell); } - // delete all echotypes - for (Echotype echotype : echotypes) { - removeEchotype(echotype, null); - } + // clean this data + entity.clearPostCell(); + + flushTransaction("Could not flush transaction after removing postCells"); } - } 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -27,8 +27,12 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.DataAcquisition; +import fr.ifremer.echobase.entities.data.DataAcquisitionDAO; +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; @@ -46,40 +50,47 @@ private static final Log log = LogFactory.getLog(AcousticRemoveDataStrategy.class); + protected DataAcquisitionDAO dataAcquisitionDAO; + @Override - protected void removeData(String id) { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + dataAcquisitionDAO = getDAO(DataAcquisition.class, DataAcquisitionDAO.class); + } + + @Override + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + + // remove post cell from top voyage + removeVoyagePostCell(voyage); + } + + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(DataAcquisition.class.getName())) { // remove dataAcquisition - removeDataAcquisition(id); + DataAcquisition entity = removeEntity(dataAcquisitionDAO, id); + if (log.isInfoEnabled()) { + log.info("DataAcquisition " + entity.getTopiaId() + " was removed"); + } } else if (id.startsWith(Cell.class.getName())) { // remove cell - removeCell(id); + Cell entity = removeEntity(cellDAO, id); + if (log.isInfoEnabled()) { + log.info("Cell " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeDataAcquisition(String id) { - DataAcquisition entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("DataAcquisition " + entity.getTopiaId() + " was removed"); - } - } - - protected void removeCell(String id) { - Cell entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("Cell " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { - Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_VOYAGE, - ImportType.RESULT_ESDU, + Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_ESDU, ImportType.RESULT_MAP, ImportType.RESULT_REGION); return result; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -25,8 +25,12 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleDAO; +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.Collections; import java.util.Set; @@ -45,25 +49,34 @@ private static final Log log = LogFactory.getLog(CatchesRemoveDataStrategy.class); + protected SampleDAO sampleDAO; + @Override - protected void removeData(String id) { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + sampleDAO = getDAO(Sample.class, SampleDAO.class); + } + @Override + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level + } + + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Sample.class.getName())) { // remove sample - removeSample(id); + Sample entity = removeEntity(sampleDAO, id); + if (log.isInfoEnabled()) { + log.info("Sample " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeSample(String id) { - Sample entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("Sample " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Collections.emptySet(); 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -29,7 +29,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.TopiaDAO; import java.util.Set; @@ -48,34 +47,30 @@ LogFactory.getLog(CommonAllRemoveDataStrategy.class); @Override - protected void removeData(String id) throws TopiaException { + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level (done by voyage id)... + } + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Voyage.class.getName())) { // remove voyage - removeVoyage(id); + // get entity to delete + Voyage entity = voyageDao.findByTopiaId(id); + + // delete it + removeVoyage(entity); + + if (log.isInfoEnabled()) { + log.info("Voyage " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeVoyage(String id) throws TopiaException { - - // get dao - TopiaDAO<Voyage> dao = getDAOFromId(id); - - // get entity to delete - Voyage entity = findById(dao, id); - - // delete it - removeVoyage(dao, entity); - - if (log.isInfoEnabled()) { - log.info("Voyage " + entity.getTopiaId() + " was removed"); - } - } - - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT, 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -26,8 +26,12 @@ import com.google.common.collect.Sets; 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.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; @@ -45,9 +49,25 @@ private static final Log log = LogFactory.getLog(CommonTransectRemoveDataStrategy.class); + protected TransectDAO transectDAO; + @Override - protected void removeData(String id) { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + transectDAO = getDAO(Transect.class, TransectDAO.class); + } + + @Override + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + + // remove postCell from voyage + removeVoyagePostCell(voyage); + } + + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Transect.class.getName())) { // remove transect @@ -57,8 +77,8 @@ } } - protected void removeTransect(String id) { - Transect entity = removeEntity(id); + protected void removeTransect(String id) throws TopiaException { + Transect entity = removeEntity(transectDAO, id); if (log.isInfoEnabled()) { log.info("Transect " + entity.getTopiaId() + " was removed"); } @@ -69,7 +89,6 @@ Set<ImportType> result = Sets.newHashSet(ImportType.OPERATION, ImportType.CATCHES, ImportType.ACOUSTIC, - ImportType.RESULT_VOYAGE, ImportType.RESULT_ESDU, ImportType.RESULT_MAP, ImportType.RESULT_REGION); 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -29,7 +29,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.TopiaDAO; import java.util.Set; @@ -48,34 +47,29 @@ LogFactory.getLog(LegacyVoyageRemoveDataStrategy.class); @Override - protected void removeData(String id) throws TopiaException { - - if (id.startsWith(Voyage.class.getName())) { - - // remove voyage - removeVoyage(id); - } else { - canNotDealWithId(id); - } + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level } - protected void removeVoyage(String id) throws TopiaException { + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { - // get dao - TopiaDAO<Voyage> dao = getDAOFromId(id); + if (id.startsWith(Voyage.class.getName())) { - // get entity to delete - Voyage entity = findById(dao, id); + // get entity to delete + Voyage entity = voyageDao.findByTopiaId(id); - // delete it - removeVoyage(dao, entity); + // delete it + removeVoyage(entity); - if (log.isInfoEnabled()) { - log.info("Voyage " + entity.getTopiaId() + " was removed"); + if (log.isInfoEnabled()) { + log.info("Voyage " + entity.getTopiaId() + " was removed"); + } + } else { + canNotDealWithId(id); } } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT, Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -26,8 +26,12 @@ import com.google.common.collect.Sets; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Operation; +import fr.ifremer.echobase.entities.data.OperationDAO; +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; @@ -45,25 +49,36 @@ private static final Log log = LogFactory.getLog(OperationRemoveDataStrategy.class); + protected OperationDAO operationDAO; + @Override - protected void removeData(String id) { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + operationDAO = getDAO(Operation.class, OperationDAO.class); + + } + + @Override + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level + } + + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Operation.class.getName())) { // remove operation - removeOperation(id); + Operation entity = removeEntity(operationDAO, id); + if (log.isInfoEnabled()) { + log.info("Operation " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeOperation(String id) { - Operation entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("Operation " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Sets.newHashSet(ImportType.CATCHES); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -25,8 +25,12 @@ import fr.ifremer.echobase.entities.ImportType; 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.services.EchoBaseServiceContext; 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; @@ -45,25 +49,35 @@ private static final Log log = LogFactory.getLog(ResultEsduRemoveDataStrategy.class); + protected ResultDAO resultDAO; + @Override - protected void removeData(String id) { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); + resultDAO = getDAO(Result.class, ResultDAO.class); + } + + @Override + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level + } + + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Result.class.getName())) { // remove result - removeResult(id); + Result entity = removeEntity(resultDAO, id); + if (log.isDebugEnabled()) { + log.debug("Result " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeResult(String id) { - Result entity = removeEntity(id); - if (log.isDebugEnabled()) { - log.debug("Result " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Collections.emptySet(); Modified: 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -25,8 +25,10 @@ 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; @@ -46,24 +48,25 @@ LogFactory.getLog(ResultMapRemoveDataStrategy.class); @Override - protected void removeData(String id) { + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level + } + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Cell.class.getName())) { // remove cell - removeCell(id); + Cell entity = removeEntity(cellDAO, id); + if (log.isInfoEnabled()) { + log.info("Cell " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeCell(String id) { - Cell entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("Cell " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Collections.emptySet(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -25,8 +25,12 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.CellDAO; +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.Collections; import java.util.Set; @@ -46,24 +50,25 @@ LogFactory.getLog(ResultRegionRemoveDataStrategy.class); @Override - protected void removeData(String id) { + protected void removeDataInVoyage(Voyage voyage) throws TopiaException { + // nothing to do on voyage level + } + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { + if (id.startsWith(Cell.class.getName())) { - // remove echotype - removeCell(id); + // remove post cell + Cell entity = removeEntity(cellDAO, id); + if (log.isInfoEnabled()) { + log.info("Cell " + entity.getTopiaId() + " was removed"); + } } else { canNotDealWithId(id); } } - protected void removeCell(String id) { - Cell entity = removeEntity(id); - if (log.isInfoEnabled()) { - log.info("Cell " + entity.getTopiaId() + " was removed"); - } - } - @Override public Set<ImportType> getPossibleSubImportType() { Set<ImportType> result = Collections.emptySet(); 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654) @@ -30,14 +30,14 @@ import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthWeightKey; 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.data.VoyageDAO; +import fr.ifremer.echobase.services.EchoBaseServiceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; -import org.nuiton.topia.persistence.TopiaDAO; import java.sql.Connection; import java.sql.PreparedStatement; @@ -62,87 +62,21 @@ private static final Log log = LogFactory.getLog(ResultVoyageRemoveDataStrategy.class); - protected Voyage voyage; + protected ResultDAO resultDAO; + @Override - protected void removeData(String id) throws TopiaException { + public void setServiceContext(EchoBaseServiceContext serviceContext) { + super.setServiceContext(serviceContext); - if (id.startsWith(Echotype.class.getName())) { - - // get dao - TopiaDAO<Echotype> dao = getDAOFromId(id); - - // get entity to delete - Echotype entity = findById(dao, id); - - if (voyage == null) { - - // load voyage - VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class); - voyage = voyageDao.findContainsEchotype(entity); - - // remove data from voyage - removeVoyageData(voyage); - } - - // remove echotype - removeEchotype(entity); - } else if (id.startsWith(LengthAgeKey.class.getName())) { - - // get dao - TopiaDAO<LengthAgeKey> dao = getDAOFromId(id); - - // get entity to delete - LengthAgeKey entity = findById(dao, id); - - if (voyage == null) { - - // load voyage - VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class); - voyage = voyageDao.findContainsLengthAgeKey(entity); - - // remove data from voyage - removeVoyageData(voyage); - } - - // remove lengthAgeKey - removeLengthAgeKey(entity); - } else if (id.startsWith(LengthWeightKey.class.getName())) { - - // get dao - TopiaDAO<LengthWeightKey> dao = getDAOFromId(id); - - // get entity to delete - LengthWeightKey entity = findById(dao, id); - - if (voyage == null) { - - // load voyage - VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class); - voyage = voyageDao.findContainsLengthWeightKey(entity); - - // remove data from voyage - removeVoyageData(voyage); - } - - // remove lengthAgeKey - removeLengthWeightKey(entity); - } else { - canNotDealWithId(id); - } + resultDAO = getDAO(Result.class, ResultDAO.class); } - protected void removeVoyageData(final Voyage voyage) throws TopiaException { + @Override + protected void removeDataInVoyage(final Voyage voyage) throws TopiaException { - // suppress all postCell from the voyage - TopiaDAO<Cell> cellDAO = getDAO(Cell.class); - for (Cell postCell : voyage.getPostCell()) { - voyage.removePostCell(postCell); - delete(cellDAO, postCell); - } + removeVoyagePostCell(voyage); - flushTransaction("Could not flush transaction after removing postCells"); - // Get all cells of the voyage TopiaSQLQuery<String> query = new TopiaSQLQuery<String>() { @Override @@ -173,10 +107,8 @@ // remove all result of cells - TopiaDAO<Result> resultDAO = getDAO(Result.class); - for (String cellId : cellIds) { - Cell cell = findById(cellDAO, cellId); + Cell cell = cellDAO.findByTopiaId(cellId); Collection<Result> cellResult = cell.getResult(); for (Result result : cellResult) { cell.removeResult(result); @@ -188,30 +120,41 @@ "Could not flush transaction after deleting data from voyage"); } - protected void removeEchotype(Echotype entity) throws TopiaException { + @Override + protected void removeImportData(Voyage voyage, String id) throws TopiaException { - removeEchotype(entity, voyage); + if (id.startsWith(Echotype.class.getName())) { - if (log.isInfoEnabled()) { - log.info("Echotype " + entity.getTopiaId() + " was removed"); - } - } + // remove echotype + Echotype entity = echotypeDAO.findByTopiaId(id); - protected void removeLengthAgeKey(LengthAgeKey entity) throws TopiaException { + removeEchotype(voyage, entity); - removeLengthAgeKey(entity, voyage); + if (log.isInfoEnabled()) { + log.info("Echotype " + entity.getTopiaId() + " was removed"); + } + } else if (id.startsWith(LengthAgeKey.class.getName())) { - if (log.isInfoEnabled()) { - log.info("LengthAgeKey " + entity.getTopiaId() + " was removed"); - } - } + // remove lengthAgeKey + LengthAgeKey entity = lengthAgeKeyDAO.findByTopiaId(id); - protected void removeLengthWeightKey(LengthWeightKey entity) throws TopiaException { + removeLengthAgeKey(voyage, entity); - removeLengthWeightKey(entity, voyage); + if (log.isInfoEnabled()) { + log.info("LengthAgeKey " + entity.getTopiaId() + " was removed"); + } + } else if (id.startsWith(LengthWeightKey.class.getName())) { - if (log.isInfoEnabled()) { - log.info("LengthWeightKey " + entity.getTopiaId() + " was removed"); + // remove lengthAgeKey + LengthWeightKey entity = lengthWeightKeyDAO.findByTopiaId(id); + + removeLengthWeightKey(voyage, entity); + + if (log.isInfoEnabled()) { + log.info("LengthWeightKey " + entity.getTopiaId() + " was removed"); + } + } else { + canNotDealWithId(id); } } 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 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-09-12 15:57:54 UTC (rev 654) @@ -85,8 +85,8 @@ return fakeServiceContext.getTestDir(); } - public void assertConfProgressionToEnd(ProgressionModel conf) { - Assert.assertEquals(100f, conf.getProgression(), 1); + public void assertConfProgressionToEnd(ProgressModel conf) { + Assert.assertEquals(100f, conf.getProgress(), 1); } protected void prepareInputFile(InputFile inputFile, Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java 2012-09-12 15:57:54 UTC (rev 654) @@ -63,7 +63,7 @@ File zipFile = service.createEmbeddedApplication(conf); Assert.assertTrue(zipFile.exists()); - Assert.assertEquals(100f, conf.getProgression(), 1); + Assert.assertEquals(100f, conf.getProgress(), 1); // TODO Test that embedded db has exactly same number of data than in incoming db } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java 2012-09-12 15:57:54 UTC (rev 654) @@ -71,7 +71,7 @@ service.doImport(conf, user); - Assert.assertTrue(conf.getProgression() > 94); + Assert.assertTrue(conf.getProgress() > 94); } } Modified: trunk/src/site/rst/removeimports.rst =================================================================== --- trunk/src/site/rst/removeimports.rst 2012-09-12 12:45:13 UTC (rev 653) +++ trunk/src/site/rst/removeimports.rst 2012-09-12 15:57:54 UTC (rev 654) @@ -36,23 +36,48 @@ Abstract -------- -Ce document décrit ce qui se passe lors la suppresion des imports. +Ce document décrit ce qui se passe lors la suppresion d'un import. +Import Voyage complêt) +---------------------- + +Données à supprimer +~~~~~~~~~~~~~~~~~~~ + +Le voyage en question et tout ce qui y est rattaché (Transit,...) et aussi : + +- category (utilise EchoType) +- echotype + +Imports à retirer +~~~~~~~~~~~~~~~~~ + +Seront supprimés de la table des imports les imports suivants qui aurait pu +être effectué suite à cet import, à savoir : + +- import Transect +- import Operation +- import Catches +- import Acoustic +- import Résultats Voyage +- import Résultats Esdu +- import Region +- import Map + + Import Voyage / Transit / Transect ---------------------------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ -Le voyage en question et tout ce qui y est rattaché et aussi : +Le voyage en question et tout ce qui y est rattaché (Transit,...) et aussi : -- category +- category (utilise EchoType) - echotype -- lengthAgeKey -- lengthWeightKey -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Seront supprimés de la table des imports les imports suivants qui aurait pu être effectué suite à cet import, à savoir : @@ -69,14 +94,14 @@ Import Transect --------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Le transect en question et tout ce qui y est rattaché, ainsi que les *postCell* et leur résultats. -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Seront supprimés de la table des imports les imports suivants qui aurait pu être effectué suite à cet import, à savoir : @@ -91,14 +116,14 @@ Import Operation ---------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les opérations de pêche et tout ce qui y est rattaché (OperationMetadata et GearMetadata et Sample). -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~~~ Seront supprimés de la table des imports les imports suivants qui aurait pu être effectué suite à cet import, à savoir : @@ -108,27 +133,28 @@ Import Catches -------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ -Les échantillons captures en question et tout ce qui y est rattaché. +Les échantillons captures (Sample) en question et tout ce qui y est rattaché +(SampleData). -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Aucun sous import possible à retirer. Import Acoustic --------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les données acoustiques et tout ce qui y est rattaché (DataAcquisition, Cell, Result), ainsi que les *postCell* et leur résultats. -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Seront supprimés de la table des imports les imports suivants qui aurait pu être effectué sur ce voyage, à savoir : @@ -140,8 +166,8 @@ Import Résultats voyage ----------------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les données rattachés à un voyage après-coup, à savoir : @@ -151,8 +177,8 @@ Mais aussi tous les résultats (car il peuvent dépendre des données précédentes). -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Seront supprimés de la table des imports les imports suivants qui aurait pu être effectué suite à cet import, à savoir : @@ -164,38 +190,38 @@ Immort Résultats Esdu --------------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les résultats attachés aux cellules de type *ESDU*. -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Aucun sous import possible à retirer. Import Region ------------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les postCells de type *Region* et tout ce qui y est rattaché (Result) -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Aucun sous import possible à retirer. Import Map ---------- -Données supprimées -~~~~~~~~~~~~~~~~~~ +Données à supprimer +~~~~~~~~~~~~~~~~~~~ Les postCells de type *Map* et tout ce qui y est rattaché (Result) -Import retirés -~~~~~~~~~~~~~~ +Imports à retirer +~~~~~~~~~~~~~~~~~ Aucun sous import possible à retirer. \ No newline at end of file
participants (1)
-
tchemit@users.forge.codelutin.com