This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit a95fae176fdaafcfad2d248bee0f6d2ebe503d92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Mar 30 15:59:08 2015 +0200 impact Export API in legacy export actions --- .../actions/ExportGenericFormatCruiseAction.java | 37 +++--- .../ExportGenericFormatProgramCruisesAction.java | 30 ++--- .../ImportGenericFormatProgramCruisesAction.java | 138 --------------------- .../actions/OpenGenericFormatImportScreen.java | 66 ---------- 4 files changed, 37 insertions(+), 234 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatCruiseAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatCruiseAction.java index 00e4783..bf9cd13 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatCruiseAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatCruiseAction.java @@ -22,20 +22,24 @@ package fr.ifremer.tutti.ui.swing.content.home.actions; * #L% */ +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.genericformat.GenericFormatExportConfiguration; +import fr.ifremer.tutti.service.genericformat.GenericFormatExportResult; import fr.ifremer.tutti.service.genericformat.GenericFormatExportService; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIHandler; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.ApplicationBusinessException; import java.io.File; +import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -52,6 +56,8 @@ public class ExportGenericFormatCruiseAction extends LongActionSupport<SelectCru protected File file; + private GenericFormatExportResult exportResult; + public ExportGenericFormatCruiseAction(SelectCruiseUIHandler handler) { super(handler, true); } @@ -82,14 +88,21 @@ public class ExportGenericFormatCruiseAction extends LongActionSupport<SelectCru @Override public void releaseAction() { + exportResult = null; file = null; + handler.resetEditCruiseAction(); super.releaseAction(); } @Override public void doAction() throws Exception { + + Program program = getModel().getProgram(); + Preconditions.checkNotNull(program); + Cruise cruise = getModel().getCruise(); Preconditions.checkNotNull(cruise); + Preconditions.checkNotNull(file); if (log.isInfoEnabled()) { @@ -103,27 +116,21 @@ public class ExportGenericFormatCruiseAction extends LongActionSupport<SelectCru ProgressionModel progressionModel = getProgressionModel(); progressionModel.increments(t("tutti.exportCruise.action.computeNbSteps")); - GenericFormatExportConfiguration exportConfiguration = service.createExportConfigurationForCruise(cruise.getId(), file); + GenericFormatExportConfiguration exportConfiguration = service.createExportConfigurationForCruise(program.getId(), cruise.getId(), file); int nbSteps = service.getExportNbSteps(exportConfiguration); progressionModel.adaptTotal(nbSteps); - ApplicationBusinessException exportError = null; + exportResult = service.export(exportConfiguration, progressionModel); - try { - service.export(exportConfiguration, progressionModel); + sendMessage(t("tutti.exportCruise.action.success", cruise.getName(), file.getName())); - sendMessage(t("tutti.exportCruise.action.success", cruise.getName(), file.getName())); - } catch (ApplicationBusinessException e) { + if (!exportResult.isSuccess()) { - String errorMessage; - errorMessage = t("tutti.exportCruise.action.exportErrors", cruise.getName(), e.getMessage()); - exportError = new ApplicationBusinessException(errorMessage); + List<String> errorsByCruise = exportResult.getErrorsByCruise(); + String errorMessage = t("tutti.exportCruise.action.exportErrors", cruise.getName(), Joiner.on('\n').join(errorsByCruise)); + throw new ApplicationBusinessException(errorMessage); } - handler.resetEditCruiseAction(); - - if (exportError != null) { - throw exportError; - } } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatProgramCruisesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatProgramCruisesAction.java index a01ae44..b046527 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatProgramCruisesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ExportGenericFormatProgramCruisesAction.java @@ -22,20 +22,23 @@ package fr.ifremer.tutti.ui.swing.content.home.actions; * #L% */ +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.genericformat.GenericFormatExportConfiguration; +import fr.ifremer.tutti.service.genericformat.GenericFormatExportResult; import fr.ifremer.tutti.service.genericformat.GenericFormatExportService; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIHandler; import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.ApplicationBusinessException; import java.io.File; +import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -52,6 +55,8 @@ public class ExportGenericFormatProgramCruisesAction extends LongActionSupport<S protected File file; + private GenericFormatExportResult exportResult; + public ExportGenericFormatProgramCruisesAction(SelectCruiseUIHandler handler) { super(handler, true); } @@ -82,6 +87,8 @@ public class ExportGenericFormatProgramCruisesAction extends LongActionSupport<S @Override public void releaseAction() { file = null; + exportResult = null; + handler.resetEditProgramAction(); super.releaseAction(); } @@ -107,26 +114,19 @@ public class ExportGenericFormatProgramCruisesAction extends LongActionSupport<S int nbSteps = service.getExportNbSteps(exportConfiguration); progressionModel.adaptTotal(nbSteps); + exportResult = service.export(exportConfiguration, progressionModel); - ApplicationBusinessException exportError = null; + sendMessage(t("tutti.exportProgram.action.success", program.getName(), file.getName())); - try { - service.export(exportConfiguration, progressionModel); - } catch (ApplicationBusinessException e) { + if (exportResult.isSuccess()) { + List<String> errorsByCruise = exportResult.getErrorsByCruise(); String errorMessage; - errorMessage = t("tutti.exportProgram.action.exportErrors", program.getName(), e.getMessage()); + errorMessage = t("tutti.exportProgram.action.exportErrors", program.getName(), Joiner.on('\n').join(errorsByCruise)); - exportError = new ApplicationBusinessException(errorMessage); + throw new ApplicationBusinessException(errorMessage); } - handler.resetEditProgramAction(); - - sendMessage(t("tutti.exportProgram.action.success", program.getName(), - file.getName())); - - if (exportError != null) { - throw exportError; - } } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ImportGenericFormatProgramCruisesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ImportGenericFormatProgramCruisesAction.java deleted file mode 100644 index b1bce89..0000000 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/ImportGenericFormatProgramCruisesAction.java +++ /dev/null @@ -1,138 +0,0 @@ -package fr.ifremer.tutti.ui.swing.content.home.actions; - -/* - * #%L - * Tutti :: UI - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import fr.ifremer.tutti.persistence.entities.data.Program; -import fr.ifremer.tutti.service.genericformat.GenericFormatImportConfiguration; -import fr.ifremer.tutti.service.genericformat.GenericFormatImportService; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; -import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUI; -import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIHandler; -import fr.ifremer.tutti.ui.swing.content.home.SelectCruiseUIModel; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.jaxx.application.ApplicationBusinessException; - -import java.io.File; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 2/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 3.14 - */ -public class ImportGenericFormatProgramCruisesAction extends LongActionSupport<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ImportGenericFormatProgramCruisesAction.class); - - protected File file; - - public ImportGenericFormatProgramCruisesAction(SelectCruiseUIHandler handler) { - super(handler, true); - } - - @Override - public boolean prepareAction() throws Exception { - - boolean doAction = super.prepareAction(); - - if (doAction) { - - // choose file to import - file = chooseFile( - t("tutti.selectCruise.title.choose.importGenericFormatFile"), - t("tutti.selectCruise.action.importGenericformat"), - "^.+\\.zip$", t("tutti.common.file.zip") - ); - - doAction = file != null; - } - - if (doAction) { - - // compute number of steps (will also check archive format) - - GenericFormatImportConfiguration importConfiguration = new GenericFormatImportConfiguration(); - importConfiguration.setImportFile(file); - - GenericFormatImportService service = getContext().getGenericFormatImportService(); - int nbSteps = service.getImportProgramNbSteps(importConfiguration); - createProgressionModelIfRequired(nbSteps); - - } - - return doAction; - - } - - @Override - public void doAction() throws Exception { - - Program program = getModel().getProgram(); - Preconditions.checkNotNull(program); - Preconditions.checkNotNull(file); - - if (log.isInfoEnabled()) { - log.info("Will import cruises to program " + program.getName() + " from archive: " + file); - } - - GenericFormatImportService service = getContext().getGenericFormatImportService(); - - ApplicationBusinessException importError = null; - - GenericFormatImportConfiguration importConfiguration = new GenericFormatImportConfiguration(); - importConfiguration.setImportFile(file); - importConfiguration.setProgramId(program.getId()); - - try { - service.importProgram(importConfiguration, getProgressionModel()); - } catch (ApplicationBusinessException e) { - - String errorMessage; - errorMessage = t("tutti.importProgram.action.importErrors", program.getName(), e.getMessage()); - - importError = new ApplicationBusinessException(errorMessage); - } - - handler.resetEditProgramAction(); - - sendMessage(t("tutti.importProgram.action.success", program.getName(), file.getName())); - - if (importError != null) { - throw importError; - } - } - - @Override - public void releaseAction() { - file = null; - super.releaseAction(); - } -} - diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/OpenGenericFormatImportScreen.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/OpenGenericFormatImportScreen.java deleted file mode 100644 index a540de5..0000000 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/actions/OpenGenericFormatImportScreen.java +++ /dev/null @@ -1,66 +0,0 @@ -package fr.ifremer.tutti.ui.swing.content.home.actions; - -/* - * #%L - * Tutti :: UI - * $Id:$ - * $HeadURL:$ - * %% - * Copyright (C) 2012 - 2015 Ifremer - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ifremer.tutti.ui.swing.TuttiScreen; -import fr.ifremer.tutti.ui.swing.content.actions.AbstractChangeScreenAction; -import fr.ifremer.tutti.ui.swing.content.MainUIHandler; - -import static org.nuiton.i18n.I18n.t; - -/** - * Created on 2/24/15. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 3.14 - */ -public class OpenGenericFormatImportScreen extends AbstractChangeScreenAction { - - public OpenGenericFormatImportScreen(MainUIHandler handler) { - super(handler, true, TuttiScreen.GENERIC_FORMAT_IMPORT); - } - - @Override - public void doAction() throws Exception { - - createProgressionModelIfRequired(5); - - getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allGear")); - getContext().getPersistenceService().getAllGear(); - - getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allPerson")); - getContext().getPersistenceService().getAllPerson(); - - getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allSpecies")); - getContext().getPersistenceService().getAllSpecies(); - - getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.allVessel")); - getContext().getPersistenceService().getAllVessel(); - - getProgressionModel().increments(t("tutti.openGenericFormatImportScreen.step.loading.ui")); - - super.doAction(); - } -} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.