branch develop updated (5be5a6d -> 06c10a2)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 5be5a6d fixes 6688: [IMPORT GENERIQUE] Import générique new 06c10a2 fixes #6725 [IMPORT GENERIQUE] Ajouter un export du modèle de catégorisation The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 06c10a2a35777c6ea4044ed65e9a7dc6acadbe49 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Mar 4 17:07:56 2015 +0100 fixes #6725 [IMPORT GENERIQUE] Ajouter un export du modèle de catégorisation Summary of changes: .../genericformat/GenericFormatExportService.java | 32 +++++++++ .../filtered-resources/tutti-help-fr.properties | 3 +- .../src/main/help/fr/editSampleCategory.html | 2 + .../content/category/EditSampleCategoryModelUI.css | 12 +++- .../category/EditSampleCategoryModelUI.jaxx | 1 + .../actions/ExportSampleCategoryModelAction.java | 78 ++++++++++++++++++++++ .../actions}/SaveSampleCategoryModelAction.java | 3 +- .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 9 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/ExportSampleCategoryModelAction.java rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/{action => content/category/actions}/SaveSampleCategoryModelAction.java (94%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 06c10a2a35777c6ea4044ed65e9a7dc6acadbe49 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Mar 4 17:07:56 2015 +0100 fixes #6725 [IMPORT GENERIQUE] Ajouter un export du modèle de catégorisation --- .../genericformat/GenericFormatExportService.java | 32 +++++++++ .../filtered-resources/tutti-help-fr.properties | 3 +- .../src/main/help/fr/editSampleCategory.html | 2 + .../content/category/EditSampleCategoryModelUI.css | 12 +++- .../category/EditSampleCategoryModelUI.jaxx | 1 + .../actions/ExportSampleCategoryModelAction.java | 78 ++++++++++++++++++++++ .../actions}/SaveSampleCategoryModelAction.java | 3 +- .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 9 files changed, 140 insertions(+), 3 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java index 3f60ddc..7a08184 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatExportService.java @@ -74,6 +74,8 @@ import org.nuiton.jaxx.application.ApplicationTechnicalException; import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; @@ -281,6 +283,36 @@ public class GenericFormatExportService extends GenericFormatServiceSupport { } + /** + * Export the sample category model as a csv file used for generic format import-export. + * + * @param exportFile where to export sample category model + * @since 3.14 + */ + public void exportSampleCategoryModel(File exportFile) { + + ProgressionModel progressionModel = new ProgressionModel(); + progressionModel.setTotal(1000); + + GenericFormatArchive genericFormatArchive = GenericFormatArchive.forExport(null, context.getConfig().getTmpDirectory()); + + try (GenericFormatExportContext exportContext = createExportContext(progressionModel, genericFormatArchive)) { + + SampleCategoryModel sampleCategoryModel = exportContext.getSampleCategoryModel(); + exportSampleCategoryModel(exportContext, sampleCategoryModel); + + } catch (IOException e) { + throw new ApplicationTechnicalException("Could not export sample category model", e); + } + + try { + Files.copy(genericFormatArchive.getSampleCategoryModelPath(), exportFile.toPath(), StandardCopyOption.REPLACE_EXISTING); + } catch (IOException e) { + throw new ApplicationTechnicalException("Could not copy csv file to export file", e); + } + + } + protected GenericFormatExportContext createExportContext(ProgressionModel progressionModel, GenericFormatArchive genericFormatArchive) { return new GenericFormatExportContext(progressionModel, diff --git a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties index 4de27c2..d7f08d5 100644 --- a/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties +++ b/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties @@ -1,5 +1,5 @@ #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Wed Feb 25 09:28:15 CET 2015 +#Wed Mar 04 17:01:08 CET 2015 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -254,6 +254,7 @@ tutti.editProtocol.help=editProtocol.html tutti.editProtocol.pane.caracteristic.help=editProtocol.html\#fieldsCaracteristics tutti.editSampleCategoryModel.action.cancel.help=editSampleCategory.html\#actions tutti.editSampleCategoryModel.action.close.help=editSampleCategory.html\#actions +tutti.editSampleCategoryModel.action.export.help=editSampleCategory.html\#actions tutti.editSampleCategoryModel.action.moveDownEntry.help=editSampleCategory.html\#actions tutti.editSampleCategoryModel.action.moveUpEntry.help=editSampleCategory.html\#actions tutti.editSampleCategoryModel.action.removeEntry.help=editSampleCategory.html\#actions diff --git a/tutti-ui-swing/src/main/help/fr/editSampleCategory.html b/tutti-ui-swing/src/main/help/fr/editSampleCategory.html index 56a6093..b5310ae 100644 --- a/tutti-ui-swing/src/main/help/fr/editSampleCategory.html +++ b/tutti-ui-swing/src/main/help/fr/editSampleCategory.html @@ -67,6 +67,8 @@ <dd>ferme la fenêtre active.</dd> <dt>Enregistrer</dt> <dd>enregistre les modifications.</dd> + <dt>Exporter</dt> + <dd>exporter les catégories au format csv (utilisé dans un import au format générique).</dd> </dl> Pour supprimer une ligne du tableau : sélectionner la ligne + clique droit + [Supprimer]<br>Pour diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.css index 09cbd55..680fa00 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.css @@ -87,6 +87,16 @@ BeanFilterableComboBox { toolTipText: "tutti.editSampleCategoryModel.action.save.tip"; i18nMnemonic: "tutti.editSampleCategoryModel.action.save.mnemonic"; enabled: {model.isModify() && model.isValid()}; - _applicationAction: {fr.ifremer.tutti.ui.swing.action.SaveSampleCategoryModelAction.class}; + _applicationAction: {fr.ifremer.tutti.ui.swing.content.category.actions.SaveSampleCategoryModelAction.class}; _help: {"tutti.editSampleCategoryModel.action.save.help"}; } + +#exportButton { + actionIcon: export; + text: "tutti.editSampleCategoryModel.action.export"; + toolTipText: "tutti.editSampleCategoryModel.action.export.tip"; + i18nMnemonic: "tutti.editSampleCategoryModel.action.export.mnemonic"; + enabled: {!model.isModify() && model.isValid()}; + _applicationAction: {fr.ifremer.tutti.ui.swing.content.category.actions.ExportSampleCategoryModelAction.class}; + _help: {"tutti.editSampleCategoryModel.action.export.help"}; +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.jaxx index 4cb0d4e..7a94605 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelUI.jaxx @@ -91,6 +91,7 @@ public EditSampleCategoryModelUI(TuttiUI parentUI) { <JPanel layout='{new GridLayout(1, 0)}'> <JButton id='closeButton'/> <JButton id='saveButton'/> + <JButton id='exportButton'/> </JPanel> </cell> </row> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/ExportSampleCategoryModelAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/ExportSampleCategoryModelAction.java new file mode 100644 index 0000000..b665fb5 --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/ExportSampleCategoryModelAction.java @@ -0,0 +1,78 @@ +package fr.ifremer.tutti.ui.swing.content.category.actions; + +import com.google.common.base.Preconditions; +import fr.ifremer.tutti.service.genericformat.GenericFormatExportService; +import fr.ifremer.tutti.ui.swing.action.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.action.ExportExistingTemporaryGearAction; +import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUI; +import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUIHandler; +import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.File; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 3/4/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.14 + */ +public class ExportSampleCategoryModelAction extends AbstractTuttiAction<EditSampleCategoryModelUIModel, EditSampleCategoryModelUI, EditSampleCategoryModelUIHandler> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(ExportExistingTemporaryGearAction.class); + + private File file; + + public ExportSampleCategoryModelAction(EditSampleCategoryModelUIHandler handler) { + super(handler, true); + } + + @Override + public boolean prepareAction() throws Exception { + + boolean doAction = super.prepareAction(); + + if (doAction) { + + // choose file to export + file = saveFile( + "sampleCategory", + "csv", + t("tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile"), + t("tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export"), + "^.*\\.csv", t("tutti.common.file.csv")); + doAction = file != null; + } + return doAction; + + } + + @Override + public void releaseAction() { + file = null; + super.releaseAction(); + } + + @Override + public void doAction() throws Exception { + Preconditions.checkNotNull(file); + if (log.isInfoEnabled()) { + log.info("Will export sample category model to file: " + file); + } + + GenericFormatExportService service = getContext().getGenericFormatExportService(); + service.exportSampleCategoryModel(file); + + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + sendMessage(t("tutti.exportSampleCategoryModel.action.export.success", file)); + } +} \ No newline at end of file diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/SaveSampleCategoryModelAction.java similarity index 94% rename from tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java rename to tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/SaveSampleCategoryModelAction.java index 3a71477..5724abf 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/SaveSampleCategoryModelAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/actions/SaveSampleCategoryModelAction.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.ui.swing.action; +package fr.ifremer.tutti.ui.swing.content.category.actions; /* * #%L @@ -23,6 +23,7 @@ package fr.ifremer.tutti.ui.swing.action; */ import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; +import fr.ifremer.tutti.ui.swing.action.AbstractTuttiAction; import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUI; import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUIHandler; import fr.ifremer.tutti.ui.swing.content.category.EditSampleCategoryModelUIModel; diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 2a580bd..cb0a0bd 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1065,6 +1065,9 @@ tutti.editProtocol.warn.import= tutti.editSampleCategoryModel.action.close= tutti.editSampleCategoryModel.action.close.mnemonic= tutti.editSampleCategoryModel.action.close.tip= +tutti.editSampleCategoryModel.action.export= +tutti.editSampleCategoryModel.action.export.mnemonic= +tutti.editSampleCategoryModel.action.export.tip= tutti.editSampleCategoryModel.action.moveDownEntry= tutti.editSampleCategoryModel.action.moveDownEntry.mnemonic= tutti.editSampleCategoryModel.action.moveDownEntry.tip= @@ -1353,6 +1356,9 @@ tutti.exportProgram.action.computeNbSteps= tutti.exportProgram.action.exportErrors= tutti.exportProgram.action.success= tutti.exportProtocol.action.success= +tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export= +tutti.exportSampleCategoryModel.action.export.success= +tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile= tutti.fishingOperations.action.deleteFishingOperation.mnemonic= tutti.fishingOperations.action.deleteFishingOperation.tip= tutti.fishingOperations.action.newFishingOperation.mnemonic= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 02769a6..3fdf7d3 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1035,6 +1035,9 @@ tutti.editProtocol.warn.import=Le protocole que vous venez d'importer ne sera sa tutti.editSampleCategoryModel.action.close=Fermer tutti.editSampleCategoryModel.action.close.mnemonic=F tutti.editSampleCategoryModel.action.close.tip=Fermer l'édition des catégories +tutti.editSampleCategoryModel.action.export=Exporter +tutti.editSampleCategoryModel.action.export.mnemonic=E +tutti.editSampleCategoryModel.action.export.tip=Exporter les catégories au format csv (utilisé dans l'import générique) tutti.editSampleCategoryModel.action.moveDownEntry=Descendre tutti.editSampleCategoryModel.action.moveDownEntry.mnemonic=D tutti.editSampleCategoryModel.action.moveDownEntry.tip=Descendre l'entrée sélectionnée @@ -1297,6 +1300,9 @@ tutti.exportProgram.action.computeNbSteps=Calcul du nombre d'opérations à réa tutti.exportProgram.action.exportErrors=Des erreurs sont apparues pendant l'élévation des poids d'une campagne de la série <strong>%s</strong>.<br/>L'export a cependant été réalisé.<hr/>Erreur(s) rencontrée(s) \: <br/>%s tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>. tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>. +tutti.exportSampleCategoryModel.action.chooseSampleCategoryModelFile.export=Exporter +tutti.exportSampleCategoryModel.action.export.success=L'export effectué dans le fichier <strong>%s</strong>. +tutti.exportSampleCategoryModel.title.choose.exportSampleCategoryModelFile=Exporter le modèle de catégorisation tutti.fishingOperations.action.deleteFishingOperation.mnemonic=S tutti.fishingOperations.action.deleteFishingOperation.tip=Supprimer l'opération de pêche sélectionnée tutti.fishingOperations.action.newFishingOperation.mnemonic=N -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm