This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository izi-eval. See http://git.codelutin.com/izi-eval.git commit 8a10ab5b8955f972450227c5177fe3d9362b80a2 Author: Eric Chatellier <chatellier@codelutin.com> Date: Tue Jan 5 17:23:46 2016 +0100 fixes #7564: transformer .masc en .izi --- .../main/java/fr/inra/masc/MascConfigOption.java | 6 ++-- .../main/java/fr/inra/masc/ui/MascUIHelper.java | 40 ++++++++++++++++------ .../main/resources/i18n/masc-ui_en_GB.properties | 10 +++--- .../main/resources/i18n/masc-ui_fr_FR.properties | 10 +++--- 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/masc-api/src/main/java/fr/inra/masc/MascConfigOption.java b/masc-api/src/main/java/fr/inra/masc/MascConfigOption.java index e6dd6d3..28dbc35 100644 --- a/masc-api/src/main/java/fr/inra/masc/MascConfigOption.java +++ b/masc-api/src/main/java/fr/inra/masc/MascConfigOption.java @@ -6,7 +6,7 @@ package fr.inra.masc; * $Id$ * $HeadURL$ * %% - * Copyright (C) 2011 - 2012 Inra, Codelutin, Tony Chemit + * Copyright (C) 2011 - 2016 Inra, Codelutin, Tony Chemit * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -44,7 +44,7 @@ public enum MascConfigOption implements ConfigOptionDef { DATA_DIRECTORY( "masc.data.directory", n_("masc.config.data.directory.description"), - "${user.home}/.masc", + "${user.home}/.izieval", File.class), TMP_DIRECTORY( "masc.tmp.directory", @@ -54,7 +54,7 @@ public enum MascConfigOption implements ConfigOptionDef { UI_CONFIG_FILE( "masc.ui.config", n_("masc.config.ui.config.description"), - "${masc.data.directory}/mascUI.properties", + "${masc.data.directory}/izievalUI.properties", File.class), LOCALE( "ui.locale", diff --git a/masc-ui/src/main/java/fr/inra/masc/ui/MascUIHelper.java b/masc-ui/src/main/java/fr/inra/masc/ui/MascUIHelper.java index 401d4ab..3950a31 100644 --- a/masc-ui/src/main/java/fr/inra/masc/ui/MascUIHelper.java +++ b/masc-ui/src/main/java/fr/inra/masc/ui/MascUIHelper.java @@ -38,7 +38,6 @@ import javax.swing.JLabel; import javax.swing.filechooser.FileFilter; import jaxx.runtime.JAXXObject; import jaxx.runtime.swing.JAXXWidgetUtil; -import jaxx.runtime.swing.help.JAXXHelpBroker; import jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import jaxx.runtime.swing.renderer.DecoratorProviderListCellRenderer; import org.apache.commons.collections4.CollectionUtils; @@ -59,7 +58,8 @@ public class MascUIHelper extends JAXXWidgetUtil { public enum MascFileType { DEXI(_("masc.file.import.dialog"), _("masc.file.export.dialog"), _("masc.fileType.dexi"), ".dxi"), - MASC(_("masc.file.open.dialog"), _("masc.file.saveAs.dialog"), _("masc.fileType.masc"), ".masc"), + // for compatibility purpose, izi extension is used by default, but user can still open .masc files + MASC(_("masc.file.open.dialog"), _("masc.file.saveAs.dialog"), _("masc.fileType.masc"), ".izi", ".masc"), DEXI_EVAL_APP(_("masc.file.app.dexiEval.dialog"), null, _("masc.fileType.app.dexiEval"), ".exe"), DEXI_APP(_("masc.file.app.dexi.dialog"), null, _("masc.fileType.app.dexi"), ".exe"), R_APP(_("masc.file.app.r.dialog"), null, _("masc.fileType.app.r"), ".exe"), @@ -74,12 +74,12 @@ public class MascUIHelper extends JAXXWidgetUtil { private String desc; - private String ext; + private String[] ext; MascFileType(String openTitle, String saveTitle, String desc, - String ext) { + String... ext) { this.openTitle = openTitle; this.saveTitle = saveTitle; this.desc = desc; @@ -101,17 +101,25 @@ public class MascUIHelper extends JAXXWidgetUtil { protected static class MascFileFilter extends FileFilter { - protected String ext; + protected String[] ext; protected String desc; - public MascFileFilter(String ext, String desc) { + public MascFileFilter(String[] ext, String desc) { this.ext = ext; this.desc = desc; } @Override public boolean accept(File file) { - return file.isDirectory() || file.getName().endsWith(ext); + boolean result = file.isDirectory(); + if (!result) { + for (String singleExt : ext) { + if (file.getName().endsWith(singleExt)) { + result = true; + } + } + } + return result; } @Override @@ -119,7 +127,7 @@ public class MascUIHelper extends JAXXWidgetUtil { return desc; } - public String getExt() { + public String[] getExt() { return ext; } } @@ -298,9 +306,19 @@ public class MascUIHelper extends JAXXWidgetUtil { File selectedFile = fileChooser.getSelectedFile(); if (selectedFile != null) { - String ext = ((MascFileFilter)fileChooser.getFileFilter()).getExt(); - if (!selectedFile.getName().endsWith(ext)) { - selectedFile = new File(selectedFile.getPath() + ext); + + // get all allowed extension for selected filters + String[] ext = ((MascFileFilter)fileChooser.getFileFilter()).getExt(); + boolean addExt = true; + for (String aExt : ext) { + if (selectedFile.getName().endsWith(aExt)) { + addExt = false; + } + } + + // add default extension if none is present + if (addExt) { + selectedFile = new File(selectedFile.getPath() + ext[0]); } currentSaveDirectory = selectedFile; diff --git a/masc-ui/src/main/resources/i18n/masc-ui_en_GB.properties b/masc-ui/src/main/resources/i18n/masc-ui_en_GB.properties index 4cc0aae..74513b8 100644 --- a/masc-ui/src/main/resources/i18n/masc-ui_en_GB.properties +++ b/masc-ui/src/main/resources/i18n/masc-ui_en_GB.properties @@ -100,7 +100,7 @@ masc.file.app.import.csv=Please select a csv file. masc.file.app.r.dialog=Please select DEXi executable file. masc.file.export.dialog=Please select a file to export. masc.file.import.dialog=Please select a DEXi file. -masc.file.open.dialog=Open a DEXi (*.dxi) or IZI-EVAL (*.masc) file +masc.file.open.dialog=Open a DEXi (*.dxi) or IZI-EVAL (*.izi) file masc.file.report.dialog=Please select a file to save the reports masc.file.saveAs.dialog=Save as a IZI-EVAL file masc.fileType.app.csv=CSV file (*.csv) @@ -110,7 +110,7 @@ masc.fileType.app.image=PNG Image (*.png) masc.fileType.app.r=Please select R executable file. masc.fileType.app.svg=SVG Image (*.svg) masc.fileType.dexi=DEXi file (*.dxi) -masc.fileType.masc=IZI-EVAL file (*.masc) +masc.fileType.masc=IZI-EVAL file (*.izi) masc.fileType.pdf=PDF file (*.pdf) masc.footer=Criteria\: %1$s (%2$s basic, %3$s linked, %4$s aggregate) | Options\: %5$s masc.importThreshold.warning=Before importing an option with quantitative values, corresponding thresholds have to be defined. @@ -125,7 +125,7 @@ masc.lbl.criteria.description=Description masc.lbl.criteria.name=Name masc.lbl.criteria.scale=Scale masc.lbl.option.choose=Option\: -masc.lbl.selectFile=< Please open a DEXi (*.dxi) or IZI-EVAL (*.masc) file > +masc.lbl.selectFile=< Please open a DEXi (*.dxi) or IZI-EVAL (*.izi) file > masc.lbl.thresholdCriteria.values=Threshold values masc.menu.dexi.open=Open the file in DEXi masc.menu.dexi.open.tip=Open the file in DEXi @@ -137,8 +137,8 @@ masc.menu.file.import=Import a DEXi csv file masc.menu.file.import.tip=Import a DEXi csv file masc.menu.file.importThreshold=Import quantitatives values into [Option] tab masc.menu.file.importThreshold.tip=Import quantitatives values into [Option] tab -masc.menu.file.open=Open a IZI-EVAL (.masc) or DEXi (.dxi) file -masc.menu.file.open.tip=Open a IZI-EVAL (.masc) or DEXi (.dxi) file +masc.menu.file.open=Open a IZI-EVAL (.izi) or DEXi (.dxi) file +masc.menu.file.open.tip=Open a IZI-EVAL (.izi) or DEXi (.dxi) file masc.menu.file.print=Print masc.menu.file.print.tip=Print masc.menu.file.save=Save diff --git a/masc-ui/src/main/resources/i18n/masc-ui_fr_FR.properties b/masc-ui/src/main/resources/i18n/masc-ui_fr_FR.properties index 4c72693..d07991a 100644 --- a/masc-ui/src/main/resources/i18n/masc-ui_fr_FR.properties +++ b/masc-ui/src/main/resources/i18n/masc-ui_fr_FR.properties @@ -100,7 +100,7 @@ masc.file.app.import.csv=Merci de sélectionner un fichier CSV. masc.file.app.r.dialog=Merci de sélectionner l'application R. masc.file.export.dialog=Merci de sélectionner un fichier à exporter. masc.file.import.dialog=Merci d'ouvrir un fichier DEXi. -masc.file.open.dialog=Ouvrir un fichier DEXi (*.dxi) ou IZI-EVAL (*.masc). +masc.file.open.dialog=Ouvrir un fichier DEXi (*.dxi) ou IZI-EVAL (*.izi). masc.file.report.dialog=Merci de sélectionner un fichier pour les exports. masc.file.saveAs.dialog=Sauvegarde d'un fichier IZI-EVAL sous masc.fileType.app.csv=Fichier CSV (*.csv) @@ -110,7 +110,7 @@ masc.fileType.app.image=Image PNG (*.png) masc.fileType.app.r=Fichier exécutable (*.exe) masc.fileType.app.svg=Image SVG (*.svg) masc.fileType.dexi=Fichier DEXi (*.dxi) -masc.fileType.masc=Fichier IZI-EVAL (*.masc) +masc.fileType.masc=Fichier IZI-EVAL (*.izi) masc.fileType.pdf=Fichier PDF (*.pdf) masc.footer=Critères\: %1$s (%2$s basiques, %3$s liés, %4$s agrégés) | Options\: %5$s masc.importThreshold.warning=Les valeurs-seuils doivent être renseignées avant l'import d'une option comportant des variables quantitatives pour que celles-ci soient correctement discrétisées @@ -125,7 +125,7 @@ masc.lbl.criteria.description=Description masc.lbl.criteria.name=Nom masc.lbl.criteria.scale=Echelle de classes masc.lbl.option.choose=Option \: -masc.lbl.selectFile=< Merci d'ouvrir un fichier DEXi (*.dxi) ou IZI-EVAL (*.masc) > +masc.lbl.selectFile=< Merci d'ouvrir un fichier DEXi (*.dxi) ou IZI-EVAL (*.izi) > masc.lbl.thresholdCriteria.values=Valeurs-seuils masc.menu.dexi.open=Ouvrir le fichier actif dans DEXi masc.menu.dexi.open.tip=Ouvrir le fichier actif dans DEXi @@ -137,8 +137,8 @@ masc.menu.file.import=Importer un fichier DEXi csv masc.menu.file.import.tip=Importer un fichier DEXi csv masc.menu.file.importThreshold=Importer des valeurs quantitatives dans l'onglet [Option] masc.menu.file.importThreshold.tip=importer des valeurs quantitatives dans l'onglet [Option] -masc.menu.file.open=Ouvrir un fichier IZI-EVAL (.masc) ou DEXi (.dxi) -masc.menu.file.open.tip=Ouvrir un fichier IZI-EVAL (.masc) ou DEXi (.dxi) +masc.menu.file.open=Ouvrir un fichier IZI-EVAL (.izi) ou DEXi (.dxi) +masc.menu.file.open.tip=Ouvrir un fichier IZI-EVAL (.izi) ou DEXi (.dxi) masc.menu.file.print=Imprimer masc.menu.file.print.tip=Imprimer masc.menu.file.save=Sauvegarder -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.