Author: kmorin Date: 2013-03-26 19:15:51 +0100 (Tue, 26 Mar 2013) New Revision: 686 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/686 Log: refs #1868 [CAPTURE] - Import/Export PUPITRI Removed: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRootRowModel.java Modified: 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/operation/EditFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.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/create/CreateSpeciesBatchUIModel.java 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-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-03-26 18:15:51 UTC (rev 686) @@ -1,5 +1,5 @@ #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Tue Mar 26 16:11:47 CET 2013 +#Tue Mar 26 18:46:47 CET 2013 tutti.createBenthosBatch.action.addSpecies.help=createBenthosBatch.html\#actions tutti.createBenthosBatch.action.cancel.help=createBenthosBatch.html\#actions tutti.createBenthosBatch.action.save.help=createBenthosBatch.html\#actions @@ -130,6 +130,7 @@ tutti.editProtocol.action.exportProtocolBenthos.help=editProtocol.html\#actions tutti.editProtocol.action.exportProtocolCaracteristic.tip=editProtocol.html\#actions tutti.editProtocol.action.exportProtocolSpecies.help=editProtocol.html\#actions +tutti.editProtocol.action.exportPupitri.help= tutti.editProtocol.action.importProtocolBenthos.help=editProtocol.html\#actions tutti.editProtocol.action.importProtocolCaracteristic.help=editProtocol.html\#actions tutti.editProtocol.action.importProtocolSpecies.help=editProtocol.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-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-03-26 18:15:51 UTC (rev 686) @@ -1,5 +1,5 @@ #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Tue Mar 26 16:11:47 CET 2013 +#Tue Mar 26 18:46:47 CET 2013 tutti.createBenthosBatch.action.addSpecies.help=createBenthosBatch.html\#actions tutti.createBenthosBatch.action.cancel.help=createBenthosBatch.html\#actions tutti.createBenthosBatch.action.save.help=createBenthosBatch.html\#actions @@ -139,6 +139,7 @@ tutti.editProtocol.action.exportProtocolBenthos.help=editProtocol.html\#actions tutti.editProtocol.action.exportProtocolCaracteristic.tip=editProtocol.html\#actions tutti.editProtocol.action.exportProtocolSpecies.help=editProtocol.html\#actions +tutti.editProtocol.action.exportPupitri.help= tutti.editProtocol.action.importProtocolBenthos.help=editProtocol.html\#actions tutti.editProtocol.action.importProtocolCaracteristic.help=editProtocol.html\#actions tutti.editProtocol.action.importProtocolSpecies.help=editProtocol.html\#actions Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-26 18:15:51 UTC (rev 686) @@ -536,7 +536,7 @@ attachments = persistenceService.getAllAttachments(objectId); getModel().setCatchEnabled(true); - } catch (Exception e) { + } catch (InvalidBatchModelException e) { // batch is not compatible with Tutti if (log.isDebugEnabled()) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-26 18:15:51 UTC (rev 686) @@ -39,12 +39,14 @@ import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.service.pupitri.PupitriCatch; import fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportService; +import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationAction; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchRowModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -74,41 +76,20 @@ protected PersistenceService persistenceService; - protected CaracteristicQualitativeValue sortedCaracteristic; + protected EditFishingOperationAction editAction; - protected CaracteristicQualitativeValue unsortedCaracteristic; - - protected CaracteristicQualitativeValue maleCaracteristic; - - protected CaracteristicQualitativeValue femaleCaracteristic; - - protected CaracteristicQualitativeValue smallCaracteristic; - - protected CaracteristicQualitativeValue mediumCaracteristic; - - protected CaracteristicQualitativeValue bigCaracteristic; - public ImportPupitriAction(EditCatchesUIHandler handler) { super(handler, false); persistenceService = getContext().getPersistenceService(); importPupitriDialog = new ImportPupitriPopupUI(handler.getContext()); + } - // get the sorted/unsorted caracteristics - Caracteristic sortedUnsortedcaracteristic = - persistenceService.getSortedUnsortedCaracteristic(); - sortedCaracteristic = - SortedUnsortedEnum.SORTED.getValue(sortedUnsortedcaracteristic); - unsortedCaracteristic = - SortedUnsortedEnum.UNSORTED.getValue(sortedUnsortedcaracteristic); - - Caracteristic sexCaracteristic = persistenceService.getSexCaracteristic(); - maleCaracteristic = SexEnum.MALE.getValue(sexCaracteristic); - femaleCaracteristic = SexEnum.FEMALE.getValue(sexCaracteristic); - - Caracteristic sizeCaracteristic = persistenceService.getSizeCategoryCaracteristic(); - smallCaracteristic = SizeEnum.SMALL.getValue(sizeCaracteristic); - mediumCaracteristic = SizeEnum.MEDIUM.getValue(sizeCaracteristic); - bigCaracteristic = SizeEnum.BIG.getValue(sizeCaracteristic); + public EditFishingOperationAction getEditAction() { + if (editAction == null) { + editAction = TuttiActionHelper.createLogicAction( getHandler().getParentHandler(), + EditFishingOperationAction.class); + } + return editAction; } @Override @@ -170,108 +151,20 @@ FishingOperation operation = model.getFishingOperation(); CatchBatch catchBatch = model.getCatchBatch(); - // import trunk - pupitriImportExportService.importPupitriTrunk(importedTrunkFile, operation, catchBatch); + pupitriImportExportService.importPupitri(importedTrunkFile, + importedCarrouselFile, + importedSpeciesFile, + operation, + catchBatch, + getDataContext().getReferentSpeciesWithSurveyCode()); + + String fishingOperationText = getEditAction().getFishingOperationTitle(operation); - model.setCatchTotalRejectedWeight(catchBatch.getCatchTotalRejectedWeight()); - model.setCatchTotalSortedTremisWeight(catchBatch.getCatchTotalSortedTremisWeight()); + getEditAction().loadCatchBatch(operation, fishingOperationText, true); - // import carrousel - List<PupitriCatch> catches = - pupitriImportExportService.importPupitriCarrousel(importedCarrouselFile, - importedSpeciesFile, - operation, - catchBatch, - getDataContext().getReferentSpeciesWithSurveyCode()); - - // remove existing species - SpeciesBatchUIModel speciesBatchUIModel = getUI().getSpeciesTabContent().getModel(); - List<SpeciesBatchRowModel> rows = speciesBatchUIModel.getRows(); - for (SpeciesBatchRowModel row : rows) { - if (row.isBatchRoot()) { - persistenceService.deleteSpeciesBatch(row.getId()); - } - } - speciesBatchUIModel.setRows(null); - - // add the valid species in the species table - SpeciesBatchUIHandler speciesBatchUIHandler = getUI().getSpeciesTabContent().getHandler(); - for (PupitriCatch pupitriCatch : catches) { - Float catchWeight = pupitriCatch.getWeightBySign().get(PupitriCatch.Signs.DEFAULT); - CaracteristicQualitativeValue cqv = pupitriCatch.isSorted() ? - sortedCaracteristic : unsortedCaracteristic; - - ImportPupitriSpeciesBatchRootRowModel rowModel = - new ImportPupitriSpeciesBatchRootRowModel( - pupitriCatch.getSpecies(), cqv, catchWeight); - - speciesBatchUIHandler.addBatch(rowModel); - - if (catchWeight == null) { - SampleCategoryEnum category = null; - List<SplitSpeciesBatchRowModel> splitRows = Lists.newArrayList(); - for (PupitriCatch.Signs s : pupitriCatch.getWeightBySign().keySet()) { - CaracteristicQualitativeValue splitCqv = null; - switch (s) { - case MALE: - splitCqv = maleCaracteristic; - category = SampleCategoryEnum.sex; - break; - - case FEMALE: - splitCqv = femaleCaracteristic; - category = SampleCategoryEnum.sex; - break; - - case SMALL: - splitCqv = smallCaracteristic; - category = SampleCategoryEnum.size; - break; - - case MEDIUM: - splitCqv = mediumCaracteristic; - category = SampleCategoryEnum.size; - break; - - case BIG: - splitCqv = bigCaracteristic; - category = SampleCategoryEnum.size; - break; - } - SplitSpeciesBatchRowModel row = new SplitSpeciesBatchRowModel(); - row.setCategoryType(category); - row.setCategoryValue(splitCqv); - row.setWeight(pupitriCatch.getWeightBySign().get(s)); - row.setValid(true); - splitRows.add(row); - } - speciesBatchUIHandler.splitBatch(category, splitRows); - } - } - - model.setCatchTotalSortedCarousselWeight(catchBatch.getCatchTotalSortedCarousselWeight()); - - // add attachments - addFileAsAttachment(importedTrunkFile); - addFileAsAttachment(importedCarrouselFile); - addFileAsAttachment(importedSpeciesFile); - } - protected void addFileAsAttachment(File f) { - EditCatchesUIModel model = getModel(); - - Attachment attachment = new Attachment(); - attachment.setObjectType(model.getObjectType()); - attachment.setObjectId(Integer.valueOf(model.getObjectId())); - attachment.setName(f.getName()); - attachment.setComment("import pupitri"); - attachment = persistenceService.createAttachment(attachment, f); - - model.addAttachment(attachment); - } - @Override public void postSuccessAction() { super.postSuccessAction(); @@ -286,38 +179,4 @@ currentProtocol = null; } - class ImportPupitriSpeciesBatchRootRowModel implements SpeciesBatchRootRowModel { - - Species species; - - CaracteristicQualitativeValue sortedUnsortedCategory; - - Float batchWeight; - - public ImportPupitriSpeciesBatchRootRowModel(Species species, - CaracteristicQualitativeValue sortedUnsortedCategory, - Float batchWeight) { - - this.species = species; - this.sortedUnsortedCategory = sortedUnsortedCategory; - this.batchWeight = batchWeight; - } - - public Species getSpecies() { - return species; - } - - public CaracteristicQualitativeValue getSortedUnsortedCategory() { - return sortedUnsortedCategory; - } - - public Float getBatchWeight() { - return batchWeight; - } - - public boolean isValid() { - return species != null && sortedUnsortedCategory != null; - } - - } } Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRootRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRootRowModel.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SpeciesBatchRootRowModel.java 2013-03-26 18:15:51 UTC (rev 686) @@ -1,44 +0,0 @@ -package fr.ifremer.tutti.ui.swing.content.operation.catches; - -/* - * #%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% - */ - -import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; -import fr.ifremer.tutti.persistence.entities.referential.Species; - -/** - * TODO explain why ? - * @author kmorin <kmorin@codelutin.com> - * @since 1.2 - */ -public interface SpeciesBatchRootRowModel { - - Species getSpecies(); - - CaracteristicQualitativeValue getSortedUnsortedCategory(); - - Float getBatchWeight(); - - boolean isValid(); -} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-03-26 18:15:51 UTC (rev 686) @@ -43,9 +43,9 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategory; import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryComponent; -import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchRootRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.create.CreateBenthosBatchUI; +import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.create.CreateBenthosBatchUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyCellComponent; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchRowModel; @@ -614,7 +614,7 @@ parent.getHandler().setBenthosSelectedCard(EditCatchesUIHandler.CREATE_BATCH_CARD); } - public void addBatch(SpeciesBatchRootRowModel speciesBatchRootRowModel) { + public void addBatch(CreateBenthosBatchUIModel speciesBatchRootRowModel) { if (speciesBatchRootRowModel.isValid()) { BenthosBatchTableModel tableModel = getTableModel(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java 2013-03-26 18:15:51 UTC (rev 686) @@ -28,7 +28,6 @@ import com.google.common.collect.Multimap; 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.SpeciesBatchRootRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; import org.apache.commons.logging.Log; @@ -42,8 +41,7 @@ * @author tchemit <chemit@codelutin.com> * @since 0.3 */ -public class CreateBenthosBatchUIModel extends AbstractTuttiBeanUIModel<CreateBenthosBatchUIModel, CreateBenthosBatchUIModel> - implements SpeciesBatchRootRowModel { +public class CreateBenthosBatchUIModel extends AbstractTuttiBeanUIModel<CreateBenthosBatchUIModel, CreateBenthosBatchUIModel> { private final static Log log = LogFactory.getLog(CreateBenthosBatchUIModel.class); 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-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-26 18:15:51 UTC (rev 686) @@ -43,9 +43,9 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategory; import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryComponent; -import fr.ifremer.tutti.ui.swing.content.operation.catches.SpeciesBatchRootRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.TableViewMode; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI; +import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyCellComponent; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchRowModel; @@ -621,7 +621,7 @@ parent.getHandler().setSpeciesSelectedCard(EditCatchesUIHandler.CREATE_BATCH_CARD); } - public void addBatch(SpeciesBatchRootRowModel speciesBatchRootRowModel) { + public void addBatch(CreateSpeciesBatchUIModel speciesBatchRootRowModel) { if (speciesBatchRootRowModel.isValid()) { SpeciesBatchTableModel tableModel = getTableModel(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java 2013-03-26 18:15:28 UTC (rev 685) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java 2013-03-26 18:15:51 UTC (rev 686) @@ -28,7 +28,6 @@ import com.google.common.collect.Multimap; 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.SpeciesBatchRootRowModel; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -41,8 +40,7 @@ * @author tchemit <chemit@codelutin.com> * @since 0.3 */ -public class CreateSpeciesBatchUIModel extends AbstractTuttiBeanUIModel<CreateSpeciesBatchUIModel, CreateSpeciesBatchUIModel> - implements SpeciesBatchRootRowModel { +public class CreateSpeciesBatchUIModel extends AbstractTuttiBeanUIModel<CreateSpeciesBatchUIModel, CreateSpeciesBatchUIModel> { private final static Log log = LogFactory.getLog(CreateSpeciesBatchUIModel.class);