Author: tchemit Date: 2012-12-27 14:30:53 +0100 (Thu, 27 Dec 2012) New Revision: 110 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/110 Log: fix select fishingOperation NPE Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.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/macrowaste/MacroWasteBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -111,6 +111,27 @@ } } + /** + * To clear the table selection. + * <p/> + * This method is invoked before changing the fishing operation. + * + * @since 0.3 + */ + public final void clearTableSelection() { + + JXTable table = getTable(); + + if (table.isEditing()) { + + // make sure to stop editor + table.editingCanceled(null); + } + + // make sure selection is empty (will remove bean from monitor) + table.clearSelection(); + } + protected void initBatchTable(JXTable table, TableColumnModel columnModel, AbstractTuttiTableModel<R> tableModel) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -113,6 +113,8 @@ public void selectFishingOperation(FishingOperation bean, String fishingOperationText) { + // 1) Save any modification of the current fishingOperation + if (fishingOperationMonitor.wasModified()) { // previous fishingOperation was modified, let's save it @@ -133,6 +135,14 @@ persistenceService.saveFishingOperation(fishingOperation); } + ui.getSpeciesTabContent().getHandler().clearTableSelection(); + ui.getBenthosTabContent().getHandler().clearTableSelection(); + ui.getPlanktonTabContent().getHandler().clearTableSelection(); + ui.getMacroWasteTabContent().getHandler().clearTableSelection(); + ui.getAccidentalTabContent().getHandler().clearTableSelection(); + + // 2) Use new selected fishingOperation + boolean empty = bean == null; EditCatchesUIModel model = getModel(); @@ -154,6 +164,8 @@ fishingOperationMonitor.clearModified(); + // 3) Propagate title to others tabs + ui.getCatchesCaracteristicsTabPane().setTitle(fishingOperationText); ui.getSpeciesTabFishingOperationReminderLabel().setTitle(fishingOperationText); ui.getBenthosTabFishingOperationReminderLabel().setTitle(fishingOperationText); @@ -161,6 +173,8 @@ ui.getMacroWasteTabFishingOperationReminderLabel().setTitle(fishingOperationText); ui.getAccidentalTabFishingOperationReminderLabel().setTitle(fishingOperationText); + // 4) Propagate new selected fishingoperation to others tabs + ui.getSpeciesTabContent().getHandler().selectFishingOperation(bean); ui.getBenthosTabContent().getHandler().selectFishingOperation(bean); ui.getPlanktonTabContent().getHandler().selectFishingOperation(bean); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -267,17 +267,6 @@ @Override public void selectFishingOperation(FishingOperation bean) { - JXTable table = getTable(); - - if (table.isEditing()) { - - // make sure to stop editor - table.editingCanceled(null); - } - - // make sure selection is empty (will remove bean from monitor) - table.clearSelection(); - boolean empty = bean == null; AccidentalBatchUIModel model = getModel(); 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 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -296,17 +296,6 @@ @Override public void selectFishingOperation(FishingOperation bean) { - JXTable table = getTable(); - - if (table.isEditing()) { - - // make sure to stop editor - table.editingCanceled(null); - } - - // make sure selection is empty (will remove bean from monitor) - table.clearSelection(); - boolean empty = bean == null; BenthosBatchUIModel model = getModel(); @@ -318,7 +307,7 @@ } else { if (log.isInfoEnabled()) { - log.info("Get species batch for fishingOperation: " + + log.info("Get benthos batch for fishingOperation: " + bean.getId()); } rows = Lists.newArrayList(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -252,17 +252,6 @@ @Override public void selectFishingOperation(FishingOperation bean) { - JXTable table = getTable(); - - if (table.isEditing()) { - - // make sure to stop editor - table.editingCanceled(null); - } - - // make sure selection is empty (will remove bean from monitor) - table.clearSelection(); - boolean empty = bean == null; MacroWasteBatchUIModel model = getModel(); @@ -274,7 +263,7 @@ } else { if (log.isInfoEnabled()) { - log.info("Get species batch for fishingOperation: " + + log.info("Get macroWaste batch for fishingOperation: " + bean.getId()); } rows = Lists.newArrayList(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -295,17 +295,6 @@ @Override public void selectFishingOperation(FishingOperation bean) { - JXTable table = getTable(); - - if (table.isEditing()) { - - // make sure to stop editor - table.editingCanceled(null); - } - - // make sure selection is empty (will remove bean from monitor) - table.clearSelection(); - boolean empty = bean == null; PlanktonBatchUIModel model = getModel(); @@ -318,7 +307,7 @@ if (log.isInfoEnabled()) { - log.info("Get species batch for fishingOperation: " + + log.info("Get plankton batch for fishingOperation: " + bean.getId()); } rows = Lists.newArrayList(); 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 2012-12-27 12:51:33 UTC (rev 109) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2012-12-27 13:30:53 UTC (rev 110) @@ -492,17 +492,17 @@ @Override public void selectFishingOperation(FishingOperation bean) { - JXTable table = ui.getTable(); +// JXTable table = ui.getTable(); +// +// if (table.isEditing()) { +// +// // make sure to stop editor +// table.editingCanceled(null); +// } +// +// // make sure selection is empty (will remove bean from monitor) +// table.clearSelection(); - if (table.isEditing()) { - - // make sure to stop editor - table.editingCanceled(null); - } - - // make sure selection is empty (will remove bean from monitor) - table.clearSelection(); - boolean empty = bean == null; SpeciesBatchUIModel model = getModel();