@PublicApi public class

CustomFieldMapper

extends AbstractMapper
implements ProjectImportIdMapper
java.lang.Object
   ↳ com.atlassian.jira.imports.project.mapper.AbstractMapper
     ↳ com.atlassian.jira.imports.project.mapper.CustomFieldMapper

@PublicApi

This class is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Mapper for Custom Fields. This Mapper collects information about which custom fields are "in-use" in the backup projects data. The mapper also records what the issue type is for the issue's which contain the custom field data.

Summary

Public Constructors
CustomFieldMapper()
Public Methods
boolean equals(Object o)
void flagIssueTypeInUse(String oldIssueId, String oldIssueTypeId)
This method is called when we parse the entities.
void flagValueAsRequired(String oldCustomFieldId, String oldIssueId)
This method is called when we parse the entities.
String getIssueTypeForIssue(String issueId)
Get the issue type in use for the provided issue id.
Collection getIssueTypeIdsForRequiredCustomField(String customFieldId)
Will return a collection of issue type ids that are in use on issues that have values for the specified custom field id.
int hashCode()
void ignoreCustomField(String customFieldId)
boolean isIgnoredCustomField(String customFieldId)
void registerIssueTypesInUse()
Associates issue types to custom fields.
void registerOldValue(String oldId, String oldKey)
This is an internal method for use by Mappers extending AbstractMapper and should not be called from other classes.
String toString()
[Expand]
Inherited Methods
From class com.atlassian.jira.imports.project.mapper.AbstractMapper
From class java.lang.Object
From interface com.atlassian.jira.imports.project.mapper.ProjectImportIdMapper

Public Constructors

public CustomFieldMapper ()

Public Methods

public boolean equals (Object o)

public void flagIssueTypeInUse (String oldIssueId, String oldIssueTypeId)

This method is called when we parse the entities. It simply populates the issueToIssueTypeCache for the registerIssueTypesInUse() method.

Parameters
oldIssueId The old issue ID from the backup XML.
oldIssueTypeId The old issue type ID from the backup XML.

public void flagValueAsRequired (String oldCustomFieldId, String oldIssueId)

This method is called when we parse the entities. At this stage, we don't know what Issue Type the issue is, so we temporarily store a mapping of Issue IDs -> Custom Fields. Once the whole parse is done, the registerIssueTypesInUse() method should be called to associate issuetypes to custom fields.

Parameters
oldCustomFieldId The old CustomFieldId from the backup XML.
oldIssueId The old issue ID from the backup XML.

public String getIssueTypeForIssue (String issueId)

Get the issue type in use for the provided issue id.

Parameters
issueId the issue id whose issue type you want to find
Returns
  • the "old" issue type id that is in use by the issue in the backup data, null if the issue type has not been flagged as in use by a custom field value.

public Collection getIssueTypeIdsForRequiredCustomField (String customFieldId)

Will return a collection of issue type ids that are in use on issues that have values for the specified custom field id.

Parameters
customFieldId the custom field id
Returns
  • collection of issue type ids that are in use on issues that have values for the specified custom field id

public int hashCode ()

public void ignoreCustomField (String customFieldId)

public boolean isIgnoredCustomField (String customFieldId)

public void registerIssueTypesInUse ()

Associates issue types to custom fields. This should be called after the parse of all entities is done to give all the custom field values (there may be more than just entities) a chance to register themselves.

public void registerOldValue (String oldId, String oldKey)

This is an internal method for use by Mappers extending AbstractMapper and should not be called from other classes. MapperHandlers should call the public method specific to the concrete class they use.

Parameters
oldId The ID of the required object from the import file.
oldKey The unique key of the required object from the import file.

public String toString ()