Author: kmorin Date: 2013-03-14 13:47:49 +0100 (Thu, 14 Mar 2013) New Revision: 618 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/618 Log: fixes #2103 [PROTOCOLE] - Gestion du code campagne des esp?\195?\168ces Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.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/split/AddSpeciesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDataContext.java 2013-03-14 12:47:49 UTC (rev 618) @@ -99,6 +99,7 @@ @Override public void propertyChange(PropertyChangeEvent evt) { protocol = null; + resetSpecies(); } }); } @@ -160,7 +161,7 @@ if (log.isInfoEnabled()) { log.info("Loading allSpecies"); } - species = service.getAllSpecies(); + species = service.getAllSpecies(protocol); } return species; } @@ -170,7 +171,7 @@ if (log.isInfoEnabled()) { log.info("Loading allReferentSpecies"); } - referentSpecies = service.getAllReferentSpecies(); + referentSpecies = service.getAllReferentSpecies(protocol); } return referentSpecies; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-14 12:47:49 UTC (rev 618) @@ -103,7 +103,7 @@ Set<SpeciesBatchRowModel> rowToRemove = Sets.newHashSet(selectedBatch); - handler.collectChilds(selectedBatch, rowToRemove); + handler.collectChildren(selectedBatch, rowToRemove); // remove all rows from the model getModel().getRows().removeAll(rowToRemove); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-14 12:47:49 UTC (rev 618) @@ -76,7 +76,7 @@ // collect of rows to remove from model Set<SpeciesBatchRowModel> rowToRemove = Sets.newHashSet(); - handler.collectChilds(parentBatch, rowToRemove); + handler.collectChildren(parentBatch, rowToRemove); // remove all rows from the model getModel().getRows().removeAll(rowToRemove); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-03-14 12:47:49 UTC (rev 618) @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel; 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-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-14 12:47:49 UTC (rev 618) @@ -41,6 +41,7 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; @@ -240,7 +241,7 @@ if (log.isDebugEnabled()) { log.debug("Loaded root batch " + - decorate(rootRow.getSpecies()) + " - " + + decorate(rootRow.getSpecies(), DecoratorService.FROM_PROTOCOL) + " - " + decorate(rootRow.getSortedUnsortedCategoryValue())); } } @@ -437,9 +438,6 @@ // use only the referent here, if the user needs a synonym, he will // click on the button to select another species - List<Species> speciesList = getDataContext().getReferentSpecies(); - - SPECIES_REFERENT_CONTEXT_ENTRY.setContextValue(ui, speciesList); FREQUENCY_LENGTH_CONTEXT_ENTRY.setContextValue(ui, lengthCaracterics); } @@ -454,8 +452,7 @@ List<SampleCategoryType> samplingOrder; - List<Species> speciesUniverse = - SPECIES_REFERENT_CONTEXT_ENTRY.getContextValue(ui); + List<Species> speciesUniverse = getDataContext().getReferentSpecies(); List<Species> allSpecies; @@ -491,6 +488,7 @@ for (SpeciesProtocol protocolSpecy : protocol.getSpecies()) { String taxonId = String.valueOf(protocolSpecy.getSpeciesReferenceTaxonId()); Species species = map.get(taxonId); + species.setSurveyCode(protocolSpecy.getSpeciesSurveyCode()); allSpecies.add(species); speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted); @@ -553,7 +551,7 @@ addColumnToModel(columnModel, null, - newTableCellRender(Species.class), + newTableCellRender(Species.class, DecoratorService.FROM_PROTOCOL), SpeciesBatchTableModel.SPECIES); } @@ -1050,14 +1048,14 @@ model.setCreateMelagEnabled(enableCreateMelag); } - public void collectChilds(SpeciesBatchRowModel row, + public void collectChildren(SpeciesBatchRowModel row, Set<SpeciesBatchRowModel> collectedRows) { if (!row.isBatchLeaf()) { for (SpeciesBatchRowModel batchChild : row.getChildBatch()) { collectedRows.add(batchChild); - collectChilds(batchChild, collectedRows); + collectChildren(batchChild, collectedRows); } } } @@ -1076,6 +1074,15 @@ SpeciesBatchRowModel newRow = new SpeciesBatchRowModel(aBatch, frequencies, attachments); + // set the surveycode, do it only on the parent, + // the species of the parent is set to the children in loadBatchRow + if (parentRow == null && context.isProtocolFilled()) { + // get the surveycode from the species list of the model + int i = getModel().getAllSpecies().indexOf(newRow.getSpecies()); + if (i > -1) { + newRow.setSpecies(getModel().getAllSpecies().get(i)); + } + } SampleCategoryEnum sampleCategoryEnum = aBatch.getSampleCategoryType(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-14 12:47:49 UTC (rev 618) @@ -28,6 +28,7 @@ import com.google.common.collect.Lists; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; import java.util.List; @@ -81,12 +82,12 @@ List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies()); if (!selectedSpecies.isReferenceTaxon()) { - String decoratedSynonym = decorate(selectedSpecies); + String decoratedSynonym = decorate(selectedSpecies, DecoratorService.FROM_PROTOCOL); List<Species> referents = referentSpecies; Map<String, Species> referentsById = TuttiEntities.splitByTaxonId(referents); String taxonId = String.valueOf(selectedSpecies.getReferenceTaxonId()); selectedSpecies = referentsById.get(taxonId); - String decoratedReferent = decorate(selectedSpecies); + String decoratedReferent = decorate(selectedSpecies, DecoratorService.FROM_PROTOCOL); sendMessage(_("tutti.flash.information.species.replaced", decoratedSynonym, decoratedReferent)); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/CreateSpeciesBatchUIHandler.java 2013-03-14 12:47:49 UTC (rev 618) @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI; import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SelectSpeciesUI; @@ -98,11 +99,10 @@ initUI(ui); - boolean protocolFilled = context.isProtocolFilled(); - initBeanFilterableComboBox(ui.getSpeciesComboBox(), Lists.<Species>newArrayList(), - null); + null, + DecoratorService.FROM_PROTOCOL); Caracteristic caracteristic = persistenceService.getSortedUnsortedCaracteristic(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-03-14 12:47:49 UTC (rev 618) @@ -704,9 +704,13 @@ } protected String decorate(Object object) { + return decorate(object, null); + } + + protected String decorate(Object object, String context) { String result = ""; if (object != null) { - getDecorator(object.getClass(), null).toString(object); + getDecorator(object.getClass(), context).toString(object); } return result; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-14 12:47:17 UTC (rev 617) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-14 12:47:49 UTC (rev 618) @@ -158,6 +158,10 @@ return getDecorator(object.getClass(), null).toString(object); } + protected String decorate(Object object, String context) { + return getDecorator(object.getClass(), context).toString(object); + } + //FIXME-TC Is this working ? protected void test(final Runnable r) throws InterruptedException { SwingUtilities.invokeLater(new Runnable() {
participants (1)
-
kmorin@users.forge.codelutin.com