branch feature/8147 updated (f95e540 -> d9e77cf)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8147 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git discards f95e540 ajout d'un veto quand on change d'écran + avertissement si on quitte l'ecran des observations (fixes #8147) adds 486a067 suppression de BenthosBatch, BenthosBatchFrequency et des contrat SpeciesBatchAble et SpeciesFrequencyBatchAble dans le module persistence adds b91907a suppression de BenthosBatch, BenthosBatchFrequency et des contrat SpeciesBatchAble et SpeciesFrequencyBatchAble dans le module service adds d63bfeb suppression de BenthosBatch, BenthosBatchFrequency et des contrat SpeciesBatchAble et SpeciesFrequencyBatchAble dans le module swing adds b91176e Le début de la fin du paquetage benthos adds 8586c18 Adaptation du multi-export pour la partie benthos adds cd1438a Mise en commum des espèces du protocol adds e9b97c6 Code dupliqué adds a640b8a fix merge adds 2f5d2d8 Utilisation du titre adds 07b17c8 Début de refactor du paquetage Species adds fb3dfe1 Refs-80 #8051 Merge branch 'feature/merge_species_benthos' into develop new d18be98 ajout d'un veto quand on change d'écran + avertissement si on quitte l'ecran des observations (fixes #8147) new d9e77cf fix build This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f95e540) \ N -- N -- N refs/heads/feature/8147 (d9e77cf) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 2 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 d9e77cf10d4733dec870a7482f3633d3751feec0 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 18 18:24:40 2016 +0100 fix build commit d18be981bc3eace018c7603860632eca9275a116 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 18 17:44:22 2016 +0100 ajout d'un veto quand on change d'écran + avertissement si on quitte l'ecran des observations (fixes #8147) Summary of changes: .../tutti/persistence/TuttiPersistenceImpl.java | 27 +- .../persistence/TuttiPersistenceNoDbImpl.java | 25 +- .../entities/data/SpeciesAbleBatchs.java | 142 -- .../entities/data/SpeciesBatchFrequencys.java | 9 + .../persistence/entities/data/SpeciesBatchs.java | 73 + .../entities/referential/TaxonCache.java | 16 +- .../service/BenthosBatchPersistenceService.java | 39 +- .../BenthosBatchPersistenceServiceImpl.java | 658 +++++---- .../service/CatchBatchPersistenceServiceImpl.java | 2 +- .../MarineLitterBatchPersistenceServiceImpl.java | 24 +- .../SpeciesBatchPersistenceServiceImpl.java | 700 +++++----- .../SpeciesBatchPersistenceServiceSupport.java | 933 +++++++++++++ .../batch/ScientificCruiseCatchBatchValidator.java | 16 +- .../service/batch/TuttiCatchBatchValidator.java | 3 +- .../CaracteristicPersistenceService.java | 8 +- .../CaracteristicPersistenceServiceImpl.java | 14 +- .../service/util/BatchPersistenceHelper.java | 1281 +++++++++-------- .../persistence/service/util/BatchTreeHelper.java | 713 ---------- .../service/util/tree/BatchTreeHelper.java | 330 +++++ .../service/util/tree/BatchTreeHelperSupport.java | 365 +++++ .../util/tree/BenthosBatchTreeHelper.java} | 25 +- .../util/tree/SpeciesBatchTreeHelper.java} | 25 +- .../util/tree/SpeciesBatchTreeHelperSupport.java | 424 ++++++ .../src/main/xmi/tutti-persistence.properties | 1 - .../src/main/xmi/tutti-persistence.zargo | Bin 65155 -> 59307 bytes .../BenthosBatchPersistenceServiceReadTest.java | 11 +- .../BenthosBatchPersistenceServiceWriteTest.java | 94 +- .../ifremer/tutti/service/PersistenceService.java | 48 +- .../ifremer/tutti/service/ValidationService.java | 9 +- .../catches/ValidateCruiseOperationsService.java | 45 +- .../service/catches/WeightCleaningService.java | 78 +- .../service/catches/WeightComputingService.java | 40 +- .../catches/multipost/MultiPostExportContext.java | 10 +- .../catches/multipost/MultiPostExportService.java | 38 +- .../catches/multipost/MultiPostImportService.java | 152 +- .../tutti/service/export/ExportBatchEntry.java | 8 +- .../tutti/service/export/ExportCatchContext.java | 48 +- .../export/pdf/CatchesPdfExportService.java | 4 +- .../ToConfirmReportFishingOperationData.java | 9 +- .../toconfirmreport/ToConfirmReportService.java | 10 +- .../GenericFormatCheckDataService.java | 3 +- .../genericformat/GenericFormatContextSupport.java | 1 - .../GenericFormatExportOperationContext.java | 11 +- .../GenericFormatImportOperationContext.java | 38 +- .../GenericformatImportPersistenceHelper.java | 10 +- .../consumer/CsvConsumerForCatch.java | 28 +- .../tutti/service/genericformat/csv/CatchRow.java | 4 +- .../exportactions/CreateCatchBatchRowsAction.java | 5 +- .../importactions/ImportCatchAction.java | 26 +- .../producer/CsvProducerForCatch.java | 22 +- .../producer/CsvProducerForSpecies.java | 5 +- .../data/BenthosBatch-edit-error-validation.xml | 53 - .../BenthosBatch-validate-fatal-validation.xml | 38 - .../tutti/service/BeanValidatorDetectorTest.java | 5 +- .../tutti/service/PersistenceServiceTest.java | 22 +- .../service/bigfin/BigfinImportService2Test.java | 10 +- .../service/bigfin/BigfinImportServiceTest.java | 7 +- .../catches/WeightComputingServiceTest.java | 17 +- .../multipost/MultiPostImportServiceTest.java | 2 +- .../psionimport/PsionImportServiceTest.java | 7 +- .../pupitri/PupitriImportServiceEvo6116Test.java | 17 +- .../pupitri/PupitriImportServiceEvo6149Test.java | 11 +- .../pupitri/PupitriImportServiceEvo6592Test.java | 11 +- .../src/main/filtered-resources/log4j.properties | 2 +- .../operation/FishingOperationsUIHandler.java | 20 +- .../catches/AbstractTuttiBatchUIModel.java | 93 +- .../content/operation/catches/EditCatchesUI.jaxx | 103 +- .../content/operation/catches/EditCatchesUI.jcss | 20 - .../operation/catches/EditCatchesUIHandler.java | 381 +++-- .../catches/MultiPostImportLogDialog.jcss | 2 +- .../catches/actions/CleanBatchWeightsAction.java | 15 +- .../catches/actions/ComputeBatchWeightsAction.java | 225 +-- .../ExportFishingOperationForSumatraAction.java | 29 +- .../ExportFishingOperationReportAction.java | 19 +- .../MultiPostImportLogCloseDialogAction.java | 2 +- .../catches/actions/SaveCatchBatchAction.java | 24 +- .../catches/benthos/BenthosBatchRowModel.java | 667 --------- .../catches/benthos/BenthosBatchTableModel.java | 429 ------ .../operation/catches/benthos/BenthosBatchUI.jaxx | 178 --- .../operation/catches/benthos/BenthosBatchUI.jcss | 339 ----- .../catches/benthos/BenthosBatchUIHandler.java | 1456 -------------------- .../catches/benthos/BenthosBatchUIModel.java | 488 ------- .../ChangeBenthosBatchSampleCategoryAction.java | 205 --- .../benthos/actions/CreateBenthosMelagAction.java | 249 ---- .../actions/ExportMultiPostBenthosAction.java | 78 -- .../actions/ImportMultiPostBenthosAction.java | 111 -- .../OpenAddBenthosBatchSampleCategoryUIAction.java | 107 -- .../actions/OpenCreateBenthosBatchUIAction.java | 57 - .../OpenEditBenthosBatchFrequencyUIAction.java | 70 - .../actions/OpenSplitBenthosBatchUIAction.java | 122 -- .../benthos/actions/RemoveBenthosBatchAction.java | 181 --- .../actions/RemoveBenthosSubBatchAction.java | 138 -- .../benthos/actions/RenameBenthosBatchAction.java | 149 -- .../benthos/create/CreateBenthosBatchUI.jaxx | 185 --- .../benthos/create/CreateBenthosBatchUI.jcss | 218 --- .../create/CreateBenthosBatchUIHandler.java | 535 ------- .../benthos/create/CreateBenthosBatchUIModel.java | 358 ----- .../actions/CreateBenthosBatchAndCloseAction.java | 64 - .../CreateBenthosBatchAndContinueAction.java | 66 - .../CreateBenthosBatchAndFrequenciesAction.java | 78 -- .../actions/CreateBenthosBatchCancelAction.java | 59 - .../SelectSpeciesForBenthosBatchAction.java | 117 -- .../frequency/BenthosFrequencyCellComponent.java | 370 ----- .../BenthosFrequencyLogCellComponent.java | 156 --- .../frequency/BenthosFrequencyLogRowModel.java | 70 - .../frequency/BenthosFrequencyLogsTableModel.java | 57 - .../frequency/BenthosFrequencyRowModel.java | 240 ---- .../frequency/BenthosFrequencyTableModel.java | 318 ----- .../benthos/frequency/BenthosFrequencyUI.jaxx | 240 ---- .../benthos/frequency/BenthosFrequencyUI.jcss | 326 ----- .../frequency/BenthosFrequencyUIHandler.java | 639 --------- .../benthos/frequency/BenthosFrequencyUIModel.java | 613 -------- .../frequency/BenthosFrequencyUIModelCache.java | 156 --- ...thosFrequencyLengthStepCaracteristicAction.java | 99 -- .../actions/ApplyBenthosFrequencyRafaleAction.java | 130 -- .../actions/CancelEditBenthosFrequencyAction.java | 73 - .../DeleteBenthosFrequencyLogRowAction.java | 98 -- .../GenerateBenthosFrequencyLengthStepsAction.java | 102 -- .../actions/ResetBenthosFrequencyAction.java | 67 - .../SaveAndCloseBenthosFrequencyAction.java | 79 -- .../SaveAndContinueBenthosFrequencyAction.java | 73 - .../frequency/actions/SaveSupportAction.java | 129 -- .../benthos/split/SplitBenthosBatchRowModel.java | 151 -- .../benthos/split/SplitBenthosBatchTableModel.java | 106 -- .../catches/benthos/split/SplitBenthosBatchUI.jaxx | 115 -- .../catches/benthos/split/SplitBenthosBatchUI.jcss | 96 -- .../benthos/split/SplitBenthosBatchUIHandler.java | 487 ------- .../benthos/split/SplitBenthosBatchUIModel.java | 174 --- .../actions/SplitBenthosBatchCancelAction.java | 58 - .../split/actions/SplitBenthosBatchSaveAction.java | 79 -- .../catches/species/BenthosBatchUISupportImpl.java | 248 ++++ .../catches/species/EditSpeciesBatchPanelUI.jaxx | 98 ++ .../catches/species/EditSpeciesBatchPanelUI.jcss} | 14 +- .../species/EditSpeciesBatchPanelUIHandler.java | 157 +++ .../species/EditSpeciesBatchPanelUIModel.java | 28 + .../{ => species}/SelectedCategoryAble.java | 2 +- .../catches/species/SpeciesBatchUISupportImpl.java | 248 ++++ .../species/SpeciesOrBenthosBatchUISupport.java | 141 ++ .../species/create/CreateSpeciesBatchUI.jaxx | 9 +- .../create/CreateSpeciesBatchUIHandler.java | 92 +- .../species/create/CreateSpeciesBatchUIModel.java | 13 +- .../actions/CreateSpeciesBatchAndCloseAction.java | 6 +- .../CreateSpeciesBatchAndContinueAction.java | 12 +- .../CreateSpeciesBatchAndFrequenciesAction.java | 10 +- .../SelectSpeciesForSpeciesBatchAction.java | 10 +- .../ImportPupitriMelagWeightPopupUI.jaxx | 0 .../ImportPupitriMelagWeightPopupUI.jcss | 2 +- .../ImportPupitriMelagWeightPopupUIHandler.java | 2 +- .../ImportPupitriMelagWeightPopupUIModel.java | 2 +- .../species/{ => edit}/ImportPupitriPopupUI.jaxx | 0 .../species/{ => edit}/ImportPupitriPopupUI.jcss | 4 +- .../{ => edit}/ImportPupitriPopupUIHandler.java | 2 +- .../{ => edit}/ImportPupitriPopupUIModel.java | 2 +- .../{ => species/edit}/SampleCategoryAble.java | 2 +- .../edit}/SampleCategoryColumnIdentifier.java | 28 +- .../edit}/SampleCategoryComponent.java | 2 +- .../{ => species/edit}/SpeciesBatchDecorator.java | 16 +- .../edit}/SpeciesBatchDecoratorComparator.java | 8 +- .../edit}/SpeciesBatchNaturalOrderComparator.java | 18 +- .../edit/SpeciesBatchRowHelper.java} | 60 +- .../species/{ => edit}/SpeciesBatchRowModel.java | 13 +- .../species/{ => edit}/SpeciesBatchTableModel.java | 18 +- .../catches/species/{ => edit}/SpeciesBatchUI.jaxx | 52 +- .../catches/species/{ => edit}/SpeciesBatchUI.jcss | 105 +- .../species/{ => edit}/SpeciesBatchUIHandler.java | 101 +- .../species/{ => edit}/SpeciesBatchUIModel.java | 209 +-- .../{ => species/edit}/SpeciesSortMode.java | 2 +- .../edit}/SpeciesSortableRowModel.java | 2 +- .../catches/{ => species/edit}/TableViewMode.java | 2 +- .../ChangeSpeciesBatchSampleCategoryAction.java | 40 +- .../actions/CreateSpeciesMelagAction.java | 18 +- .../actions/ExportMultiPostSpeciesFullAction.java | 10 +- ...xportMultiPostSpeciesOnlyFrequenciesAction.java | 10 +- ...ostSpeciesOnlyIndividualObservationsAction.java | 10 +- .../{ => edit}/actions/ImportBigfinAction.java | 16 +- .../actions/ImportMultiPostSpeciesFullAction.java | 4 +- ...mportMultiPostSpeciesOnlyFrequenciesAction.java | 4 +- ...ostSpeciesOnlyIndividualObservationsAction.java | 4 +- .../ImportMultiPostSpeciesSupportAction.java | 14 +- .../{ => edit}/actions/ImportPsionAction.java | 26 +- .../{ => edit}/actions/ImportPupitriAction.java | 31 +- ...mportPupitriMelagWeightPopupValidateAction.java | 4 +- .../actions/ImportPupitriPopupCancelAction.java | 4 +- .../actions/ImportPupitriPopupValidateAction.java | 4 +- .../OpenAddSpeciesBatchSampleCategoryUIAction.java | 23 +- .../actions/OpenCreateSpeciesBatchUIAction.java | 13 +- .../OpenEditSpeciesBatchFrequencyUIAction.java | 12 +- .../actions/OpenSplitSpeciesBatchUIAction.java | 25 +- .../actions/RemoveSpeciesBatchAction.java | 25 +- .../actions/RemoveSpeciesSubBatchAction.java | 25 +- .../actions/RenameSpeciesBatchAction.java | 18 +- .../frequency}/FrequencyConfigurationMode.java | 2 +- .../frequency/SpeciesFrequencyCellComponent.java | 26 +- .../frequency/SpeciesFrequencyRowModel.java | 10 + .../species/frequency/SpeciesFrequencyUI.jaxx | 10 +- .../frequency/SpeciesFrequencyUIHandler.java | 44 +- .../species/frequency/SpeciesFrequencyUIModel.java | 13 +- ...ciesFrequencyLengthStepCaracteristicAction.java | 4 +- .../actions/ApplySpeciesFrequencyRafaleAction.java | 4 +- .../actions/ExportMultiPostSpeciesFullAction.java | 19 +- ...xportMultiPostSpeciesOnlyFrequenciesAction.java | 18 +- ...ostSpeciesOnlyIndividualObservationsAction.java | 18 +- ...va => ExportMultiPostSpeciesSupportAction.java} | 37 +- .../GenerateSpeciesFrequencyLengthStepsAction.java | 8 +- .../ImportMultiPostSpeciesSupportAction.java | 7 +- .../actions/ResetSpeciesFrequencyAction.java | 6 +- .../frequency/actions/SaveSupportAction.java | 4 +- .../species/split/SplitSpeciesBatchTableModel.java | 24 +- .../catches/species/split/SplitSpeciesBatchUI.jaxx | 8 +- .../species/split/SplitSpeciesBatchUIHandler.java | 102 +- .../species/split/SplitSpeciesBatchUIModel.java | 4 +- .../split/actions/SplitSpeciesBatchSaveAction.java | 33 +- .../actions/EditFishingOperationAction.java | 9 +- .../content/protocol/EditProtocolUIHandler.java | 10 +- .../EditFishingOperationInValidationUIAction.java | 32 +- .../util/table/AbstractTuttiTableUIHandler.java | 2 +- .../tutti/ui/swing/BeanValidatorDetectorTest.java | 9 - 217 files changed, 6189 insertions(+), 16104 deletions(-) delete mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesAbleBatchs.java create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesBatchFrequencys.java create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceSupport.java delete mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchTreeHelper.java create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/tree/BatchTreeHelper.java create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/tree/BatchTreeHelperSupport.java copy tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/{entities/referential/TuttiReferentialEntities.java => service/util/tree/BenthosBatchTreeHelper.java} (62%) copy tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/{entities/referential/TuttiReferentialEntities.java => service/util/tree/SpeciesBatchTreeHelper.java} (62%) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/tree/SpeciesBatchTreeHelperSupport.java delete mode 100644 tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-edit-error-validation.xml delete mode 100644 tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/BenthosBatch-validate-fatal-validation.xml rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{species => }/actions/MultiPostImportLogCloseDialogAction.java (94%) delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jcss delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/ChangeBenthosBatchSampleCategoryAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/CreateBenthosMelagAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/ExportMultiPostBenthosAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/ImportMultiPostBenthosAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/OpenAddBenthosBatchSampleCategoryUIAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/OpenCreateBenthosBatchUIAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/OpenEditBenthosBatchFrequencyUIAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/OpenSplitBenthosBatchUIAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/RemoveBenthosBatchAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/RemoveBenthosSubBatchAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/actions/RenameBenthosBatchAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.jaxx delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.jcss delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/CreateBenthosBatchAndCloseAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/CreateBenthosBatchAndContinueAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/CreateBenthosBatchAndFrequenciesAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/CreateBenthosBatchCancelAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/actions/SelectSpeciesForBenthosBatchAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyCellComponent.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyLogCellComponent.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyLogRowModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyLogsTableModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyRowModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyTableModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.jaxx delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.jcss delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModelCache.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/AddBenthosFrequencyLengthStepCaracteristicAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/ApplyBenthosFrequencyRafaleAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/CancelEditBenthosFrequencyAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/DeleteBenthosFrequencyLogRowAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/GenerateBenthosFrequencyLengthStepsAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/ResetBenthosFrequencyAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/SaveAndCloseBenthosFrequencyAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/SaveAndContinueBenthosFrequencyAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/actions/SaveSupportAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchRowModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchTableModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jaxx delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jcss delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIModel.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/actions/SplitBenthosBatchCancelAction.java delete mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/actions/SplitBenthosBatchSaveAction.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/BenthosBatchUISupportImpl.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUI.jaxx copy tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/{util/comment/CommentEditorUI.jcss => content/operation/catches/species/EditSpeciesBatchPanelUI.jcss} (73%) create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIHandler.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIModel.java rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species}/SelectedCategoryAble.java (93%) create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUISupportImpl.java create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesOrBenthosBatchUISupport.java rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriMelagWeightPopupUI.jaxx (100%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriMelagWeightPopupUI.jcss (95%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriMelagWeightPopupUIHandler.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriMelagWeightPopupUIModel.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriPopupUI.jaxx (100%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriPopupUI.jcss (94%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriPopupUIHandler.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/ImportPupitriPopupUIModel.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SampleCategoryAble.java (95%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SampleCategoryColumnIdentifier.java (61%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SampleCategoryComponent.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SpeciesBatchDecorator.java (83%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SpeciesBatchDecoratorComparator.java (88%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SpeciesBatchNaturalOrderComparator.java (79%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{SpeciesAbleBatchRowHelper.java => species/edit/SpeciesBatchRowHelper.java} (85%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchRowModel.java (99%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchTableModel.java (93%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchUI.jaxx (77%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchUI.jcss (82%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchUIHandler.java (94%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/SpeciesBatchUIModel.java (66%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SpeciesSortMode.java (92%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/SpeciesSortableRowModel.java (95%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/edit}/TableViewMode.java (93%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ChangeSpeciesBatchSampleCategoryAction.java (83%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/CreateSpeciesMelagAction.java (95%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ExportMultiPostSpeciesFullAction.java (92%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ExportMultiPostSpeciesOnlyFrequenciesAction.java (92%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ExportMultiPostSpeciesOnlyIndividualObservationsAction.java (92%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportBigfinAction.java (94%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportMultiPostSpeciesFullAction.java (97%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportMultiPostSpeciesOnlyFrequenciesAction.java (97%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportMultiPostSpeciesOnlyIndividualObservationsAction.java (97%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportMultiPostSpeciesSupportAction.java (86%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportPsionAction.java (84%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportPupitriAction.java (93%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportPupitriMelagWeightPopupValidateAction.java (96%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportPupitriPopupCancelAction.java (96%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/ImportPupitriPopupValidateAction.java (97%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/OpenAddSpeciesBatchSampleCategoryUIAction.java (82%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/OpenCreateSpeciesBatchUIAction.java (77%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/OpenEditSpeciesBatchFrequencyUIAction.java (88%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/OpenSplitSpeciesBatchUIAction.java (85%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/RemoveSpeciesBatchAction.java (91%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/RemoveSpeciesSubBatchAction.java (88%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/{ => edit}/actions/RenameSpeciesBatchAction.java (94%) rename tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/{ => species/frequency}/FrequencyConfigurationMode.java (92%) copy tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/{ExportMultiPostSpeciesFullAction.java => ExportMultiPostSpeciesSupportAction.java} (61%) -- 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/8147 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit d18be981bc3eace018c7603860632eca9275a116 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 18 17:44:22 2016 +0100 ajout d'un veto quand on change d'écran + avertissement si on quitte l'ecran des observations (fixes #8147) --- .../fr/ifremer/tutti/ui/swing/TuttiUIContext.java | 24 +++++++-- .../tutti/ui/swing/content/MainUIHandler.java | 57 +++++++++++++--------- .../actions/AbstractChangeScreenAction.java | 9 +++- .../frequency/SpeciesFrequencyUIHandler.java | 40 +++++++++++++++ .../actions/CancelEditSpeciesFrequencyAction.java | 30 +----------- .../tutti/ui/swing/util/TuttiExceptionHandler.java | 4 +- 6 files changed, 104 insertions(+), 60 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java index ca450fa..58bbab6 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java @@ -94,6 +94,7 @@ import javax.swing.JOptionPane; import java.awt.Color; import java.awt.Component; import java.beans.PropertyChangeListener; +import java.beans.PropertyVetoException; import java.io.Closeable; import java.io.File; import java.io.IOException; @@ -627,6 +628,12 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage actionUI.getModel().clear(); } setActionUI(null); + + } catch (PropertyVetoException e) { + if (log.isErrorEnabled()) { + log.error("cannot change screen", e); + } + } finally { closed = true; if (lock != null) { @@ -955,8 +962,9 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage return screen; } - public void setScreen(TuttiScreen screen) { + public void setScreen(TuttiScreen screen) throws PropertyVetoException { Object oldValue = getScreen(); + fireVetoableChange(PROPERTY_SCREEN, oldValue, screen); this.screen = screen; firePropertyChange(PROPERTY_SCREEN, oldValue, screen); } @@ -1141,10 +1149,16 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage } public void setFallBackScreen() { - if (isDbLoaded()) { - setScreen(TuttiScreen.SELECT_CRUISE); - } else { - setScreen(TuttiScreen.MANAGE_DB); + try { + if (isDbLoaded()) { + setScreen(TuttiScreen.SELECT_CRUISE); + } else { + setScreen(TuttiScreen.MANAGE_DB); + } + } catch (PropertyVetoException e) { + if (log.isErrorEnabled()) { + log.error("cannot change screen", e); + } } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java index 04cc2ac..ad2f818 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java @@ -68,6 +68,7 @@ import java.awt.Cursor; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListenerProxy; +import java.beans.PropertyVetoException; import java.util.Locale; import static org.nuiton.i18n.I18n.t; @@ -211,37 +212,45 @@ public class MainUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, MainUI TuttiUIContext context = getContext(); // remove any screen - context.setScreen(null); - context.removeMessageNotifier(this); - - // clean context - - PropertyChangeListener[] propertyChangeListeners = - context.getPropertyChangeListeners(); - for (PropertyChangeListener listener : propertyChangeListeners) { - if (listener instanceof PropertyChangeListenerProxy) { - PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listener; - listener = proxy.getListener(); - } - if (listener instanceof RemoveablePropertyChangeListener) { - if (log.isDebugEnabled()) { - log.debug("Remove listener: " + listener); + try { + context.setScreen(null); + context.removeMessageNotifier(this); + + // clean context + + PropertyChangeListener[] propertyChangeListeners = + context.getPropertyChangeListeners(); + for (PropertyChangeListener listener : propertyChangeListeners) { + if (listener instanceof PropertyChangeListenerProxy) { + PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy) listener; + listener = proxy.getListener(); + } + if (listener instanceof RemoveablePropertyChangeListener) { + if (log.isDebugEnabled()) { + log.debug("Remove listener: " + listener); + } + context.removePropertyChangeListener(listener); } - context.removePropertyChangeListener(listener); } - } - if (ui != null) { + if (ui != null) { - // clean ui + // clean ui - JAXXBinding[] bindings = ui.getDataBindings(); - for (JAXXBinding binding : bindings) { - SwingUtil.removeDataBinding(ui, binding.getId()); + JAXXBinding[] bindings = ui.getDataBindings(); + for (JAXXBinding binding : bindings) { + SwingUtil.removeDataBinding(ui, binding.getId()); + } + ui.setVisible(false); + ui.dispose(); + } + + } catch (PropertyVetoException e) { + if (log.isErrorEnabled()) { + log.error("cannot change screen", e); } - ui.setVisible(false); - ui.dispose(); } + } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/AbstractChangeScreenAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/AbstractChangeScreenAction.java index d4abeb7..15e0c21 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/AbstractChangeScreenAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/AbstractChangeScreenAction.java @@ -28,6 +28,10 @@ import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import jaxx.runtime.SwingUtil; import jaxx.runtime.context.JAXXContextEntryDef; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.beans.PropertyVetoException; import static org.nuiton.i18n.I18n.t; @@ -43,6 +47,9 @@ import static org.nuiton.i18n.I18n.t; */ public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiAction { + /** Logger. */ + private static final Log log = LogFactory.getLog(AbstractChangeScreenAction.class); + /** * Context entry to keep previous screen. * @@ -110,7 +117,7 @@ public abstract class AbstractChangeScreenAction extends AbstractMainUITuttiActi @Override public void postFailedAction(Throwable error) { - if (error != null) { + if (error != null && !(error instanceof PropertyVetoException)) { getContext().setFallBackScreen(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index b82607c..958670a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -92,6 +92,7 @@ import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.nuiton.decorator.Decorator; import org.nuiton.jaxx.application.ApplicationBusinessException; +import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import javax.swing.JComponent; import javax.swing.JFrame; @@ -115,6 +116,7 @@ import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; +import java.beans.VetoableChangeListener; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; @@ -176,6 +178,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci protected PropertyChangeListener obsChangedListener; + protected VetoableChangeListener changeScreenListener; + protected Optional<CaracteristicColumnIdentifier> maturityColumnId = Optional.empty(); // Flag to mark when preparing the batch edition @@ -362,6 +366,18 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci }; + this.changeScreenListener = new VetoableChangeListener() { + + @Override + public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException { + if (SpeciesFrequencyUIHandler.this.getModel().isModify()) { + if (!SpeciesFrequencyUIHandler.this.askCancelEditBeforeLeaving()) { + throw new PropertyVetoException("The user does not want to quit the screen.", evt); + } + } + } + }; + } //------------------------------------------------------------------------// @@ -827,6 +843,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci if (getDataContext().isCruiseSamplingCacheLoaded()) { getDataContext().getCruiseSamplingCache().removeSamplingListener(samplingListener); } + + getContext().removeVetoableChangeListener(TuttiUIContext.PROPERTY_SCREEN, changeScreenListener); } public void editBatch(FrequencyCellEditor editor, Optional<String> optionalTitle) { @@ -1119,12 +1137,34 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } model.setModify(false); + + getContext().addVetoableChangeListener(TuttiUIContext.PROPERTY_SCREEN, changeScreenListener); + } finally { initBatchEdition = false; } } + public boolean askCancelEditBeforeLeaving() { + // Ask confirmation to quit screen + String htmlMessage = String.format(AbstractApplicationUIHandler.CONFIRMATION_FORMAT, + t("tutti.askToCancelEditFrequencies.message"), + t("tutti.askToCancelEditFrequencies.help")); + + int saveResponse = JOptionPane.showOptionDialog( + getTopestUI(), + htmlMessage, + t("tutti.askToCancelEditFrequencies.title"), + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + new String[]{t("tutti.option.continue"), t("tutti.option.cancel")}, + t("tutti.option.cancel")); + + return saveResponse == 0; + } + //TODO maturity public void incrementSampling(CaracteristicQualitativeValue gender, Boolean maturity, float lengthStep) { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java index 7f97f8d..01806a5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java @@ -30,11 +30,6 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.Spe import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; - -import javax.swing.JOptionPane; - -import static org.nuiton.i18n.I18n.t; /** * Created on 1/1/15. @@ -59,30 +54,7 @@ public class CancelEditSpeciesFrequencyAction extends LongActionSupport<SpeciesF if (doAction && getModel().isModify()) { // Ask confirmation to quit screen - doAction = false; - - String htmlMessage = String.format(AbstractApplicationUIHandler.CONFIRMATION_FORMAT, - t("tutti.askToCancelEditFrequencies.message"), - t("tutti.askToCancelEditFrequencies.help")); - - int saveResponse = JOptionPane.showOptionDialog( - getHandler().getTopestUI(), - htmlMessage, - t("tutti.askToCancelEditFrequencies.title"), - JOptionPane.OK_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, - null, - new String[]{t("tutti.option.continue"), t("tutti.option.cancel")}, - t("tutti.option.cancel")); - - switch (saveResponse) { - case 0: - - // confirm - doAction = true; - break; - - } + doAction = getHandler().askCancelEditBeforeLeaving(); } return doAction; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java index 1e0968d..72029ec 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java @@ -31,6 +31,8 @@ import org.nuiton.jaxx.application.swing.action.ApplicationActionException; import org.nuiton.jaxx.application.swing.util.ApplicationErrorHelper; import org.nuiton.jaxx.application.swing.util.ApplicationExceptionHandler; +import java.beans.PropertyVetoException; + /** * Tutti global exception handler. * @@ -53,7 +55,7 @@ public class TuttiExceptionHandler extends ApplicationExceptionHandler { @Override public void uncaughtException(Thread t, Throwable ex) { - if (t.getName().startsWith("AWT-EventQueue-")) { + if (t.getName().startsWith("AWT-EventQueue-") || ex.getCause() instanceof PropertyVetoException) { // Swallow some ui execption we can't deal with // See https://forge.codelutin.com/issues/7489 -- 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/8147 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit d9e77cf10d4733dec870a7482f3633d3751feec0 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 18 18:24:40 2016 +0100 fix build --- .../fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java b/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java index ff00682..e8113df 100644 --- a/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java +++ b/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/BeanValidatorDetectorTest.java @@ -23,9 +23,6 @@ package fr.ifremer.tutti.ui.swing; import fr.ifremer.tutti.ui.swing.content.cruise.EditCruiseUIModel; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUIModel; -import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.create.CreateBenthosBatchUIModel; -import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyUIModel; -import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchUIModel; @@ -66,11 +63,8 @@ public class BeanValidatorDetectorTest extends AbstractValidatorDetectorTest { ALL_TYPES = new Class[]{ EditCruiseUIModel.class, EditFishingOperationUIModel.class, - CreateBenthosBatchUIModel.class, CreateSpeciesBatchUIModel.class, - SplitBenthosBatchUIModel.class, SplitSpeciesBatchUIModel.class, - BenthosFrequencyUIModel.class, SpeciesFrequencyUIModel.class, ReportUIModel.class, }; @@ -98,12 +92,9 @@ public class BeanValidatorDetectorTest extends AbstractValidatorDetectorTest { validators = detectValidators(Pattern.compile(contextName), ALL_TYPES); assertValidatorSetWithSameContextName(validators, null, - BenthosFrequencyUIModel.class, - CreateBenthosBatchUIModel.class, CreateSpeciesBatchUIModel.class, ReportUIModel.class, SpeciesFrequencyUIModel.class, - SplitBenthosBatchUIModel.class, SplitSpeciesBatchUIModel.class ); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm