Author: tchemit Date: 2013-03-15 01:56:49 +0100 (Fri, 15 Mar 2013) New Revision: 628 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/628 Log: refs #1957: [PROTOCOLE] - Param?\195?\169trage de l'ordre des cat?\195?\169gorisations de tri (remove som old dead code + fix some other) Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/SampleOrderButton.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SampleCategoryEnum.java 2013-03-15 00:56:49 UTC (rev 628) @@ -26,8 +26,11 @@ import com.google.common.base.Preconditions; +import com.google.common.collect.Maps; import fr.ifremer.tutti.persistence.service.TuttiEnumerationFile; +import java.util.Map; + public enum SampleCategoryEnum implements TuttiEnumerationFile.TuttiEnumerable<Integer> { sortedUnsorted("PMFM_ID_SORTED_UNSORTED"), @@ -73,4 +76,12 @@ public void setInit(boolean init) { this.init = init; } + + public static Map<Integer, SampleCategoryEnum> toIdMapping() { + Map<Integer, SampleCategoryEnum> result = Maps.newTreeMap(); + for (SampleCategoryEnum anEnum : values()) { + result.put(anEnum.getFieldValue(), anEnum); + } + return result; + } } //SampleCategoryEnum Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-03-15 00:56:49 UTC (rev 628) @@ -66,6 +66,7 @@ } public static final String CARACTERISTIC_WITH_UNIT = "withUnit"; + public static final String CARACTERISTIC_PARAMETER_ONLY= "parameterOnly"; public static final String FROM_PROTOCOL = "fromProtocol"; @@ -109,6 +110,7 @@ registerTuttiDecorator(Person.class, "${firstName}$s#${lastName}$s#${department}$s", SEPARATOR, " "); registerTuttiDecorator(FishingOperationLocation.class, "${label}$s#${name}$s", SEPARATOR, " - "); registerTuttiDecorator(Caracteristic.class, "${parameterName}$s#${matrixName}$s#${fractionName}$s#${methodName}$s", SEPARATOR, " - "); + registerTuttiDecorator(Caracteristic.class,CARACTERISTIC_PARAMETER_ONLY, "${parameterName}$s", SEPARATOR, " - "); // registerMultiJXPathDecorator(Caracteristic.class, CARACTERISTIC_WITH_UNIT, "${parameterName}$s#${matrixName}$s#${fractionName}$s#${methodName}$s (${unit}$s)", SEPARATOR, " - "); registerTuttiDecorator(CaracteristicQualitativeValue.class, "${name}$s", SEPARATOR, " - "); registerTuttiDecorator(SpeciesProtocol.class, "${speciesReferenceTaxonId}", SEPARATOR, " - "); Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-03-15 00:56:49 UTC (rev 628) @@ -396,6 +396,11 @@ } @Override + public Caracteristic getAgeCaracteristic() { + return driver.getAgeCaracteristic(); + } + + @Override public Caracteristic getMacroWasteCategoryCaracteristic() { return driver.getMacroWasteCategoryCaracteristic(); } Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-03-15 00:56:49 UTC (rev 628) @@ -1,3 +1,26 @@ +### +# #%L +# Tutti :: UI +# $Id$ +# $HeadURL$ +# %% +# Copyright (C) 2012 - 2013 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% +### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo #Thu Mar 14 16:24:20 CET 2013 tuttihelp.createSpeciesBatch.action.addSpecies.help=createSpeciesBatch.html\#actions Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-03-15 00:56:49 UTC (rev 628) @@ -1,3 +1,26 @@ +### +# #%L +# Tutti :: UI +# $Id$ +# $HeadURL$ +# %% +# Copyright (C) 2012 - 2013 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% +### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo #Thu Mar 14 16:24:20 CET 2013 tuttihelp.createSpeciesBatch.action.addSpecies.help=createSpeciesBatch.html\#actions Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/SampleOrderButton.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/SampleOrderButton.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/SampleOrderButton.java 2013-03-15 00:56:49 UTC (rev 628) @@ -57,8 +57,8 @@ public SampleOrderButton(TuttiUIContext context, List<Caracteristic> model) { - setIcon(SwingUtil.createActionIcon("edit-comment")); - setToolTipText(_("tutti.action.comment.tip")); + setIcon(SwingUtil.createActionIcon("sampleOrder")); + setToolTipText(_("tutti.action.sampleOrder.tip")); popup = new SampleOrderEditorUI(context); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-03-15 00:56:49 UTC (rev 628) @@ -24,7 +24,6 @@ * #L% */ -import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; @@ -163,17 +162,8 @@ */ protected final Set<ColumnIdentifier<SpeciesBatchRowModel>> sampleCols; - /** - * Mapping for each species of authroized sample category. - * - * @since 0.3 - */ - protected final Multimap<Species, SampleCategoryType> speciesSampleCategories; - - public SpeciesBatchTableModel(TableColumnModelExt columnModel, - Multimap<Species, SampleCategoryType> speciesSampleCategories) { + public SpeciesBatchTableModel(TableColumnModelExt columnModel) { super(columnModel, false, false); - this.speciesSampleCategories = speciesSampleCategories; setNoneEditableCols(SPECIES); frequencyCols = Sets.newHashSet(); @@ -261,22 +251,14 @@ result = false; } else { - // Is protocol authorize it ? + // protocol authorize it - result = !speciesSampleCategories.containsKey(species) - || speciesSampleCategories.containsEntry(species, - samplePropertyName.getSampleCategoryType()); + // final test: can edit only if sample category is setted + SampleCategory<?> value = + (SampleCategory<?>) propertyName.getValue(entry); - if (result) { + result = value.getCategoryValue() != null; - // protocol authorize it - - // final test: can edit only if sample category is setted - SampleCategory<?> value = - (SampleCategory<?>) propertyName.getValue(entry); - - result = value.getCategoryValue() != null; - } } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-15 00:56:49 UTC (rev 628) @@ -25,9 +25,7 @@ */ import com.google.common.base.Preconditions; -import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.Attachment; @@ -450,15 +448,19 @@ initUI(ui); - List<SampleCategoryType> samplingOrder; + Map<Integer, SampleCategoryEnum> categoryEnumMap = + SampleCategoryEnum.toIdMapping(); List<Species> speciesUniverse = getDataContext().getReferentSpecies(); + List<SampleCategoryEnum> samplingOrder = Lists.newArrayList(); + List<Integer> samplingOrderIds = getConfig().getSamplingOrderIds(); + for (Integer id : samplingOrderIds) { + samplingOrder.add(categoryEnumMap.get(id)); + } + List<Species> allSpecies; - Multimap<Species, SampleCategoryType> speciesSampleCategories = - HashMultimap.create(); - boolean protocolFilled = context.isProtocolFilled(); if (protocolFilled) { @@ -468,15 +470,6 @@ Preconditions.checkNotNull(protocol, "Could not find protocol in ui context"); - // fill sampling order from protocol - - samplingOrder = Lists.newArrayList( - SampleCategoryType.sortedUnsorted, - SampleCategoryType.size, - SampleCategoryType.sex, - SampleCategoryType.maturity, - SampleCategoryType.age); - // fill available species from protocol allSpecies = Lists.newArrayList(); @@ -490,12 +483,6 @@ Species species = map.get(taxonId); species.setSurveyCode(protocolSpecy.getSpeciesSurveyCode()); allSpecies.add(species); - - speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted); - speciesSampleCategories.put(species, SampleCategoryType.size); - speciesSampleCategories.put(species, SampleCategoryType.sex); - speciesSampleCategories.put(species, SampleCategoryType.maturity); - speciesSampleCategories.put(species, SampleCategoryType.age); } } @@ -503,23 +490,8 @@ // no protocol, use default values - samplingOrder = Lists.newArrayList( - SampleCategoryType.sortedUnsorted, - SampleCategoryType.size, - SampleCategoryType.sex, - SampleCategoryType.maturity, - SampleCategoryType.age); - allSpecies = Lists.newArrayList(speciesUniverse); - // each species can use any category - for (Species species : allSpecies) { - speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted); - speciesSampleCategories.put(species, SampleCategoryType.size); - speciesSampleCategories.put(species, SampleCategoryType.sex); - speciesSampleCategories.put(species, SampleCategoryType.maturity); - speciesSampleCategories.put(species, SampleCategoryType.age); - } } if (log.isInfoEnabled()) { @@ -527,7 +499,6 @@ log.info("Will use " + allSpecies.size() + " species."); } - getModel().setSamplingOrder(samplingOrder); getModel().setAllSpecies(allSpecies); JXTable table = getTable(); @@ -563,38 +534,56 @@ defaultRenderer); } - { // SizeCategory column + for (SampleCategoryEnum sampleCategoryType : samplingOrder) { + switch (sampleCategoryType) { - addSampleCategoryColumnToModel(columnModel, - SpeciesBatchTableModel.SIZE_CATEGORY, - caracteristicDecorator, - defaultRenderer); - } + case size: - { // SexCategory column + { // SizeCategory column - addSampleCategoryColumnToModel(columnModel, - SpeciesBatchTableModel.SEX_CATEGORY, - caracteristicDecorator, - defaultRenderer); - } + addSampleCategoryColumnToModel(columnModel, + SpeciesBatchTableModel.SIZE_CATEGORY, + caracteristicDecorator, + defaultRenderer); + } + break; + case sex: - { // MaturityCategory column + { // SexCategory column - addSampleCategoryColumnToModel(columnModel, - SpeciesBatchTableModel.MATURITY_CATEGORY, - caracteristicDecorator, - defaultRenderer); - } + addSampleCategoryColumnToModel(columnModel, + SpeciesBatchTableModel.SEX_CATEGORY, + caracteristicDecorator, + defaultRenderer); + } + break; + case maturity: - { // AgeCategory column + { // MaturityCategory column - addSampleCategoryColumnToModel(columnModel, - SpeciesBatchTableModel.AGE_CATEGORY, - getDecorator(Float.class, null), - defaultRenderer); + addSampleCategoryColumnToModel(columnModel, + SpeciesBatchTableModel.MATURITY_CATEGORY, + caracteristicDecorator, + defaultRenderer); + } + + break; + case age: + + + { // AgeCategory column + + addSampleCategoryColumnToModel(columnModel, + SpeciesBatchTableModel.AGE_CATEGORY, + getDecorator(Float.class, null), + defaultRenderer); + } + + break; + } } + { // Weight column addColumnToModel(columnModel, @@ -638,7 +627,7 @@ // create table model SpeciesBatchTableModel tableModel = - new SpeciesBatchTableModel(columnModel, speciesSampleCategories); + new SpeciesBatchTableModel(columnModel); table.setModel(tableModel); table.setColumnModel(columnModel); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIModel.java 2013-03-15 00:56:49 UTC (rev 628) @@ -74,13 +74,6 @@ public static final String PROPERTY_LEAF_NUMBER = "leafNumber"; /** - * Sampling order (sets by protocol). - * - * @since 0.2 - */ - protected List<SampleCategoryType> samplingOrder; - - /** * All usable species (sets by protocol). * * @since 0.3 @@ -243,14 +236,6 @@ catchesUIModel.setSpeciesTotalLivingNotItemizedComputedWeight(speciesTotalLivingNotItemizedComputedWeight); } - public List<SampleCategoryType> getSamplingOrder() { - return samplingOrder; - } - - public void setSamplingOrder(List<SampleCategoryType> samplingOrder) { - this.samplingOrder = samplingOrder; - } - public TableViewMode getTableViewMode() { return tableViewMode; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-03-15 00:56:49 UTC (rev 628) @@ -252,8 +252,6 @@ if (batch != null) { //TODO Use the samplingOrder (+ the one from the table model) - List<SampleCategoryType> samplingOrder = - parentUi.getModel().getSamplingOrder(); SampleCategory<?> lastCategory = batch.getSampleCategory(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-03-15 00:56:49 UTC (rev 628) @@ -29,11 +29,10 @@ import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; -import java.awt.BorderLayout; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.ComponentMover; import jaxx.runtime.swing.ComponentResizer; -import jaxx.runtime.swing.HBox; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -43,26 +42,16 @@ import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; -import javax.swing.JLabel; +import javax.swing.JOptionPane; import javax.swing.JRootPane; import javax.swing.JToolBar; import javax.swing.KeyStroke; -import javax.swing.SwingConstants; import java.awt.Component; -import java.awt.Cursor; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import java.io.File; import java.io.IOException; import java.util.List; -import javax.swing.JFileChooser; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.UIManager; -import org.apache.commons.io.FileUtils; import static org.nuiton.i18n.I18n._; @@ -264,15 +253,15 @@ try { File attachmentFile = persistenceService.getAttachmentFile(attachment.getId()); File file = TuttiUIUtil.chooseFile(ui, - _("tutti.dialog.saveAttachment.title"), - _("tutti.dialog.saveAttachment.button")); - + _("tutti.dialog.saveAttachment.title"), + _("tutti.dialog.saveAttachment.button")); + if (file != null) { if (file.exists()) { String htmlMessage = String.format( AbstractTuttiUIHandler.CONFIRMATION_FORMAT, - _("tutti.dialog.saveAttachment.warning.message"), - _("tutti.dialog.saveAttachment.warning.help")); + _("tutti.dialog.saveAttachment.warning.message"), + _("tutti.dialog.saveAttachment.warning.help")); int answer = JOptionPane.showConfirmDialog(ui, htmlMessage, @@ -286,22 +275,22 @@ } FileUtils.copyFile(attachmentFile, file); TuttiUIUtil.showSuccessMessage(ui, - _("tutti.dialog.saveAttachment.success.title"), - _("tutti.dialog.saveAttachment.success.message", file.getName())); + _("tutti.dialog.saveAttachment.success.title"), + _("tutti.dialog.saveAttachment.success.message", file.getName())); } if (hackDialog) { ui.setAlwaysOnTop(true); } - - } catch(IOException e) { + + } catch (IOException e) { if (log.isErrorEnabled()) { log.error("Error while saving attachment", e); } JOptionPane.showMessageDialog( - ui, - _("tutti.dialog.saveAttachment.fail.message"), - _("tutti.dialog.saveAttachment.fail.title"), - JOptionPane.ERROR_MESSAGE + ui, + _("tutti.dialog.saveAttachment.fail.message"), + _("tutti.dialog.saveAttachment.fail.title"), + JOptionPane.ERROR_MESSAGE ); } finally { @@ -318,13 +307,13 @@ ui.setAlwaysOnTop(false); } int answer = JOptionPane.showConfirmDialog(ui, - _("tutti.dialog.deleteAttachment.message", attachment.getName()), - _("tutti.dialog.deleteAttachment.title"), - JOptionPane.YES_NO_OPTION); + _("tutti.dialog.deleteAttachment.message", attachment.getName()), + _("tutti.dialog.deleteAttachment.title"), + JOptionPane.YES_NO_OPTION); if (hackDialog) { ui.setAlwaysOnTop(true); } - + if (answer == JOptionPane.YES_OPTION) { AttachmentModelAware bean = ui.getBean(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java 2013-03-15 00:56:49 UTC (rev 628) @@ -24,9 +24,8 @@ * #L% */ -import com.google.common.base.Function; import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.referential.Vessel; import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.TuttiUIContext; @@ -67,11 +66,7 @@ vessels = Lists.newArrayList(context.getDataContext().getFishingVessels()); vessels.addAll(context.getDataContext().getScientificVessels()); - vesselMap = Maps.uniqueIndex(vessels, new Function<Vessel, String>() { - public String apply(Vessel f) { - return f != null ? f.getId() : null; - } - }); + vesselMap = TuttiEntities.splitById(vessels); } public TableCellEditor getNewTableCellEditor() { Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-15 00:32:22 UTC (rev 627) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-15 00:56:49 UTC (rev 628) @@ -8,6 +8,7 @@ tutti.action.attachments=(%s) tutti.action.attachments.tip=Pièces jointes tutti.action.cancel=Annuler +tutti.action.sampleOrder.tip=Réordonner les catégories d'échantilonnage tutti.action.cancelEditCatchBatch=Réinitialiser tutti.action.cancelEditCruise=Annuler tutti.action.cancelEditFishingOperation=Annuler