This is an automated email from the git hooks/post-receive script. New commit to branch feature/5954 in repository tutti. See http://git.codelutin.com/tutti.git commit f3570e7999496d1da30a99852283fcded556c25d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 11 13:58:19 2014 +0100 utilisation d'une exception si colonne non trouvee dans le header --- .../FishingOperationImportService.java | 2 +- ...ImportFromColumnFileMissingHeaderException.java | 24 +++++++++++++++++ .../operationimport/ImportFromColumnFileModel.java | 7 ++--- ...perationCaracteristicsFromColumnFileAction.java | 30 ++++++++++++---------- 4 files changed, 44 insertions(+), 19 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/FishingOperationImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/FishingOperationImportService.java index 89709e4..a68cbb2 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/FishingOperationImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/FishingOperationImportService.java @@ -48,7 +48,7 @@ public class FishingOperationImportService extends AbstractTuttiService { dataContext = context.getDataContext(); } - public void importCaracteristicsFromColumnFile(File columnsFile, FishingOperation fishingoperation) throws ImportFromColumnFileInvalidRowException, ImportFromColumnFileFishingOperationNotFoundException { + public void importCaracteristicsFromColumnFile(File columnsFile, FishingOperation fishingoperation) throws ImportFromColumnFileInvalidRowException, ImportFromColumnFileFishingOperationNotFoundException, ImportFromColumnFileMissingHeaderException { // Get import file headers Set<String> headers = Sets.newHashSet(CsvReaders.getHeader(columnsFile, ';')); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileMissingHeaderException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileMissingHeaderException.java new file mode 100644 index 0000000..21702e2 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileMissingHeaderException.java @@ -0,0 +1,24 @@ +package fr.ifremer.tutti.service.operationimport; + +/** + * when a column header is missing in the import file. + * + * Created on 12/11/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.10 + */ +public class ImportFromColumnFileMissingHeaderException extends Exception { + + private static final long serialVersionUID = 1L; + + private final String importColumn; + + public ImportFromColumnFileMissingHeaderException(String importColumn) { + this.importColumn = importColumn; + } + + public String getImportColumn() { + return importColumn; + } +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java index fdfb2ed..742a381 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java @@ -17,7 +17,6 @@ import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.service.TuttiCsvUtil; import fr.ifremer.tutti.service.TuttiDataContext; import org.apache.commons.lang3.StringUtils; -import org.nuiton.csv.ImportRuntimeException; import org.nuiton.csv.ValueParser; import org.nuiton.csv.ValueSetter; @@ -28,8 +27,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import static org.nuiton.i18n.I18n.t; - /** * Created on 12/11/14. * @@ -43,7 +40,7 @@ public class ImportFromColumnFileModel extends TuttiCsvUtil.AbstractTuttiImportM public ImportFromColumnFileModel(char separator, Set<String> headers, PersistenceService persistenceService, TuttiDataContext dataContext, - FishingOperation fishingOperation) { + FishingOperation fishingOperation) throws ImportFromColumnFileMissingHeaderException { super(separator); this.fishingOperation = fishingOperation; @@ -136,7 +133,7 @@ public class ImportFromColumnFileModel extends TuttiCsvUtil.AbstractTuttiImportM newMandatoryColumn(importColumn, field, valueParser); } else if (!importColumnsInHeaders) { - throw new ImportRuntimeException(t("tutti.editFishingOperation.action.importColumns.missingHeader", importColumn)); + throw new ImportFromColumnFileMissingHeaderException(importColumn); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportFishingOperationCaracteristicsFromColumnFileAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportFishingOperationCaracteristicsFromColumnFileAction.java index c3382d2..b1eadc7 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportFishingOperationCaracteristicsFromColumnFileAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportFishingOperationCaracteristicsFromColumnFileAction.java @@ -4,6 +4,7 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.operationimport.FishingOperationImportService; import fr.ifremer.tutti.service.operationimport.ImportFromColumnFileFishingOperationNotFoundException; import fr.ifremer.tutti.service.operationimport.ImportFromColumnFileInvalidRowException; +import fr.ifremer.tutti.service.operationimport.ImportFromColumnFileMissingHeaderException; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; @@ -27,7 +28,7 @@ public class ImportFishingOperationCaracteristicsFromColumnFileAction extends Ab /** * File to import. */ - protected File columnsFile; + protected File importFile; /** * Result fishing operation after import to merge back to ui model. @@ -43,18 +44,18 @@ public class ImportFishingOperationCaracteristicsFromColumnFileAction extends Ab boolean result = super.prepareAction() && getModel().isImportFromColumnFileEnabled(); if (result) { - columnsFile = chooseFile(t("tutti.editFishingOperation.action.title.choose.importColumnsFile"), - t("tutti.editFishingOperation.action.chooseColumnsFile.import"), - "^.*\\.csv", t("tutti.common.file.csv")); + importFile = chooseFile(t("tutti.editFishingOperation.action.title.choose.importColumnsFile"), + t("tutti.editFishingOperation.action.chooseColumnsFile.import"), + "^.*\\.csv", t("tutti.common.file.csv")); - result = columnsFile != null; + result = importFile != null; } return result; } @Override - public void doAction() throws ImportFromColumnFileInvalidRowException, ImportFromColumnFileFishingOperationNotFoundException { + public void doAction() throws ImportFromColumnFileInvalidRowException, ImportFromColumnFileFishingOperationNotFoundException, ImportFromColumnFileMissingHeaderException { EditFishingOperationUIModel model = getModel(); @@ -67,9 +68,8 @@ public class ImportFishingOperationCaracteristicsFromColumnFileAction extends Ab // Binder<EditFishingOperationUIModel, FishingOperation> toBeanBinder = BinderFactory.newBinder(EditFishingOperationUIModel.class, FishingOperation.class); // toBeanBinder.copy(model, fishingOperationToMerge); - FishingOperationImportService fishingOperationImportService = getContext().getFishingOperationImportService(); - - fishingOperationImportService.importCaracteristicsFromColumnFile(columnsFile, fishingOperationToMerge); + FishingOperationImportService importService = getContext().getFishingOperationImportService(); + importService.importCaracteristicsFromColumnFile(importFile, fishingOperationToMerge); } @@ -100,14 +100,18 @@ public class ImportFishingOperationCaracteristicsFromColumnFileAction extends Ab public void postFailedAction(Throwable error) { String errorMessage = null; - if (error instanceof ImportFromColumnFileFishingOperationNotFoundException) { + + if (error instanceof ImportFromColumnFileMissingHeaderException) { + ImportFromColumnFileMissingHeaderException importFromColumnFileMissingHeaderException = (ImportFromColumnFileMissingHeaderException) error; + + errorMessage = t("tutti.editFishingOperation.action.importColumns.missingHeader", importFromColumnFileMissingHeaderException.getImportColumn()); + + } else if (error instanceof ImportFromColumnFileFishingOperationNotFoundException) { // no matching fishing operation errorMessage = "<li>" + t("tutti.editFishingOperation.action.importColumns.operationNotFound") + "</li>"; - } - - if (error instanceof ImportFromColumnFileInvalidRowException) { + } else if (error instanceof ImportFromColumnFileInvalidRowException) { // matching row is not valid ImportFromColumnFileInvalidRowException importFromColumnFileInvalidRowException = (ImportFromColumnFileInvalidRowException) error; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.