com.atlassian.jira.bc.dataimport
Class DefaultDataImportService

java.lang.Object
  extended by com.atlassian.jira.bc.dataimport.DefaultDataImportService
All Implemented Interfaces:
DataImportService

public class DefaultDataImportService
extends Object
implements DataImportService

Since:
4.4
See Also:
for details about what this does.

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.bc.dataimport.DataImportService
DataImportService.ImportError, DataImportService.ImportResult, DataImportService.ImportValidationResult
 
Constructor Summary
DefaultDataImportService(DataImportProductionDependencies dependencies, PermissionManager permissionManager, JiraHome jiraHome, JiraLicenseUpdaterService jiraLicenseService, I18nHelper.BeanFactory beanFactory, OfBizDelegator ofBizDelegator, LicenseStringFactory licenseStringFactory, IndexPathManager indexPathManager, AttachmentPathManager attachmentPathManager, ExternalLinkUtil externalLinkUtil, ApplicationProperties applicationProperties, BuildUtilsInfo buildUtilsInfo, TaskManager taskManager, com.atlassian.mail.queue.MailQueue mailQueue, ComponentFactory factory, BuildVersionRegistry buildVersionRegistry, com.atlassian.event.spi.EventExecutorFactory eventExecutorFactory)
           
 
Method Summary
 DataImportService.ImportResult doImport(com.atlassian.crowd.embedded.api.User loggedInUser, DataImportService.ImportValidationResult result, TaskProgressSink taskProgressSink)
          Performs the actual import given a valid validation result.
 DataImportService.ImportValidationResult validateImport(com.atlassian.crowd.embedded.api.User loggedInUser, DataImportParams params)
          Given the currently loggedInUser and import params this method does some basic validation of the input.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultDataImportService

public DefaultDataImportService(DataImportProductionDependencies dependencies,
                                PermissionManager permissionManager,
                                JiraHome jiraHome,
                                JiraLicenseUpdaterService jiraLicenseService,
                                I18nHelper.BeanFactory beanFactory,
                                OfBizDelegator ofBizDelegator,
                                LicenseStringFactory licenseStringFactory,
                                IndexPathManager indexPathManager,
                                AttachmentPathManager attachmentPathManager,
                                ExternalLinkUtil externalLinkUtil,
                                ApplicationProperties applicationProperties,
                                BuildUtilsInfo buildUtilsInfo,
                                TaskManager taskManager,
                                com.atlassian.mail.queue.MailQueue mailQueue,
                                ComponentFactory factory,
                                BuildVersionRegistry buildVersionRegistry,
                                com.atlassian.event.spi.EventExecutorFactory eventExecutorFactory)
Method Detail

validateImport

public DataImportService.ImportValidationResult validateImport(com.atlassian.crowd.embedded.api.User loggedInUser,
                                                               DataImportParams params)
Description copied from interface: DataImportService
Given the currently loggedInUser and import params this method does some basic validation of the input. This method returns quickly. It does *not* parse the entire XML file. It can be used to check that the user has entered all the required input correctly for the front-end.

In particular this method checks if the user has systemadmin permission. If this method is called from Setup (as indicated by the DataImportParams) the permission check is skipped. Further it will validate that the import xml file exists and verify that the license is valid (if one was provided).

Specified by:
validateImport in interface DataImportService
Parameters:
loggedInUser - The currently logged in user (may be null during setup)
params - The DataImportParams contain information provided by the user during import or setup
Returns:
A validation result with the input as well as any errors.

doImport

public DataImportService.ImportResult doImport(com.atlassian.crowd.embedded.api.User loggedInUser,
                                               DataImportService.ImportValidationResult result,
                                               TaskProgressSink taskProgressSink)
Description copied from interface: DataImportService
Performs the actual import given a valid validation result. This method is slow! It performs the majority of the tasks outlined in the interface definition. Note that the method will be sped up by setting the system property jira.dangermode to "true" BUT WARNING, if you do this and the import fails, JIRA may be left in an unusable state which is why this method is only provided for speeding up import operations in the context of automated testing.

Specified by:
doImport in interface DataImportService
Parameters:
loggedInUser - The currently logged in user (may be null during setup)
result - A valid validation result containing the DataImportParams provided
taskProgressSink - A task progress counter that can be used to indicate how much longer the import has to go. if no progress needs to be recorded simply provide a TaskProgressSink.NULL_SINK
Returns:
The import result potentially containing an errorcollection and more specific overall error result


Copyright © 2002-2013 Atlassian. All Rights Reserved.