com.atlassian.jira.imports.project.customfield
Class UserCustomFieldImporter

java.lang.Object
  extended by com.atlassian.jira.imports.project.customfield.UserCustomFieldImporter
All Implemented Interfaces:
ProjectCustomFieldImporter

public class UserCustomFieldImporter
extends java.lang.Object
implements ProjectCustomFieldImporter

Implementation of ProjectCustomFieldImporter for custom fields that store usernames.

Since:
v3.13

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.imports.project.customfield.ProjectCustomFieldImporter
ProjectCustomFieldImporter.MappedCustomFieldValue
 
Constructor Summary
UserCustomFieldImporter()
           
 
Method Summary
 MessageSet canMapImportValue(ProjectImportMapper projectImportMapper, ExternalCustomFieldValue customFieldValue, FieldConfig fieldConfig, I18nHelper i18n)
          The custom field needs to determine if the provided custom field value, in the context of the config and project import mapper, is a valid value that can be imported.
 ProjectCustomFieldImporter.MappedCustomFieldValue getMappedImportValue(ProjectImportMapper projectImportMapper, ExternalCustomFieldValue customFieldValue, FieldConfig fieldConfig)
          The custom field needs to determine what the "mapped" value will be for the provided custom field value and return this new string representation of the value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UserCustomFieldImporter

public UserCustomFieldImporter()
Method Detail

canMapImportValue

public MessageSet canMapImportValue(ProjectImportMapper projectImportMapper,
                                    ExternalCustomFieldValue customFieldValue,
                                    FieldConfig fieldConfig,
                                    I18nHelper i18n)
Description copied from interface: ProjectCustomFieldImporter
The custom field needs to determine if the provided custom field value, in the context of the config and project import mapper, is a valid value that can be imported.

The implementation has two ways to report dependencies:

Because these two ways of creating messages will be shown in different contexts, it is valid for a Custom Field developer to choose to report a single problem both ways.

If this method does not return any errors in the MessageSet, and any objects marked as required can be mapped in the new system, then it is safe to do the import and call the ProjectCustomFieldImporter.getMappedImportValue(com.atlassian.jira.imports.project.mapper.ProjectImportMapper, com.atlassian.jira.imports.project.customfield.ExternalCustomFieldValue, com.atlassian.jira.issue.fields.config.FieldConfig) method.

It is valid for implementors of this method to return null, and this will be treated the same as an empty MessageSet.

Specified by:
canMapImportValue in interface ProjectCustomFieldImporter
Parameters:
projectImportMapper - contains a fully populated and validated ProjectImportMapper which contains system mappings that the custom fields can use to determine if the value is one that they can map.
customFieldValue - the Object representation of the stored custom field value.
fieldConfig - the relevant FieldConfig that the custom field value is in use with. This will allow the custom field to lookup any relevant options that it may have configured.
i18n - an i18nHelper setup from the custom fields configuration that can be used to i18n error and warning messages.
Returns:
a MessageSet that will contain any errors or warnings that the custom field wants to report, in an i18n'ed form. Errors returned in the MessageSet will cause the project import to stop.

getMappedImportValue

public ProjectCustomFieldImporter.MappedCustomFieldValue getMappedImportValue(ProjectImportMapper projectImportMapper,
                                                                              ExternalCustomFieldValue customFieldValue,
                                                                              FieldConfig fieldConfig)
Description copied from interface: ProjectCustomFieldImporter
The custom field needs to determine what the "mapped" value will be for the provided custom field value and return this new string representation of the value. This value may come from the passed in project import mapper, it may come from mapping custom field options, or may come from an external system.

Specified by:
getMappedImportValue in interface ProjectCustomFieldImporter
Parameters:
projectImportMapper - contains a fully populated and validated ProjectImportMapper which contains system mappings that the custom fields can use to determine if the value is one that they can map.
customFieldValue - the Object representation of the stored custom field value.
fieldConfig - the relevant FieldConfig that the custom field value is in use with. This will allow the custom field to lookup any relevant options that it may have configured.
Returns:
the Object representation of the valid mapped value (and possibly parentKey value) for the passed in custom field value.


Copyright © 2002-2010 Atlassian. All Rights Reserved.