r557 - in trunk/tutti-ui-swing/src/main: filtered-resources java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/content java/fr/ifremer/tutti/ui/swing/content/cruise java/fr/ifremer/tutti/ui/swing/content/db java/fr/ifremer/tutti/ui/swing/content/home java/fr/ifremer/tutti/ui/swing/content/operation java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/content/operation/catches/specie
Author: tchemit Date: 2013-03-07 10:06:54 +0100 (Thu, 07 Mar 2013) New Revision: 557 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/557 Log: refs #2075: [TECH] Action longue (probl?\195?\168me de cin?\195?\169matique) Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java Modified: trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 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/FishingOperationsUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.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/SaveCatchBatchAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.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/RenameSpeciesBatchAction.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/fishing/AbstractCaracteristicTabUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 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/TuttiActionUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java Modified: trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/filtered-resources/log4j.properties 2013-03-07 09:06:54 UTC (rev 557) @@ -32,7 +32,7 @@ # tutti levels log4j.logger.fr.ifremer.tutti=INFO log4j.logger.fr.ifremer.tutti.ui.swing.util=WARN -#log4j.logger.fr.ifremer.tutti.ui.swing.util.action=DEBUG +log4j.logger.fr.ifremer.tutti.ui.swing.util.action=INFO log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=${tutti.log.file} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-03-07 09:06:54 UTC (rev 557) @@ -29,6 +29,7 @@ import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction; import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -81,7 +82,7 @@ MainUIHandler handler = new MainUIHandler(context); // try to update jre - i18n - application and exit if so - new UpdateApplicationAction(handler).performAndReleaseAction(); + AbstractTuttiAction.runAction(new UpdateApplicationAction(handler)); // try to update db // new UpdateReferentialAction(handler).doAction(null); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -26,6 +26,7 @@ */ import fr.ifremer.tutti.ui.swing.TuttiScreen; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; /** * Action to change the screen. @@ -68,16 +69,39 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean result = super.prepareAction(); result &= skipCheckCurrentScreen || getHandler().quitCurrentScreen(); return result; } @Override - protected void doAction() { + protected void doAction() throws Exception { - // change screen - getContext().setScreen(screen); + TuttiUIContext context = getContext(); + + Exception error = null; + try { + + // clean current screen + context.setScreen(null); + + // change screen + context.setScreen(screen); + + } catch (Exception e) { + error = e; + throw e; + } finally { + + if (error != null) + + if (context.isDbLoaded()) { + + context.setScreen(TuttiScreen.SELECT_CRUISE); + } else { + context.setScreen(TuttiScreen.MANAGE_DB); + } + } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/CloseApplicationAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -47,8 +47,10 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { + super.doAction(); + RunTutti.closeTutti(getUI(), true); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -53,7 +53,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isCruiseFilled()); if (log.isInfoEnabled()) { log.info("Edit cruise: " + getContext().getCruiseId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedCruiseCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -55,13 +55,13 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isCruiseFilled()); if (log.isInfoEnabled()) { log.info("Edit catches of cruise: " + getContext().getCruiseId()); } getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_EDIT); - getContext().setScreen(null); +// getContext().setScreen(null); super.doAction(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProgramAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -52,7 +52,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProgramFilled()); if (log.isInfoEnabled()) { log.info("Edit program: " + getContext().getProgramId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/EditSelectedProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -53,7 +53,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProtocolFilled()); if (log.isInfoEnabled()) { log.info("Edit protocol: " + getContext().getProtocolId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ImportTemporaryReferentialAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -48,7 +48,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { super.doAction(); SwingUtilities.invokeLater(new Runnable() { @Override Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -301,126 +301,113 @@ protected void setScreen(TuttiScreen screen) { - try { + // close current body (if any) + if (currentBody != null) { + TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; + body.getHandler().onCloseUI(); - // close current body (if any) - if (currentBody != null) { - TuttiUI<?, ?> body = (TuttiUI<?, ?>) currentBody; - body.getHandler().onCloseUI(); + context.getSwingSession().save(); - context.getSwingSession().save(); + ui.getBody().remove(currentBody); - ui.getBody().remove(currentBody); + currentBody = null; + } - currentBody = null; - } + if (screen != null) { - if (screen != null) { + // load new body - JComponent screenUI; - JComponent rightDecoration=null; - String screenTitle; + JComponent screenUI; + JComponent rightDecoration = null; + String screenTitle; - Icon icon; - switch (screen) { - default: - case MANAGE_DB: + Icon icon; + switch (screen) { + default: + case MANAGE_DB: - screenUI = new DbManagerUI(ui); - screenTitle = _("tutti.title.manageDb"); - icon = ui.getMenuActionManageDb().getIcon(); - break; + screenUI = new DbManagerUI(ui); + screenTitle = _("tutti.title.manageDb"); + icon = ui.getMenuActionManageDb().getIcon(); + break; - case SELECT_CRUISE: + case SELECT_CRUISE: - screenUI = new SelectCruiseUI(ui); - screenTitle = _("tutti.title.home"); - icon = ui.getMenuActionSelectCruise().getIcon(); - break; + screenUI = new SelectCruiseUI(ui); + screenTitle = _("tutti.title.home"); + icon = ui.getMenuActionSelectCruise().getIcon(); + break; - case EDIT_PROGRAM: + case EDIT_PROGRAM: - if (context.isProgramFilled()) { - screenTitle = _("tutti.title.edit.program"); - } else { - screenTitle = _("tutti.title.create.program"); - } + if (context.isProgramFilled()) { + screenTitle = _("tutti.title.edit.program"); + } else { + screenTitle = _("tutti.title.create.program"); + } - screenUI = new EditProgramUI(ui); - icon = ui.getMenuActionEditProgram().getIcon(); - break; + screenUI = new EditProgramUI(ui); + icon = ui.getMenuActionEditProgram().getIcon(); + break; - case EDIT_CRUISE: + case EDIT_CRUISE: - if (context.isCruiseFilled()) { - screenTitle = _("tutti.title.edit.cruise"); - } else { - screenTitle = _("tutti.title.create.cruise"); - } + if (context.isCruiseFilled()) { + screenTitle = _("tutti.title.edit.cruise"); + } else { + screenTitle = _("tutti.title.create.cruise"); + } - screenUI = new EditCruiseUI(ui); - rightDecoration = ((EditCruiseUI)screenUI).getTopToolBar(); - icon = ui.getMenuActionEditCruise().getIcon(); - break; + screenUI = new EditCruiseUI(ui); + rightDecoration = ((EditCruiseUI) screenUI).getTopToolBar(); + icon = ui.getMenuActionEditCruise().getIcon(); + break; - case EDIT_PROTOCOL: + case EDIT_PROTOCOL: - if (context.isProgramFilled()) { - screenTitle = _("tutti.title.edit.protocol"); - } else { - screenTitle = _("tutti.title.create.protocol"); - } + if (context.isProgramFilled()) { + screenTitle = _("tutti.title.edit.protocol"); + } else { + screenTitle = _("tutti.title.create.protocol"); + } - screenUI = new EditProtocolUI(ui); - icon = ui.getMenuActionEditProtocol().getIcon(); - break; + screenUI = new EditProtocolUI(ui); + icon = ui.getMenuActionEditProtocol().getIcon(); + break; - case EDIT_FISHING_OPERATION: + case EDIT_FISHING_OPERATION: - String validationContext = context.getValidationContext(); + String validationContext = context.getValidationContext(); - if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) { + if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(validationContext)) { - // edit catches - screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle()); - icon = ui.getMenuActionEditCatches().getIcon(); - } else { + // edit catches + screenTitle = _("tutti.title.edit.operations", getSelectedCruiseTitle()); + icon = ui.getMenuActionEditCatches().getIcon(); + } else { - // validate catches - screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle()); - icon = ui.getMenuActionValidateCatches().getIcon(); - } - screenUI = new FishingOperationsUI(ui); + // validate catches + screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle()); + icon = ui.getMenuActionValidateCatches().getIcon(); + } + screenUI = new FishingOperationsUI(ui); - break; + break; - case IMPORT_TEMPORARY_REFERENTIAL: - screenTitle = _("tutti.title.import.temporary.referential"); - screenUI = new ManageTemporaryReferentialUI(ui); - icon = ui.getMenuImportTemporaryReferential().getIcon(); - break; - } - - this.currentBody = screenUI; - context.getSwingSession().add(currentBody); - ui.getBody().setTitle(screenTitle); - ui.getBody().add(currentBody); - ui.getBody().setLeftDecoration(new JLabel(icon)); - ui.getBody().setRightDecoration(rightDecoration); - + case IMPORT_TEMPORARY_REFERENTIAL: + screenTitle = _("tutti.title.import.temporary.referential"); + screenUI = new ManageTemporaryReferentialUI(ui); + icon = ui.getMenuImportTemporaryReferential().getIcon(); + break; } - } catch (Exception e) { -// AbstractTuttiAction mainAction = AbstractTuttiAction.getMainAction(); -// if (mainAction != null) { -// mainAction.setFailed(true); -// } + this.currentBody = screenUI; + context.getSwingSession().add(currentBody); + ui.getBody().setTitle(screenTitle); + ui.getBody().add(currentBody); + ui.getBody().setLeftDecoration(new JLabel(icon)); + ui.getBody().setRightDecoration(rightDecoration); - TuttiUIContext.getErrorHelper().showErrorDialog( - "Could not change to screen " + screen, e); - - // go back to home - context.setScreen(TuttiScreen.SELECT_CRUISE); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -59,7 +59,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiUIContext context = getContext(); TuttiApplicationConfig config = context.getConfig(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ValidateSelectedCruiseCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -54,12 +54,12 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isCruiseFilled()); getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); - getContext().setScreen(null); +// getContext().setScreen(null); if (log.isInfoEnabled()) { - log.info("Validate catches of cruise: "+getContext().getCruiseId()); + log.info("Validate catches of cruise: " + getContext().getCruiseId()); } super.doAction(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -54,7 +54,7 @@ * Otherwise, the screen changes to the home. */ @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiUIContext context = getContext(); EditCruiseUIModel model = getModel(); PersistenceService persistenceService = @@ -73,15 +73,6 @@ context.setProgramId(saved.getProgram().getId()); context.setCruiseId(saved.getId()); - - //TODO-TC Make this works again but in another manner -// TuttiScreen nextScreen; -// if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) { -// nextScreen = (TuttiScreen) event.getSource(); -// } else { -// nextScreen = TuttiScreen.SELECT_CRUISE; -// } -// context.setScreen(nextScreen); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -58,7 +58,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); if (doAction) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -59,7 +59,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiApplicationConfig config = getContext().getConfig(); File current = config.getDataDirectory(); @@ -89,7 +89,7 @@ getContext().setDbExist(true); // open db - new OpenDbAction(getHandler()).performAndReleaseAction(); + runAction(new OpenDbAction(getHandler())); } } \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/CloneProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -59,7 +59,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProtocolFilled()); if (log.isInfoEnabled()) { log.info("Clone protocol: " + getContext().getProtocolId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/DeleteProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -52,12 +52,12 @@ "delete", _("tutti.action.deleteProtocol"), _("tutti.action.deleteProtocol.tip"), - true + false ); } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean result = super.prepareAction(); TuttiProtocol protocol = getHandler().getModel().getProtocol(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -56,7 +56,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProgramFilled()); Preconditions.checkState(getContext().isCruiseFilled()); if (log.isInfoEnabled()) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -50,7 +50,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProgramFilled()); Preconditions.checkState(getContext().isCruiseFilled()); super.doAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProgramAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -55,7 +55,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProgramFilled()); if (log.isInfoEnabled()) { log.info("Edit program: " + getContext().getProgramId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/EditProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -55,7 +55,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProtocolFilled()); if (log.isInfoEnabled()) { log.info("Edit protocol: " + getContext().getProtocolId()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ImportProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -66,7 +66,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); @@ -91,7 +91,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkNotNull(file); if (log.isInfoEnabled()) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewCruiseAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -49,7 +49,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { getContext().setCruiseId(null); super.doAction(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProgramAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -49,7 +49,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { getContext().setProgramId(null); getContext().setCruiseId(null); super.doAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/NewProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -49,7 +49,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { getContext().setProtocolId(null); super.doAction(); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -110,7 +110,8 @@ } List<TuttiProtocol> protocols = - Lists.newArrayList(persistenceService.getAllProtocol()); + persistenceService.getAllProtocol(); +// Lists.newArrayList(persistenceService.getAllProtocol()); model.setProtocols(protocols); if (protocols.isEmpty()) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ValidateCatchesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -57,7 +57,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { Preconditions.checkState(getContext().isProgramFilled()); Preconditions.checkState(getContext().isCruiseFilled()); getContext().setValidationContext(TuttiUIContext.VALIDATION_CONTEXT_VALIDATE); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/CancelEditFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -99,7 +99,7 @@ } // cancel to create a new fishingOperation action.setFishingOperation(null); - action.performAndReleaseAction(); + runAction(action); } else { @@ -110,7 +110,7 @@ // re-edit current fishing operation (but do not perform any check) action.setCheckPreviousEdit(false); action.setFishingOperation(getModel().getFishingOperation()); - action.performAndReleaseAction(); + runAction(action); } // // if called directly from the EditFishingOperationUIHandler: 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -202,7 +202,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean canContinue = super.prepareAction(); if (canContinue && checkPreviousEdit) { FishingOperationsUI ui = getUI(); @@ -259,12 +259,12 @@ // persist previous fishing operation if (fishingOperationModified) { getSaveFishingOperationAction().setUpdateUI(false); - getSaveFishingOperationAction().performAndReleaseAction(); + runAction(getSaveFishingOperationAction()); } if (catchBatchModified) { getSaveCatchBatchAction().setUpdateUI(false); - getSaveCatchBatchAction().performAndReleaseAction(); + runAction(getSaveCatchBatchAction()); } canContinue = true; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -32,6 +32,7 @@ import fr.ifremer.tutti.ui.swing.util.AbstractTuttiTabContainerUIHandler; import fr.ifremer.tutti.ui.swing.util.CloseableUI; import fr.ifremer.tutti.ui.swing.util.TuttiUI; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -143,7 +144,8 @@ operation.setCruise(cruise); } editFishingOperationAction.setFishingOperation(operation); - editFishingOperationAction.performAndReleaseAction(); + AbstractTuttiAction.runAction(editFishingOperationAction); + // getModel().setEditFishingOperation(operation); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/ImportCasinoAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -29,8 +29,6 @@ import static org.nuiton.i18n.I18n._; /** - * TODO - * * @author tchemit <chemit@codelutin.com> * @since 1.0 */ Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/SaveFishingOperationAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -80,17 +80,9 @@ super.releaseAction(); } - /** - * If the event source is an EditFishingOperationUIHandler, - * then the tab panel of the parent switch to the index set - * in the ID param of the event. - * If the event source is a TuttiScreen, then the screen changes to the source. - */ @Override - protected void doAction() { + protected void doAction() throws Exception { - EditFishingOperationUIHandler handler = getHandler(); - TuttiBeanMonitor<EditFishingOperationUIModel> monitor = handler.getFishingOperationMonitor(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -25,6 +25,7 @@ * #L% */ +import fr.ifremer.tutti.TuttiBusinessException; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel; @@ -59,6 +60,11 @@ false); } + //FIXME Non, y'a des trucs qui vont pas du tout + //FIXME 1) eviter de faire des repaint (surtout dans ce thread) + //FIXME 2) pas gestion à la mimine des exceptions avec un new Exception(XXX) c moche :( + //FIXME 3) le releaseAction c'est pas trop le moment pour envoyer des exception non plus :( + @Override protected void doAction() throws Exception { EditCatchesUIModel model = getModel(); @@ -104,6 +110,10 @@ } } + if (errorMessage!=null) { + throw new TuttiBusinessException(errorMessage); + } + } //------------------------------------------------------------------------// @@ -269,7 +279,7 @@ // if the weight of the frequencies is different from the category // weight, then set the weight of the sample - if (categoryWeight != null && frequencyWeight > categoryWeight) { + if (frequencyWeight > categoryWeight) { errorMessage = _("tutti.action.computeWeights.error.incoherentCategoryWeight"); } else if (rowWeight == null) { @@ -292,14 +302,14 @@ return result; } - @Override - protected void releaseAction() { - if (errorMessage != null) { - error = new Exception(errorMessage); - } else { - super.releaseAction(); - } - errorMessage = null; - } +// @Override +// protected void releaseAction() { +// if (errorMessage != null) { +// error = new Exception(errorMessage); +// } else { +// super.releaseAction(); +// } +// errorMessage = null; +// } } 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ImportPupitriAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -29,8 +29,6 @@ import static org.nuiton.i18n.I18n._; /** - * TODO - * * @author tchemit <chemit@codelutin.com> * @since 1.0 */ Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -72,10 +72,8 @@ } @Override - public void doAction() { + public void doAction() throws Exception { - EditCatchesUIHandler handler = getHandler(); - TuttiBeanMonitor<EditCatchesUIModel> monitor = handler.getCatchBatchMonitor(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateMelagAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -63,7 +63,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean result = super.prepareAction(); int[] selectedRowIndexes = handler.getTable().getSelectedRows(); @@ -174,7 +174,7 @@ @Override protected void releaseAction() { super.releaseAction(); - //TODO-TC No release action is not design to refresh ui... + //FIXME-TC No release action is not design to refresh ui... getHandler().getTable().repaint(); selectedRows.clear(); melagWeight = null; 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesBatchAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -64,13 +64,11 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiPersistence persistenceService = getContext().getPersistenceService(); - SpeciesBatchUIHandler handler = getHandler(); - JXTable table = handler.getTable(); int rowIndex = table.getSelectedRow(); @@ -96,7 +94,7 @@ table.setRowSelectionInterval(parentIndex, parentIndex); // remove all his children - removeSpeciesSubBatchAction.performAndReleaseAction(); + runAction(removeSpeciesSubBatchAction); } else { @@ -128,7 +126,7 @@ // refresh table from parent batch row index to the end tableModel.fireTableDataChanged(); - + if (table.isEditing()) { // but no edit it 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RemoveSpeciesSubBatchAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,13 +60,11 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiPersistence persistenceService = getContext().getPersistenceService(); - SpeciesBatchUIHandler handler = getHandler(); - JXTable table = handler.getTable(); int rowIndex = table.getSelectedRow(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/RenameSpeciesBatchAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean result = super.prepareAction(); SpeciesBatchUIHandler handler = getHandler(); @@ -92,8 +92,7 @@ } @Override - protected void doAction() { - SpeciesBatchUIHandler handler = getHandler(); + protected void doAction() throws Exception { SpeciesBatchTableModel tableModel = handler.getTableModel(); JXTable table = handler.getTable(); 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/AddSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -35,7 +35,6 @@ import java.util.List; import java.util.Map; -import javax.swing.JOptionPane; import static org.nuiton.i18n.I18n._; @@ -71,7 +70,7 @@ } @Override - protected void doAction() throws InterruptedException { + protected void doAction() throws Exception { CreateSpeciesBatchUIModel model = getModel(); List<Species> availableSpecies = Lists.newArrayList(model.getAvailableSpecies()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/AbstractCaracteristicTabUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -72,7 +72,6 @@ @Override protected boolean isRowValid(RM row) { - //TODO return row.getValue() != null; } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -65,11 +65,11 @@ @Override public void beforeInitUI() { - EditProgramUIModel model = new EditProgramUIModel(); + EditProgramUIModel model = null; +// EditProgramUIModel model = new EditProgramUIModel(); - //TODO 20130206 kmorin put the programs loaded in the home screen in a - //kind of context to avoid loading the programs again - List<Program> programs = Lists.newArrayList(persistenceService.getAllProgram()); + List<Program> programs = + Lists.newArrayList(persistenceService.getAllProgram()); model.setExistingPrograms(programs); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/SaveProgramAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -58,7 +58,7 @@ * Otherwise, the screen changes to the home. */ @Override - protected void doAction() { + protected void doAction() throws Exception { TuttiUIContext context = getContext(); PersistenceService persistenceService = getContext().getPersistenceService(); @@ -76,15 +76,6 @@ } context.setProgramId(saved.getId()); - - //TODO-TC Make this work again but in another manner -// TuttiScreen nextScreen; -// if (event.getSource().getClass().isAssignableFrom(TuttiScreen.class)) { -// nextScreen = (TuttiScreen) event.getSource(); -// } else { -// nextScreen = TuttiScreen.SELECT_CRUISE; -// } -// context.setScreen(nextScreen); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/AddSpeciesProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -51,7 +51,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { EditProtocolUI ui = getUI(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportAllCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ExportProtocolSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -63,7 +63,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolCaracteristicAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/ImportProtocolSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -63,7 +63,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/RemoveSpeciesProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -55,7 +55,7 @@ } @Override - protected void doAction() { + protected void doAction() throws Exception { int rowIndex = handler.getTable().getSelectedRow(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SaveProtocolAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -64,7 +64,7 @@ * Otherwise, the screen changes to the home. */ @Override - protected void doAction() { + protected void doAction()throws Exception { EditProtocolUIModel model = getModel(); TuttiUIContext context = getContext(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/SelectOtherSpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -59,7 +59,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean result = super.prepareAction(); if (result) { EditProtocolUIModel model = getModel(); @@ -84,7 +84,7 @@ } @Override - protected void doAction() { + protected void doAction()throws Exception { String decoratedSynonym = decorate(selectedSpecies); String taxonId = String.valueOf(selectedSpecies.getReferenceTaxonId()); selectedSpecies = getModel().getAllReferentSpeciesByTaxonId().get(taxonId); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryGearExampleAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryPersonExampleAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -62,7 +62,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporarySpeciesExampleAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ExportTemporaryVesselExampleAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -61,7 +61,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryGearAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryPersonAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporarySpeciesAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/referential/ImportTemporaryVesselAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -60,7 +60,7 @@ } @Override - protected boolean prepareAction() { + protected boolean prepareAction()throws Exception { boolean doAction = super.prepareAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/ActionListCellRenderer.java 2013-03-07 09:06:54 UTC (rev 557) @@ -32,8 +32,6 @@ import java.awt.Component; /** - * TODO - * * @author tchemit <chemit@codelutin.com> * @since 1.0 */ Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiErrorHelper.java 2013-03-07 09:06:54 UTC (rev 557) @@ -35,7 +35,7 @@ import static org.nuiton.i18n.I18n._; /** - * TODO + * helper around errors in Tutti. * * @author tchemit <chemit@codelutin.com> * @since 1.0 Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -25,10 +25,11 @@ */ import fr.ifremer.tutti.TuttiTechnicalException; -import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.util.action.TuttiActionException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -48,23 +49,6 @@ private static final Log log = LogFactory.getLog(TuttiExceptionHandler.class); - public static class TuttiActionException extends RuntimeException { - - private static final long serialVersionUID = 1L; - - private final AbstractTuttiAction action; - - public TuttiActionException(AbstractTuttiAction action, - Throwable cause) { - super(cause); - this.action = action; - } - - public AbstractTuttiAction getAction() { - return action; - } - } - @Override public void uncaughtException(Thread t, Throwable ex) { handleException(t.getName(), ex); 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-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/AbstractTuttiAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -58,7 +58,7 @@ protected final boolean hideBody; - protected Throwable error; +// protected Throwable error; protected final Object lock = new Object(); @@ -76,7 +76,7 @@ this.hideBody = hideBody; } - protected boolean prepareAction() { + protected boolean prepareAction() throws Exception { // by default nothing to prepare return true; } @@ -85,20 +85,17 @@ // by default nothing to clean } - public final void performAndReleaseAction() { - try { - performAction(); - } finally { - releaseAction(); - } + public void doAfterAction(Throwable error) { + // by default nothing to do after action } - protected void performAction() { - error = null; + public static void runAction(AbstractTuttiAction action) { try { - doAction(); + action.doAction(); } catch (Throwable e) { - this.error = e; + throw TuttiActionException.propagateError(action, e); + } finally { + action.releaseAction(); } } @@ -156,14 +153,14 @@ return getDecorator(object.getClass(), null).toString(object); } - public boolean isFailed() { - return error != null; - } +// public boolean isFailed() { +// return error != null; +// } +// +// public Throwable getError() { +// return error; +// } - public Throwable getError() { - return error; - } - protected void test(final Runnable r) throws InterruptedException { SwingUtilities.invokeLater(new Runnable() { @@ -189,7 +186,7 @@ protected void block() { try { - synchronized (lock) { + synchronized (this) { lock.wait(); } } catch (Exception e) { @@ -199,8 +196,8 @@ protected void unblock() { try { - synchronized (lock) { - lock.notify(); + synchronized (this) { + lock.notifyAll(); } } catch (Exception e) { e.printStackTrace(); Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java 2013-03-07 09:06:54 UTC (rev 557) @@ -0,0 +1,58 @@ +package fr.ifremer.tutti.ui.swing.util.action; + +/* + * #%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% + */ + +/** + * To boxe any error of a {@link AbstractTuttiAction}. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.1 + */ +public class TuttiActionException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + private final AbstractTuttiAction action; + + public TuttiActionException(AbstractTuttiAction action, Throwable cause) { + super(cause); + this.action = action; + } + + public static TuttiActionException propagateError(AbstractTuttiAction action, + Throwable cause) { + TuttiActionException result; + if (cause instanceof TuttiActionException) { + result = ((TuttiActionException)cause); + } else { + result = new TuttiActionException(action, cause); + } + return result; + } + + public AbstractTuttiAction getAction() { + return action; + } +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionException.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -25,8 +25,8 @@ */ import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.MainUI; -import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import jaxx.runtime.validator.swing.SwingValidator; import org.apache.commons.logging.Log; @@ -123,7 +123,7 @@ if (log.isDebugEnabled()) { log.debug("Action to use: " + action); } - if (action == null || action.isFailed()) { + if (action == null) { // stoping action hideAction(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiUIAction.java 2013-03-07 09:06:54 UTC (rev 557) @@ -25,7 +25,6 @@ */ import fr.ifremer.tutti.ui.swing.content.MainUI; -import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,6 +38,10 @@ import java.awt.event.ActionEvent; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * Abstract tutti ui action which launch a {@link AbstractTuttiAction}. @@ -61,19 +64,15 @@ private static final Timer t = new Timer(); /** - * To deal with errors. - * - * @since 1.0.2 - */ - private static final TuttiExceptionHandler exceptionHandler = new TuttiExceptionHandler(); - - /** * Logic Action to perform. * * @since 1.0.2 */ protected final A action; + public static final ExecutorService waitingThread = + Executors.newSingleThreadExecutor(); + public TuttiUIAction(A action) { this.action = action; @@ -97,8 +96,15 @@ } // prepare action - boolean doAction = action.prepareAction(); + boolean doAction; + try { + doAction = action.prepareAction(); + } catch (Exception e) { + action.releaseAction(); + throw TuttiActionException.propagateError(action, e); + } + if (doAction) { final TuttiActionSwingWorker<A> worker = @@ -120,10 +126,37 @@ // perform and release action worker.execute(); - if (log.isInfoEnabled()) { - log.info("After execute of action " + action); - } + // wait until action is done + waitingThread.execute( + new Runnable() { + @Override + public void run() { + try { + if (log.isInfoEnabled()) { + log.info("Log to death!"); + } + worker.get(); + } catch (ExecutionException e) { + // don't care . + } catch (CancellationException e) { + // dont care ? + + } catch (InterruptedException e) { + // don't care ? + } + if (log.isInfoEnabled()) { + log.info("After execute of action " + action + " (worker done? " + worker.isDone() + ")"); + } + + if (worker.isFailed()) { + + throw TuttiActionException.propagateError(action, worker.getError()); + } + } + } + ); + } else { // release action @@ -135,18 +168,43 @@ // putValue(MNEMONIC_KEY, key); // } + protected static class TuttiActionSwingWorker<A extends AbstractTuttiAction> extends SwingWorker<Void, String> { protected final TuttiActionUI actionUI; protected final A action; + protected Throwable error; + protected TimerTask timer; protected TuttiActionSwingWorker(A action) { this.action = action; this.actionUI = action.getContext().getActionUI(); + +// addPropertyChangeListener(new PropertyChangeListener() { +// @Override +// public void propertyChange(PropertyChangeEvent evt) { +// if (evt.getPropertyName().equals("state")) { +// StateValue newValue = (StateValue) evt.getNewValue(); +// if (StateValue.DONE == newValue) { +// +// // close any ui resource +// +// if (timer != null) { +// +// timer.cancel(); +// } +// +// updateBusyState(false); +// +// actionUI.close(); +// } +// } +// } +// }); } @Override @@ -170,7 +228,6 @@ } actionUI.open(action); - } } }; @@ -179,8 +236,13 @@ try { - action.performAction(); + action.doAction(); + } catch (Throwable e) { + if (log.isErrorEnabled()) { + log.error("Task [" + this + "] Error while doAction: ", e); + } + error = e; } finally { if (log.isInfoEnabled()) { log.info("Task [" + this + "] done"); @@ -196,8 +258,13 @@ protected void done() { super.done(); - // close timer + if (log.isInfoEnabled()) { + log.info("Task [" + this + "] execute done method after all"); + } + // user after action call + action.doAfterAction(error); + if (timer != null) { timer.cancel(); @@ -206,11 +273,6 @@ actionUI.close(); updateBusyState(false); - - if (action.isFailed()) { - - exceptionHandler.handle(new TuttiExceptionHandler.TuttiActionException(action, action.getError())); - } } protected void updateBusyState(boolean busy) { @@ -237,5 +299,13 @@ } } + + public Throwable getError() { + return error; + } + + public boolean isFailed() { + return error != null; + } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java 2013-03-06 22:07:26 UTC (rev 556) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/SimpleTimeEditorHandler.java 2013-03-07 09:06:54 UTC (rev 557) @@ -38,10 +38,8 @@ import java.util.Date; /** - * TODO - * * @author tchemit <chemit@codelutin.com> - * @since TODO + * @since 0.3 */ public class SimpleTimeEditorHandler {
participants (1)
-
tchemit@users.forge.codelutin.com