@Component(value="squashtest.tm.service.deletion.TestCaseNodeDeletionHandler") @Transactional public class TestCaseNodeDeletionHandlerImpl extends AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder> implements TestCaseNodeDeletionHandler
| Constructor and Description |
|---|
TestCaseNodeDeletionHandlerImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected OperationReport |
batchDeleteNodes(List<Long> ids,
Long milestoneId)
Will delete the nodes identified by the ids parameter.
|
protected OperationReport |
batchUnbindFromMilestone(List<Long> ids,
Long milestoneId)
Will unbind the given nodes from the given milestone.
|
protected LockedFileInferenceGraph |
createCallTestCaseGraph(List<Long> candidatesId) |
void |
deleteStep(org.squashtest.tm.domain.testcase.TestCase owner,
org.squashtest.tm.domain.testcase.TestStep step) |
protected List<Long> |
detectLockedNodes(List<Long> nodeIds,
Long milestoneId)
Given a list of node ids, returns a sublist corresponding to the ids of the nodes which cannot be deleted according to the specs.
|
protected List<SuppressionPreviewReport> |
diagnoseSuppression(List<Long> nodeIds,
Long milestoneId)
Given their ids, that method should check the nodes and actually report the informations as specified in
NodeDeletionHandler#simulateDeletion(List). |
protected FolderDao<org.squashtest.tm.domain.testcase.TestCaseFolder,org.squashtest.tm.domain.testcase.TestCaseLibraryNode> |
getFolderDao()
The implemention should return which FolderDao to use depending on the end domain object.
|
protected NotDeletablePreviewReport |
previewLockedNodes(List<Long> nodeIds,
Long milestoneId) |
protected void |
reportExecutedTestCases(List<Long> nodeIds,
List<SuppressionPreviewReport> preview) |
protected void |
reportLocksByCallSteps(List<Long> nodeIds,
Long milestoneId,
List<SuppressionPreviewReport> preview) |
protected void |
reportLocksByMilestones(List<Long> nodeIds,
List<SuppressionPreviewReport> preview) |
protected void |
reportMultipleMilestoneBinding(List<Long> testCaseIds,
List<SuppressionPreviewReport> preview) |
protected void |
reportNoFoldersAllowed(List<Long> folderIds,
List<SuppressionPreviewReport> preview) |
createLockedFileInferenceTree, deleteNodes, findNodeHierarchy, findPairedNodeHierarchy, simulateDeletionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdeleteNodes, simulateDeletionprotected FolderDao<org.squashtest.tm.domain.testcase.TestCaseFolder,org.squashtest.tm.domain.testcase.TestCaseLibraryNode> getFolderDao()
AbstractNodeDeletionHandlergetFolderDao in class AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder>protected List<SuppressionPreviewReport> diagnoseSuppression(List<Long> nodeIds, Long milestoneId)
AbstractNodeDeletionHandlerGiven their ids, that method should check the nodes and actually report the informations as specified in NodeDeletionHandler#simulateDeletion(List).
See #detectLockedNodes(List) for details regarding the input list.
diagnoseSuppression in class AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder>nodeIds - the complete list of the nodes involved in that report.protected void reportMultipleMilestoneBinding(List<Long> testCaseIds, List<SuppressionPreviewReport> preview)
protected void reportNoFoldersAllowed(List<Long> folderIds, List<SuppressionPreviewReport> preview)
protected void reportExecutedTestCases(List<Long> nodeIds, List<SuppressionPreviewReport> preview)
protected void reportLocksByCallSteps(List<Long> nodeIds, Long milestoneId, List<SuppressionPreviewReport> preview)
protected void reportLocksByMilestones(List<Long> nodeIds, List<SuppressionPreviewReport> preview)
protected List<Long> detectLockedNodes(List<Long> nodeIds, Long milestoneId)
AbstractNodeDeletionHandlerGiven a list of node ids, returns a sublist corresponding to the ids of the nodes which cannot be deleted according to the specs. The input list includes all the nodes and their children in the directory structure. The implementation is responsible to fetch any other dependencies needed for the completion of its task. The implementation is not required to resolve which folders are locked : this abstract class will handle that on the basis of the returned value.
detectLockedNodes in class AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder>nodeIds - all the node ids.milestoneId - if not null, the milestone mode will apply to the locked node detection.protected OperationReport batchDeleteNodes(List<Long> ids, Long milestoneId)
AbstractNodeDeletionHandlerbatchDeleteNodes in class AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder>ids - the doomed node ids.milestoneId - if non null, the deletion will be peformed in milestone mode.protected OperationReport batchUnbindFromMilestone(List<Long> ids, Long milestoneId)
AbstractNodeDeletionHandlerbatchUnbindFromMilestone in class AbstractNodeDeletionHandler<org.squashtest.tm.domain.testcase.TestCaseLibraryNode,org.squashtest.tm.domain.testcase.TestCaseFolder>public void deleteStep(org.squashtest.tm.domain.testcase.TestCase owner,
org.squashtest.tm.domain.testcase.TestStep step)
deleteStep in interface TestCaseNodeDeletionHandlerprotected NotDeletablePreviewReport previewLockedNodes(List<Long> nodeIds, Long milestoneId)
protected LockedFileInferenceGraph createCallTestCaseGraph(List<Long> candidatesId)
Copyright © 2010-2015 Henix, henix.fr. All Rights Reserved.