public class DefaultProjectImportService extends Object implements ProjectImportService
Constructor and Description |
---|
DefaultProjectImportService(PermissionManager permissionManager,
ProjectImportManager projectImportManager,
ProjectManager projectManager,
UserManager userManager,
IssueManager issueManager,
VersionManager versionManager,
ProjectComponentManager projectComponentManager,
com.atlassian.plugin.PluginAccessor pluginAccessor,
ApplicationProperties applicationProperties,
AttachmentManager attachmentManager,
AttachmentPathManager attachmentPathManager,
UpgradeConstraints upgradeConstraints,
com.atlassian.event.api.EventPublisher eventPublisher,
ProjectTypeValidator projectTypeValidator) |
Modifier and Type | Method and Description |
---|---|
ProjectImportResults |
doImport(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation,
ProjectImportData projectImportData,
TaskProgressInterval taskProgressInterval)
Imports the passed in project using the provided, populated and validated, project import mapper.
|
MappingResult |
doMapping(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
ProjectImportData projectImportData,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation,
TaskProgressInterval taskProgressInterval)
Will use the initial data in the ProjectImportData to perform automappings based on the current state of JIRA
and then will validate those mappings.
|
BackupOverview |
getBackupOverview(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
TaskProgressSink taskProgressSink)
Returns a BackupOverview object containing the overview of information from the backup file if the backup files
build number and edition match those of the running instance of JIRA.
|
ProjectImportData |
getProjectImportData(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation,
TaskProgressInterval taskProgressInterval)
Makes a pass through the provided JIRA ZIP backup data and creates a ProjectImportMapper and partitions the XML
data for the project.
|
MessageSet |
preProcessAoImportData(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation,
TaskProgressInterval taskProgressInterval)
Makes a pass through the provided AO XML backup data and partitions the XML allowing plugins to process listen to
each element as it passes,
|
MessageSet |
validateBackupProjectImportableSystemLevel(JiraServiceContext jiraServiceContext,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation)
Returns a MessageSet which reports if the provided BackupProject meets the JIRA system requirements
to be imported.
|
void |
validateDoMapping(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions,
BackupProject backupProject,
BackupSystemInformation backupSystemInformation)
Validates if the user has permission to create a project import mapper and partition the input data and if the
provided path's and backup project exist.
|
void |
validateGetBackupOverview(JiraServiceContext jiraServiceContext,
ProjectImportOptions projectImportOptions)
Validates if the user has permission to start a project import and if the provided path's exist.
|
public DefaultProjectImportService(PermissionManager permissionManager, ProjectImportManager projectImportManager, ProjectManager projectManager, UserManager userManager, IssueManager issueManager, VersionManager versionManager, ProjectComponentManager projectComponentManager, com.atlassian.plugin.PluginAccessor pluginAccessor, ApplicationProperties applicationProperties, AttachmentManager attachmentManager, AttachmentPathManager attachmentPathManager, UpgradeConstraints upgradeConstraints, com.atlassian.event.api.EventPublisher eventPublisher, ProjectTypeValidator projectTypeValidator)
public void validateGetBackupOverview(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions)
ProjectImportService
validateGetBackupOverview
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- user inputted options that contains the pathToBackupZIP, the fully qualified path, on the server, to the
JIRA ZIP backup file that will be used to provide the data for a project import, this must not be null
and must resolve to a valid JIRA ZIP backup file. This also contains the pathToAttachmentBackup which
is the fully qualified path, on the server, to the backed-up JIRA attachments
directory that will be used to import project data. This is an optional parameter, if a backup attachment
path is not provided this should be null. If non-null then this must resolve to a valid directory that@Nullable public BackupOverview getBackupOverview(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, TaskProgressSink taskProgressSink)
ProjectImportService
If the optional parameter taskProgressSink is provided, then it is used to send information about the progress of this operation. This is used for the "Long Running Task" progress bar.
getBackupOverview
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- user inputed options that contains the pathToBackupZIP, the fully qualified path, on the server, to the
JIRA ZIP backup file that will be used to provide the data for a project import, this must not be null
and must resolve to a valid JIRA ZIP backup file. This also contains the pathToAttachmentBackup which
is the fully qualified path, on the server, to the backed-up JIRA attachments
directory that will be used to import project data. This is an optional parameter, if a backup attachment
path is not provided this should be null. If non-null then this must resolve to a valid directory thattaskProgressSink
- Used to provide progress feedback, can be null.public MessageSet validateBackupProjectImportableSystemLevel(JiraServiceContext jiraServiceContext, BackupProject backupProject, BackupSystemInformation backupSystemInformation)
ProjectImportService
This method will return errors if:
validateBackupProjectImportableSystemLevel
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user). The error collection will contain the same information
as the error messages in the returned MessageSet.backupProject
- the BackupProject we want validatebackupSystemInformation
- system-wide info form the backup file.public void validateDoMapping(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, BackupProject backupProject, BackupSystemInformation backupSystemInformation)
ProjectImportService
validateDoMapping
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- User options for the project import, including the pathToBackupZIP, attachmentPath, and "overwriteProjectDetails" flag.backupProject
- the backup project we want to create a ProjectImportMapper for and partition thebackupSystemInformation
- system-wide info form the backup file.public MappingResult doMapping(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, ProjectImportData projectImportData, BackupProject backupProject, BackupSystemInformation backupSystemInformation, TaskProgressInterval taskProgressInterval)
ProjectImportService
NOTE: The import should not be allowed to proceed if MappingResult.canImport()
is false.
doMapping
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- User options for the project import, including the pathToBackupZIP, attachmentPath, and "overwriteProjectDetails" flag.projectImportData
- which holds the initial projectImportMapper and the partitioned XML file paths for the project XML data that was partitioned from the main XML backup.backupProject
- the backup project we want to create a ProjectImportMapper for and partition the
JIRA XML data.backupSystemInformation
- system-wide info form the backup file.taskProgressInterval
- Used to provide progress feedback, can be null.public MessageSet preProcessAoImportData(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, BackupProject backupProject, BackupSystemInformation backupSystemInformation, TaskProgressInterval taskProgressInterval)
ProjectImportService
preProcessAoImportData
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- User options for the project import, including the pathToBackupZIP, attachmentPath, and "overwriteProjectDetails" flag.backupProject
- the backup project we want to create a ProjectImportMapper for and partition the
JIRA XML data.backupSystemInformation
- system-wide info form the backup file.taskProgressInterval
- Used to provide progress feedback, can be null.public ProjectImportResults doImport(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, BackupProject backupProject, BackupSystemInformation backupSystemInformation, ProjectImportData projectImportData, TaskProgressInterval taskProgressInterval)
ProjectImportService
This method will create/update the project, versions, components, role membership, as needed and will then import the issues and all their related values. This will also cause the project that is being imported to be reIndexed.
NOTE: this method does NO validation of the project import mapper. This method must only be called with a project
import mapper that has been returned from
ProjectImportService.doMapping(com.atlassian.jira.bc.JiraServiceContext, com.atlassian.jira.imports.project.core.ProjectImportOptions, com.atlassian.jira.imports.project.core.ProjectImportData, com.atlassian.jira.imports.project.core.BackupProject, com.atlassian.jira.imports.project.core.BackupSystemInformation, com.atlassian.jira.imports.project.taskprogress.TaskProgressInterval)
without any errors being generated.
doImport
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- User options for the project import, including the pathToBackupZIP, attachmentPath, and "overwriteProjectDetails" flag.backupProject
- the backup project we want to create a ProjectImportMapper for and partition the
JIRA XML data.backupSystemInformation
- system-wide info form the backup file.projectImportData
- contains the projectImportMapper, that has been through the automatic mapping and validation process, and the
path, on disk, to the partitioned xml files.taskProgressInterval
- Used to provide progress feedback, can be null.public ProjectImportData getProjectImportData(JiraServiceContext jiraServiceContext, ProjectImportOptions projectImportOptions, BackupProject backupProject, BackupSystemInformation backupSystemInformation, TaskProgressInterval taskProgressInterval)
ProjectImportService
getProjectImportData
in interface ProjectImportService
jiraServiceContext
- containing the user who the permission checks will be run against (can be null,
indicating an anonymous user) and the errorCollection that will contain any errors in calling the methodprojectImportOptions
- User options for the project import, including the pathToBackupZIP, attachmentPath, and "overwriteProjectDetails" flag.backupProject
- the backup project we want to create a ProjectImportMapper for and partition the
JIRA XML data.backupSystemInformation
- system-wide info form the backup file.taskProgressInterval
- Used to provide progress feedback, can be null.Copyright © 2002-2019 Atlassian. All Rights Reserved.