Class MovePlanServiceImpl

    • Constructor Detail

      • MovePlanServiceImpl

        public MovePlanServiceImpl()
    • Method Detail

      • validatePlanKeysAndNamesForProject

        public void validatePlanKeysAndNamesForProject​(com.atlassian.struts.ValidationAware validationAware,
                                                       Project project,
                                                       Map<String,​String> planKeyMappings,
                                                       Map<String,​String> planNameMappings)
        Description copied from interface: MovePlanService
        Validates a list of plan names and keys against a single project. Ensures that the plan names and keys don't conflict with each other or any existing plans/branches in the project.
        Specified by:
        validatePlanKeysAndNamesForProject in interface MovePlanService
        Parameters:
        validationAware - - to add errors to
        project - - project to validate plans against
        planKeyMappings - - Map of a temporary index to plan key, of plans to validate
        planNameMappings - - Map of a temporary index to plan name, of plans to validate
      • validateUsageOfProjectResources

        public void validateUsageOfProjectResources​(@NotNull
                                                    @NotNull com.atlassian.struts.ValidationAware validationAware,
                                                    Collection<TopLevelPlan> plans)
        Description copied from interface: MovePlanService
        Validate if source plans don't use project repositories or shared credentials.
        Specified by:
        validateUsageOfProjectResources in interface MovePlanService
        Parameters:
        validationAware - - to add errors to
        plans - - source plans
      • movePlansToProject

        public Map<PlanKey,​PlanKey> movePlansToProject​(Collection<TopLevelPlan> plans,
                                                             Project newProject,
                                                             Map<String,​String> planIdMappings,
                                                             Map<String,​String> planKeyMappings,
                                                             Map<String,​String> planNameMappings)
                                                      throws MovePlansException
        Description copied from interface: MovePlanService
        Moves a list of plans to a new project. Assumes plan Key and name validation already complete.
        Specified by:
        movePlansToProject in interface MovePlanService
        Parameters:
        plans - to move
        newProject - to move to
        planIdMappings - temporary index/id for each plan to move
        planKeyMappings - temporary index/key for each plan to move (may be the same or new but must be already validated)
        planNameMappings - temporaryindex/name for each plan to move (may be the same or new but must be already validated)
        Returns:
        Map of oldKey to newKey for all plans moved
        Throws:
        MovePlansException - if a plan move fails. Plans previously moved will not be rolled back, all future plans to be moved will be aborted. The map of oldKey to newKey of already moved plans can be found in the Exception.