diff --git a/src/main/java/org/generationcp/ibpworkbench/study/tree/StudyTreeDragAndDropHandler.java b/src/main/java/org/generationcp/ibpworkbench/study/tree/StudyTreeDragAndDropHandler.java index 1b826e6dd8..6ec7348603 100644 --- a/src/main/java/org/generationcp/ibpworkbench/study/tree/StudyTreeDragAndDropHandler.java +++ b/src/main/java/org/generationcp/ibpworkbench/study/tree/StudyTreeDragAndDropHandler.java @@ -72,25 +72,25 @@ protected boolean setParent(final Object sourceItemId, final Object targetItemId try { if (targetId != null && sourceId != null) { this.studyDataManager.moveDmsProject(sourceId.intValue(), targetId.intValue(), isStudy); + // apply to UI + if (targetItemId == null || this.targetTree.getItem(targetItemId) == null) { + this.targetTree.setChildrenAllowed(sourceItemId, true); + this.targetTree.setParent(sourceItemId, StudyTree.STUDY_ROOT_NODE); + this.targetTree.expandItem(StudyTree.STUDY_ROOT_NODE); + } else { + this.targetTree.setChildrenAllowed(targetItemId, true); + this.targetTree.setParent(sourceItemId, targetItemId); + this.targetTree.expandItem(targetItemId); + } + this.targetTree.select(sourceItemId); + return true; } } catch (final MiddlewareQueryException e) { StudyTreeDragAndDropHandler.LOG.error("Error with moving node to target folder.", e); - MessageNotifier.showError(this.targetTree.getWindow(), this.messageSource.getMessage(Message.ERROR_INTERNAL), - this.messageSource.getMessage(Message.ERROR_REPORT_TO)); - } - - // apply to UI - if (targetItemId == null || this.targetTree.getItem(targetItemId) == null) { - this.targetTree.setChildrenAllowed(sourceItemId, true); - this.targetTree.setParent(sourceItemId, StudyTree.STUDY_ROOT_NODE); - this.targetTree.expandItem(StudyTree.STUDY_ROOT_NODE); - } else { - this.targetTree.setChildrenAllowed(targetItemId, true); - this.targetTree.setParent(sourceItemId, targetItemId); - this.targetTree.expandItem(targetItemId); + MessageNotifier.showError(this.targetTree.getWindow(), this.messageSource.getMessage(Message.ERROR), + e.getMessage()); } - this.targetTree.select(sourceItemId); - return true; + return false; } public void setupTreeDragAndDropHandler() {