branch feature/5954 updated (c6cab78 -> ed561ae)
This is an automated email from the git hooks/post-receive script. New change to branch feature/5954 in repository tutti. See http://git.codelutin.com/tutti.git from c6cab78 refs #6129 [IMPORT SUMATRA] Import des valeurs des PSFMs et des champs du trait new ed561ae refs #6129 import du fichier avec les colonnes 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 ed561aeae73f9e55ea74ce3fcc772d5b472f139d Author: Kevin Morin <morin@codelutin.com> Date: Mon Dec 1 14:47:06 2014 +0100 refs #6129 import du fichier avec les colonnes Summary of changes: .../entities/protocol/TuttiProtocols.java | 69 +++++++++++++++++++-- .../src/main/xmi/tutti-persistence.zargo | Bin 57378 -> 57440 bytes .../src/main/xmi/tutti-persistence.zargo~ | Bin 57382 -> 57378 bytes .../resources/i18n/tutti-service_fr_FR.properties | 1 + .../filtered-resources/tutti-help-fr.properties | 3 +- .../action/LoadProtocolImportColumnsAction.java | 65 +++++++++++++++++++ .../protocol/CaracteristicMappingUIHandler.java | 38 ++++++++++++ .../protocol/CaracteristicMappingUIModel.java | 16 +++++ .../ui/swing/content/protocol/EditProtocolUI.css | 9 +++ .../ui/swing/content/protocol/EditProtocolUI.jaxx | 3 + .../content/protocol/EditProtocolUIModel.java | 62 ++++++++++++++++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 13 files changed, 273 insertions(+), 5 deletions(-) create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/LoadProtocolImportColumnsAction.java -- 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 feature/5954 in repository tutti. See http://git.codelutin.com/tutti.git commit ed561aeae73f9e55ea74ce3fcc772d5b472f139d Author: Kevin Morin <morin@codelutin.com> Date: Mon Dec 1 14:47:06 2014 +0100 refs #6129 import du fichier avec les colonnes --- .../entities/protocol/TuttiProtocols.java | 69 +++++++++++++++++++-- .../src/main/xmi/tutti-persistence.zargo | Bin 57378 -> 57440 bytes .../src/main/xmi/tutti-persistence.zargo~ | Bin 57382 -> 57378 bytes .../resources/i18n/tutti-service_fr_FR.properties | 1 + .../filtered-resources/tutti-help-fr.properties | 3 +- .../action/LoadProtocolImportColumnsAction.java | 65 +++++++++++++++++++ .../protocol/CaracteristicMappingUIHandler.java | 38 ++++++++++++ .../protocol/CaracteristicMappingUIModel.java | 16 +++++ .../ui/swing/content/protocol/EditProtocolUI.css | 9 +++ .../ui/swing/content/protocol/EditProtocolUI.jaxx | 3 + .../content/protocol/EditProtocolUIModel.java | 62 ++++++++++++++++++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 13 files changed, 273 insertions(+), 5 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java index ab5eb2a..acfb9b9 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java @@ -40,6 +40,8 @@ import fr.ifremer.tutti.persistence.entities.protocol.v1.SpeciesProtocol1; import fr.ifremer.tutti.persistence.entities.protocol.v1.SpeciesProtocolBean1; import fr.ifremer.tutti.persistence.entities.protocol.v1.TuttiProtocol1; import fr.ifremer.tutti.persistence.entities.protocol.v1.TuttiProtocolBean1; +import fr.ifremer.tutti.persistence.entities.protocol.v2.TuttiProtocol2; +import fr.ifremer.tutti.persistence.entities.protocol.v2.TuttiProtocolBean2; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; import org.apache.commons.collections4.CollectionUtils; @@ -130,12 +132,23 @@ public class TuttiProtocols extends AbstractTuttiProtocols { } } return result; + } catch (Exception e) { - // try to load a v1 - TuttiProtocol1 tuttiProtocol1 = fromFileV1(file); + //try to load a v2 + try { + // try to load a v1 + TuttiProtocol2 tuttiProtocol2 = fromFileV2(file); - TuttiProtocol result = fromTuttiProtocol1(tuttiProtocol1); - return result; + TuttiProtocol result = fromTuttiProtocol2(tuttiProtocol2); + return result; + + } catch (Exception ee) { + // try to load a v1 + TuttiProtocol1 tuttiProtocol1 = fromFileV1(file); + + TuttiProtocol result = fromTuttiProtocol1(tuttiProtocol1); + return result; + } } finally { IOUtils.closeQuietly(fileReader); @@ -158,6 +171,22 @@ public class TuttiProtocols extends AbstractTuttiProtocols { } } + public static TuttiProtocol2 fromFileV2(File file) { + + Reader fileReader = null; + try { + fileReader = Files.newReader(file, Charsets.UTF_8); + YamlReader reader = new YamlReader(fileReader, createConfigV2()); + TuttiProtocol2 result = reader.read(TuttiProtocolBean2.class); + fileReader.close(); + return result; + } catch (Exception e) { + throw new ApplicationTechnicalException(t("tutti.persistence.protocol.fromFile.error", file), e); + } finally { + IOUtils.closeQuietly(fileReader); + } + } + public static void checkSampleCategories(SampleCategoryModel sampleCategoryModel, TuttiProtocol protocol, Set<Integer> badCategories) { @@ -304,6 +333,29 @@ public class TuttiProtocols extends AbstractTuttiProtocols { return result; } + protected static TuttiProtocol fromTuttiProtocol2(TuttiProtocol2 tuttiProtocol2) { + TuttiProtocol result = newTuttiProtocol(); + Binder<TuttiProtocol2, TuttiProtocol> binder = BinderFactory.newBinder(TuttiProtocol2.class, TuttiProtocol.class); + binder.copy(tuttiProtocol2, result); + + List<CaracteristicMappingRow> caracteristicMappingRows = new ArrayList<>(); + for (String id : tuttiProtocol2.getGearUseFeaturePmfmId()) { + CaracteristicMappingRow row = new CaracteristicMappingRowBean(); + row.setPmfmId(id); + row.setTab(CaracteristicType.GEAR_USE_FEATURE.name()); + caracteristicMappingRows.add(row); + } + for (String id : tuttiProtocol2.getVesselUseFeaturePmfmId()) { + CaracteristicMappingRow row = new CaracteristicMappingRowBean(); + row.setPmfmId(id); + row.setTab(CaracteristicType.VESSEL_USE_FEATURE.name()); + caracteristicMappingRows.add(row); + } + result.setCaracteristicMapping(caracteristicMappingRows); + + return result; + } + protected static YamlConfig createConfig() { YamlConfig result = new YamlConfig(); result.setClassTag(SpeciesProtocol.class.getSimpleName(), @@ -324,6 +376,15 @@ public class TuttiProtocols extends AbstractTuttiProtocols { return result; } + protected static YamlConfig createConfigV2() { + YamlConfig result = new YamlConfig(); + result.setClassTag(SpeciesProtocol.class.getSimpleName(), + SpeciesProtocols.typeOfSpeciesProtocol()); + result.writeConfig.setAlwaysWriteClassname(false); + result.writeConfig.setWriteRootTags(false); + return result; + } + public static SpeciesProtocol getSpeciesOrBenthosProtocol(TuttiProtocol protocol, Integer speciesReferenceTaxonId) { SpeciesProtocol speciesProtocol = getSpeciesProtocol(protocol, speciesReferenceTaxonId); if (speciesProtocol == null) { diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.zargo b/tutti-persistence/src/main/xmi/tutti-persistence.zargo index 982bb6a..b3c7107 100644 Binary files a/tutti-persistence/src/main/xmi/tutti-persistence.zargo and b/tutti-persistence/src/main/xmi/tutti-persistence.zargo differ diff --git a/tutti-persistence/src/main/xmi/tutti-persistence.zargo~ b/tutti-persistence/src/main/xmi/tutti-persistence.zargo~ index 2d2cc86..982bb6a 100644 Binary files a/tutti-persistence/src/main/xmi/tutti-persistence.zargo~ and b/tutti-persistence/src/main/xmi/tutti-persistence.zargo~ differ diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 98af0fd..365cd21 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -2,6 +2,7 @@ tutti.caracteristicType.GEAR_USE_FEATURE=Caractéristiques de l'engin tutti.caracteristicType.INDIVIDUAL_OBSERVATION=Observations individuelles tutti.caracteristicType.LENGTH_STEP=Classes de tailles tutti.caracteristicType.VESSEL_USE_FEATURE=Autres caractéristiques +tutti.caracteristicType.lengthStep= tutti.io.mkDir.error=Erreur à la création du dossier %s tutti.pdf.export.missing.species.code=Une espèce (referenceId %s, nom scientifique %s) n'a ni code campagne, ni code refTax. tutti.property.attachment=Pièce jointe 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 ec3237d..0ef2271 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 -#Sat Nov 15 23:48:54 CET 2014 +#Mon Dec 01 10:21:58 CET 2014 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -233,6 +233,7 @@ tutti.editProtocol.action.exportProtocolSpecies.help=editProtocol.html\#actionsS tutti.editProtocol.action.exportPupitri.help=editProtocol.html\#actionsSpecies tutti.editProtocol.action.importProtocolBenthos.help=editProtocol.html\#actionsBenthos tutti.editProtocol.action.importProtocolCaracteristic.help=editProtocol.html\#actionsCaracteristics +tutti.editProtocol.action.importProtocolColumns.help= tutti.editProtocol.action.importProtocolSpecies.help=editProtocol.html\#actionsSpecies tutti.editProtocol.action.removeBenthosProtocol.help=editProtocol.html\#actionsBenthos tutti.editProtocol.action.removeSpeciesProtocol.help=editProtocol.html\#actionsSpecies diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/LoadProtocolImportColumnsAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/LoadProtocolImportColumnsAction.java new file mode 100644 index 0000000..725e2cd --- /dev/null +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/LoadProtocolImportColumnsAction.java @@ -0,0 +1,65 @@ +package fr.ifremer.tutti.ui.swing.action; + +import com.csvreader.CsvReader; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler; +import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.File; +import java.io.FileInputStream; +import java.nio.charset.Charset; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import static org.nuiton.i18n.I18n.t; + +/** + * @author Kevin Morin (Code Lutin) + * @since 3.10 + */ +public class LoadProtocolImportColumnsAction extends AbstractTuttiAction<EditProtocolUIModel, EditProtocolUI, EditProtocolUIHandler> { + + private static final Log log = LogFactory.getLog(LoadProtocolImportColumnsAction.class); + + protected File columnsFile; + + public LoadProtocolImportColumnsAction(EditProtocolUIHandler handler) { + super(handler, false); + } + + @Override + public boolean prepareAction() throws Exception { + boolean result = super.prepareAction(); + + if (result) { + columnsFile = chooseFile(t("tutti.editProtocol.action.title.choose.importColumnsFile"), + t("tutti.editProtocol.action.chooseColumnsFile.import"), + "^.*\\.csv", t("tutti.common.file.csv")); + + result = columnsFile != null; + } + + return result; + } + + @Override + public void doAction() throws Exception { + FileInputStream fileInputStream = new FileInputStream(columnsFile); + CsvReader csvReader = new CsvReader(fileInputStream, ';', Charset.forName("UTF-8")); + if (csvReader.readHeaders()) { + String[] headers = csvReader.getHeaders(); + List<String> importColumns = Arrays.asList(headers); + Collections.sort(importColumns); + getModel().setImportColumns(importColumns); + } + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + sendMessage(t("tutti.editProtocol.action.loadImportColumns.success", getModel().sizeImportColumns())); + } +} diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIHandler.java index f1b92fc..b3f2903 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIHandler.java @@ -6,11 +6,18 @@ import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler; +import jaxx.runtime.JAXXUtil; +import jaxx.runtime.SwingUtil; +import jaxx.runtime.swing.editor.bean.BeanUIUtil; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.JXTable; +import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; +import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.jdesktop.swingx.table.DefaultTableColumnModelExt; +import org.jdesktop.swingx.table.TableColumnExt; +import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.application.swing.table.AbstractApplicationTableModel; import javax.swing.*; @@ -93,12 +100,43 @@ public class CaracteristicMappingUIHandler CaracteristicMappingUIModel model = new CaracteristicMappingUIModel(); model.setCaracteristics(editProtocolUIModel.getCaracteristics()); + editProtocolUIModel.addPropertyChangeListener(EditProtocolUIModel.PROPERTY_CARACTERISTIC_MAPPING, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { getModel().setCaracteristicMappingRows((List<CaracteristicMappingRow>) evt.getNewValue()); } }); + + editProtocolUIModel.addPropertyChangeListener(EditProtocolUIModel.PROPERTY_IMPORT_COLUMNS, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + + Collection<String> newValue = (Collection<String>) evt.getNewValue(); + ArrayList<String> dataToList = new ArrayList<String>(); + + if (newValue != null) { + dataToList.addAll(newValue); + + // add a null value at first position + if (!dataToList.isEmpty() && dataToList.get(0) != null) { + dataToList.add(0, null); + } + + } else { + dataToList.add(null); + } + + JComboBox comboBox = new JComboBox(); + SwingUtil.fillComboBox(comboBox, dataToList, null); + + TableColumnExt col = getTable().getColumnExt(2); + ComboBoxCellEditor editor = new ComboBoxCellEditor(comboBox); + col.setCellEditor(editor); + + } + }); + ui.setContextValue(model); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIModel.java index d07ab9f..03538c9 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/CaracteristicMappingUIModel.java @@ -22,10 +22,14 @@ import java.util.Map; public class CaracteristicMappingUIModel extends AbstractTuttiTableUIModel<CaracteristicMappingRow, EditProtocolCaracteristicsRowModel, CaracteristicMappingUIModel> { public static final String PROPERTY_CARACTERISTIC_MAPPING_ROWS = "caracteristicMappingRows"; + public static final String PROPERTY_CARACTERISTICS_IN_MAPPING = "caracteristicsInMapping"; protected List<Caracteristic> caracteristics = new ArrayList<Caracteristic>(); + protected Map<String, CaracteristicMappingRow> caracteristicMappingRows = new HashMap<String, CaracteristicMappingRow>(); + protected List<String> importColumns = new ArrayList<String>(); + public CaracteristicMappingUIModel() { super(CaracteristicMappingRow.class, null, null); } @@ -53,6 +57,18 @@ public class CaracteristicMappingUIModel extends AbstractTuttiTableUIModel<Carac })); } firePropertyChanged(PROPERTY_CARACTERISTIC_MAPPING_ROWS, null, caracteristicMappingRows); + firePropertyChanged(PROPERTY_CARACTERISTICS_IN_MAPPING, null, this.caracteristicMappingRows.values()); + } + + public List<String> getImportColumns() { + return importColumns; + } + + public void setImportColumns(List<String> importColumns) { + this.importColumns.clear(); + if (importColumns != null) { + this.importColumns.addAll(importColumns); + } } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css index 9b882b7..aec68ad 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css @@ -268,3 +268,12 @@ JTextField { _help: {"tutti.editProtocol.action.exportProtocolAllCaracteristic.help"}; } +#importColumnsButton { + actionIcon: import; + text: "tutti.editProtocol.action.importProtocolColumns"; + toolTipText: "tutti.editProtocol.action.importProtocolColumns.tip"; + i18nMnemonic: "tutti.editProtocol.action.importProtocolColumns.mnemonic"; + _applicationAction: {fr.ifremer.tutti.ui.swing.action.LoadProtocolImportColumnsAction.class}; + _help: {"tutti.editProtocol.action.importProtocolColumns.help"}; +} + diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx index b8e29f4..1644756 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx @@ -108,7 +108,10 @@ <JButton id='importCaracteristicButton'/> <JButton id='exportCaracteristicButton'/> <JButton id='exportAllCaracteristicButton'/> + <JButton id='importColumnsButton'/> + </JPanel> + <JTabbedPane id='caracteristicPane' constraints='BorderLayout.CENTER'> <tab title='tutti.editProtocol.tab.caracteristic.lengthClasses'> <BeanDoubleList id='lengthClassesList' genericType='Caracteristic'/> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java index eed2950..506a97b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java @@ -603,4 +603,66 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public void setVersion(Integer version) { editObject.setVersion(version); } + + @Override + public String getImportColumns(int index) { + return editObject.getImportColumns(index); + } + + @Override + public boolean isImportColumnsEmpty() { + return editObject.isImportColumnsEmpty(); + } + + @Override + public int sizeImportColumns() { + return editObject.sizeImportColumns(); + } + + @Override + public void addImportColumns(String importColumns) { + editObject.addImportColumns(importColumns); + firePropertyChanged(TuttiProtocol.PROPERTY_IMPORT_COLUMNS, null, getImportColumns()); + } + + @Override + public void addAllImportColumns(Collection<String> importColumns) { + editObject.addAllImportColumns(importColumns); + firePropertyChanged(TuttiProtocol.PROPERTY_IMPORT_COLUMNS, null, getImportColumns()); + } + + @Override + public boolean removeImportColumns(String importColumns) { + boolean removeImportColumns = editObject.removeImportColumns(importColumns); + firePropertyChanged(TuttiProtocol.PROPERTY_IMPORT_COLUMNS, null, getImportColumns()); + return removeImportColumns; + } + + @Override + public boolean removeAllImportColumns(Collection<String> importColumns) { + boolean removeAllImportColumns = editObject.removeAllImportColumns(importColumns); + firePropertyChanged(TuttiProtocol.PROPERTY_IMPORT_COLUMNS, null, getImportColumns()); + return removeAllImportColumns; + } + + @Override + public boolean containsImportColumns(String importColumns) { + return editObject.containsImportColumns(importColumns); + } + + @Override + public boolean containsAllImportColumns(Collection<String> importColumns) { + return editObject.containsAllImportColumns(importColumns); + } + + @Override + public Collection<String> getImportColumns() { + return editObject.getImportColumns(); + } + + @Override + public void setImportColumns(Collection<String> importColumns) { + editObject.setImportColumns(importColumns); + firePropertyChanged(TuttiProtocol.PROPERTY_IMPORT_COLUMNS, null, getImportColumns()); + } } 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 b7ea6ee..6f21ba3 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 @@ -882,6 +882,7 @@ tutti.editProtocol.action.addBenthosProtocol.mnemonic= tutti.editProtocol.action.addBenthosProtocol.tip= tutti.editProtocol.action.addSpeciesProtocol.mnemonic= tutti.editProtocol.action.addSpeciesProtocol.tip= +tutti.editProtocol.action.chooseColumnsFile.import= tutti.editProtocol.action.chooseProtocolBenthosFile= tutti.editProtocol.action.chooseProtocolCaracteristicFile= tutti.editProtocol.action.chooseProtocolSpeciesFile= @@ -913,6 +914,9 @@ tutti.editProtocol.action.importProtocolBenthos.tip= tutti.editProtocol.action.importProtocolCaracteristic= tutti.editProtocol.action.importProtocolCaracteristic.mnemonic= tutti.editProtocol.action.importProtocolCaracteristic.tip= +tutti.editProtocol.action.importProtocolColumns= +tutti.editProtocol.action.importProtocolColumns.mnemonic= +tutti.editProtocol.action.importProtocolColumns.tip= tutti.editProtocol.action.importProtocolSpecies= tutti.editProtocol.action.importProtocolSpecies.mnemonic= tutti.editProtocol.action.importProtocolSpecies.speciesInBenthos= @@ -920,6 +924,7 @@ tutti.editProtocol.action.importProtocolSpecies.speciesInBenthos.title= tutti.editProtocol.action.importProtocolSpecies.tip= tutti.editProtocol.action.importSpecies.speciesInBenthos= tutti.editProtocol.action.importSpecies.speciesInBenthos.title= +tutti.editProtocol.action.loadImportColumns.success= tutti.editProtocol.action.removeBenthosProtocol= tutti.editProtocol.action.removeBenthosProtocol.mnemonic= tutti.editProtocol.action.removeBenthosProtocol.tip= @@ -935,6 +940,7 @@ tutti.editProtocol.action.selectOtherBenthos.tip= tutti.editProtocol.action.selectOtherSpecies= tutti.editProtocol.action.selectOtherSpecies.mnemonic= tutti.editProtocol.action.selectOtherSpecies.tip= +tutti.editProtocol.action.title.choose.importColumnsFile= tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveProtocol= tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveSampleCategoryModel= tutti.editProtocol.askSaveBeforeLeaving.saveProtocol= 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 d8cbc07..53967e3 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 @@ -866,6 +866,7 @@ tutti.editProtocol.action.addBenthosProtocol.mnemonic=j tutti.editProtocol.action.addBenthosProtocol.tip=Ajouter une espèce du benthos au protocole tutti.editProtocol.action.addSpeciesProtocol.mnemonic=j tutti.editProtocol.action.addSpeciesProtocol.tip=Ajouter une espèce au protocole +tutti.editProtocol.action.chooseColumnsFile.import=Choisir le fichier contenant les colonnes tutti.editProtocol.action.chooseProtocolBenthosFile=Choisir le fichier des benthos tutti.editProtocol.action.chooseProtocolCaracteristicFile=Choisir le fichier des caractéristiques tutti.editProtocol.action.chooseProtocolSpeciesFile=Choisir le fichier des espèces @@ -895,11 +896,15 @@ tutti.editProtocol.action.importProtocolBenthos.tip=Importer les benthos dans le tutti.editProtocol.action.importProtocolCaracteristic=Importer les caractéristiques tutti.editProtocol.action.importProtocolCaracteristic.mnemonic=i tutti.editProtocol.action.importProtocolCaracteristic.tip=Importer les caractéristiques dans le protocole +tutti.editProtocol.action.importProtocolColumns=Importer les colonnes d'import +tutti.editProtocol.action.importProtocolColumns.mnemonic=c +tutti.editProtocol.action.importProtocolColumns.tip=Importer les colonnes d'import tutti.editProtocol.action.importProtocolSpecies=Importer les espèces tutti.editProtocol.action.importProtocolSpecies.mnemonic=é tutti.editProtocol.action.importProtocolSpecies.speciesInBenthos=Les espèces suivantes n'ont pas été importées car elles sont déjà présentes dans le benthos \:<ul>%s</ul> tutti.editProtocol.action.importProtocolSpecies.speciesInBenthos.title=Espèces non importées tutti.editProtocol.action.importProtocolSpecies.tip=Importer les espèces dans le protocole +tutti.editProtocol.action.loadImportColumns.success=%s colonnes importées avec succès tutti.editProtocol.action.removeBenthosProtocol=Supprimer les benthos tutti.editProtocol.action.removeBenthosProtocol.mnemonic=S tutti.editProtocol.action.removeBenthosProtocol.tip=Supprimer les benthos sélectionnés @@ -915,6 +920,7 @@ tutti.editProtocol.action.selectOtherBenthos.tip=Sélectionner une autre espèce tutti.editProtocol.action.selectOtherSpecies=... tutti.editProtocol.action.selectOtherSpecies.mnemonic=. tutti.editProtocol.action.selectOtherSpecies.tip=Sélectionner une autre espèce (dans les synonymes) +tutti.editProtocol.action.title.choose.importColumnsFile=Importer les colonnes d'import tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveProtocol=Le protocole n'est pas valide et ne peut pas être enregistré tutti.editProtocol.askCancelEditBeforeLeaving.cancelSaveSampleCategoryModel=La catégorisation n'est pas valide et ne peut pas être enregistré tutti.editProtocol.askSaveBeforeLeaving.saveProtocol=Des modifications sur le protocole n'ont pas été enregistrées -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm