import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.editor.IDescriptiveDataSetEditor;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.event.EventUtility;
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
*
*/
public class DescriptiveDataSetEditor implements IE4SavablePart, IConversationEnabled, ICdmEntitySessionEnabled,
-IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
+IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable, IDescriptiveDataSetEditor {
private DescriptiveDataSetComposite composite;
cdmEntitySession = null;
}
dirty.setDirty(false);
+ selectionService.setSelection(null);
}
@Focus
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
import org.eclipse.jface.viewers.IStructuredSelection;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.DescriptiveDataSetNavigator;
import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.store.CdmStore;
public class DeleteDescriptiveDataSetHandler {
+ protected EPartService partService;
- @Execute
+ @Execute
public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
- @Named(IServiceConstants.ACTIVE_PART)MPart activePart) {
+ @Named(IServiceConstants.ACTIVE_PART)MPart activePart, EPartService partService) {
boolean confirm = MessagingUtils.confirmDialog(Messages.DeleteDescriptiveDataSetHandler_DELETE_TITLE, Messages.DeleteDescriptiveDataSetHandler_DELETE_MESSAGE);
+ this.partService = partService;
Object object = activePart.getObject();
if(!selection.isEmpty() && confirm && object instanceof DescriptiveDataSetNavigator){
Iterator iterator = selection.iterator();
DescriptiveDataSetNavigator navigator = (DescriptiveDataSetNavigator) object;
navigator.removeDescriptiveDataSet((DescriptiveDataSet) next);
navigator.getConversationHolder().commit();
+ navigator.getSelService().setSelection(null);
+
}
else{
MessagingUtils.errorDialog(Messages.DeleteDescriptiveDataSetHandler_DELETE_FAILED_TITLE, DeleteDescriptiveDataSetHandler.class, Messages.DeleteDescriptiveDataSetHandler_DELETE_FAILED_MESSAGE, TaxeditorEditorPlugin.PLUGIN_ID, null, false);
}
private void deleteDescriptiveDataSet(UUID descriptiveDataSetUuid){
+ EditorUtil.closeObsoleteDescriptiveDatasetEditor(descriptiveDataSetUuid, partService);
UUID monitorUuid = CdmApplicationState.getLongRunningTasksService().deleteDescriptiveDataset(descriptiveDataSetUuid);
String jobLabel = "Delete descriptive dataset";
.collect(Collectors.joining("\n"))));
}
+
}
} catch (InterruptedException e) {
return;
}
+
+
}
\ No newline at end of file