@Override void quickMigrate() throws GenericEntityException { workflowSchemeManager.replaceSchemeWithDraft(targetScheme); // Clear the active workflow name cache workflowSchemeManager.clearWorkflowCache(); copyAndDeleteDraftsForInactiveWorkflowsIn(targetScheme.getParentScheme()); }
@VisibleForTesting void assignSchemeToTemplate(StatefulTaskProgressSink migrationSink) throws GenericEntityException { WorkflowScheme sourceScheme = workflowSchemeManager.getWorkflowSchemeObj(project); assignSchemeToProjectTemplate(migrationSink); workflowSchemeManager.clearWorkflowCache(); copyAndDeleteDraftsForInactiveWorkflowsIn(sourceScheme); eventPublisher.publish(new WorkflowSchemeMigrationCompletedEvent(targetScheme)); }
private Project createProjectInternal(final CreateProjectValidationResult result, final Consumer<Project> projectConsumer) { if (result == null) { throw new IllegalArgumentException("You can not create a project with a null validation result."); } if (!result.isValid()) { throw new IllegalStateException("You can not create a project with an invalid validation result."); } if (result.getExistingProjectId().isPresent()) { ofNullable(projectManager.getProjectObj(result.getExistingProjectId().get())).orElseThrow(() -> new IllegalStateException("Existing project could not be found.")); } final ApplicationUser user = result.getUser(); final ProjectCreationData projectCreationData = result.getProjectCreationData(); final Project newProject = projectManager.createProject(user, new ProjectCreationData.Builder() .from(projectCreationData) .withKey(projectCreationData.getKey().toUpperCase()) .withLead(projectCreationData.getLead()) .withAssigneeType(effectiveAssigneeType(projectCreationData.getAssigneeType())) .build()); projectConsumer.accept(newProject); // Refresh the workflow cache workflowSchemeManager.clearWorkflowCache(); notifyHandlersOfProjectCreated(user, newProject, result); projectEventManager.dispatchProjectCreated(user, newProject); return newProject; }
workflowSchemeManager.clearWorkflowCache(); copyAndDeleteDraftsForInactiveWorkflowsIn(targetScheme.getParentScheme());
workflowSchemeManager.clearWorkflowCache(); workflowManager.copyAndDeleteDraftsForInactiveWorkflowsIn(user, workflowsAssociatedToProject);