From: Cherian Mathew Date: Tue, 15 Sep 2015 10:11:19 +0000 (+0200) Subject: Merge branch 'develop' into remoting-4.0 X-Git-Tag: remoting-3.10.0~10 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/4ac90d615da900439ee877996d1c7528215211ba Merge branch 'develop' into remoting-4.0 Conflicts: eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java --- 4ac90d615da900439ee877996d1c7528215211ba diff --cc eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java index 836c953c9,ee6ef1021..59dee8496 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java @@@ -88,16 -109,63 +109,66 @@@ public class NewDerivedUnitBaseWizard e } } - /** {@inheritDoc} */ - @Override - protected void saveEntity() { - CdmStore.getService(IOccurrenceService.class).saveOrUpdate(getEntity()); - } ++ + /** {@inheritDoc} */ + @Override + protected void saveEntity() { + CdmStore.getService(IOccurrenceService.class).merge(getEntity()); + } + - @Override - protected String getEntityName() { - return "Specimen"; - } + + @Override + protected String getEntityName() { + return "Specimen"; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean performFinish() { + boolean performFinish = super.performFinish(); + int returnCode = IDialogConstants.NO_ID; + if (!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.PROMPT_FOR_OPEN_SPECIMEN_IN_EDITOR)){ + MessageDialogWithToggle messageDialog = MessageDialogWithToggle.openYesNoQuestion(getShell(), + "Choose opening option", "Do you want to open the specimen in the specimen editor?", + "Remember my decision?", false, PreferencesUtil.getPreferenceStore(), + IPreferenceKeys.ALWAYS_OPEN_SPECIMEN_IN_EDITOR); + returnCode = messageDialog.getReturnCode(); + PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.PROMPT_FOR_OPEN_SPECIMEN_IN_EDITOR, messageDialog.getToggleState()); + if (returnCode != IDialogConstants.YES_ID) { + return performFinish; + } + } + if (returnCode==IDialogConstants.YES_ID || + PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.ALWAYS_OPEN_SPECIMEN_IN_EDITOR) + .equals(MessageDialogWithToggle.ALWAYS)) { + IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class); + + // get the command from plugin.xml + IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + ICommandService cmdService = (ICommandService) window.getService(ICommandService.class); + Command command = cmdService.getCommand("eu.etaxonomy.taxeditor.editor.openSpecimenEditor"); + Map parameters = new HashMap(); + parameters.put("eu.etaxonomy.taxeditor.specimenUuidParameter", getEntity().getUuid()); + ParameterizedCommand parameterizedCommand = ParameterizedCommand.generateCommand(command, parameters); + ++ + // execute the command + try { + handlerService.executeCommand(parameterizedCommand, null); + } catch (ExecutionException e) { + MessagingUtils.error(DerivateSearchCompositeController.class, e); + } catch (NotDefinedException e) { + MessagingUtils.error(DerivateSearchCompositeController.class, e); + } catch (NotEnabledException e) { + MessagingUtils.error(DerivateSearchCompositeController.class, e); + } catch (NotHandledException e) { + MessagingUtils.error(DerivateSearchCompositeController.class, e); + } + } + return performFinish; + } }