com.atlassian.jira.bc.dataimport
Interface DataImportService

All Known Implementing Classes:
DefaultDataImportService

public interface DataImportService

Performs an XML import used both during setup and xml restore. XML import is an action only system administrators can perform.

This service is responsible for performing some basic validation of the input as well as more advanced validation of the actual data provided. An import consists of the following steps:

Since:
v4.4

Nested Class Summary
static class DataImportService.ImportError
          Returned by the DataImportService.ImportResult from a call to doImport(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.bc.dataimport.DataImportService.ImportValidationResult, TaskProgressSink)
static class DataImportService.ImportResult
          Represents the result of performing an import.
static class DataImportService.ImportValidationResult
          An import validation result returned by the validateImport(com.atlassian.crowd.embedded.api.User, DataImportParams) method.
 
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.
 

Method Detail

validateImport

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. 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).

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

DataImportService.ImportResult doImport(com.atlassian.crowd.embedded.api.User loggedInUser,
                                        DataImportService.ImportValidationResult result,
                                        TaskProgressSink taskProgressSink)
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.

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.