- Node target = currParentNode.addNode(source.getName(), source\r
- .getPrimaryNodeType().getName());\r
- JcrUtils.copy(source, target);\r
- updatePassedStatus(target, target.getNode(SlcNames.SLC_STATUS)\r
- .getProperty(SlcNames.SLC_SUCCESS).getBoolean());\r
- target.getSession().save();\r
+\r
+ String name;\r
+ if (source.hasProperty(Property.JCR_TITLE))\r
+ name = source.getProperty(Property.JCR_TITLE).getString();\r
+ else if (source.hasProperty(SlcNames.SLC_TEST_CASE))\r
+ name = source.getProperty(SlcNames.SLC_TEST_CASE)\r
+ .getString();\r
+ else\r
+ name = source.getName();\r
+\r
+ // Check if a user defined folder result with same name exists\r
+ // at target\r
+ if (targetParentNode.hasNode(name)\r
+ && targetParentNode.getNode(name).isNodeType(\r
+ SlcTypes.SLC_RESULT_FOLDER)) {\r
+ ConfirmOverwriteWizard wizard = new ConfirmOverwriteWizard(\r
+ name, targetParentNode);\r
+ WizardDialog dialog = new WizardDialog(Display.getDefault()\r
+ .getActiveShell(), wizard);\r
+\r
+ if (dialog.open() == WizardDialog.CANCEL)\r
+ return true;\r
+\r
+ if (wizard.overwrite()) {\r
+ targetParentNode.getNode(name).remove();\r
+ // session.save();\r
+ } else\r
+ name = wizard.newName();\r
+ }\r
+\r
+ Node target;\r
+ boolean passedStatus = source.getNode(SlcNames.SLC_STATUS)\r
+ .getProperty(SlcNames.SLC_SUCCESS).getBoolean();\r
+ if (!isActionUnderMyResult) {// Copy\r
+ target = targetParentNode.addNode(source.getName(), source\r
+ .getPrimaryNodeType().getName());\r
+ JcrUtils.copy(source, target);\r
+ } else {// move\r
+ String sourcePath = source.getPath();\r
+ String destPath = targetParentNode.getPath() + "/" + name;\r
+ session.move(sourcePath, destPath);\r
+ // session.save();\r
+ // Update passed status of the parent source Node\r
+ ResultParentUtils.updatePassedStatus(\r
+ session.getNode(JcrUtils.parentPath(sourcePath)),\r
+ true);\r
+ target = session.getNode(destPath);\r
+\r
+ }\r
+ if (!target.isNodeType(NodeType.MIX_TITLE))\r
+ target.addMixin(NodeType.MIX_TITLE);\r
+ target.setProperty(Property.JCR_TITLE, name);\r
+ ResultParentUtils.updatePassedStatus(target.getParent(),\r
+ passedStatus);\r
+ session.save();\r